An enhanced mysql driver with an async interface, threaded access support, and encoding awareness for Ruby 1.9
Go to file
2010-07-03 23:01:44 -04:00
ext Determine mysql config (from original branch) 2010-07-03 23:01:44 -04:00
lib allow the gem to compile, also ensure it requires our version of mysql.so 2009-05-13 00:23:47 +00:00
test add some notes to the tests 2009-04-21 15:08:40 +00:00
mysqlplus.gemspec gemspec now compatible with bundler 2010-05-18 15:47:53 +02:00
Rakefile Experimental build && test tasks 2008-09-05 18:23:47 +01:00
README Added Encoding awareness for Ruby 1.9. Convert all data to default external encoding 2010-07-03 22:28:24 -04:00
TODO_LIST add some comments to the C code. take out come compiler warnings, add some notes. 2009-04-21 02:54:29 +00:00

== MySQLPlus

An enhanced MySQL database driver. With support for async operations and threaded database access.

Added Encoding awareness for Ruby 1.9.  Convert all data to default external encoding

== Building

  gem build mysqlplus.gemspec

  on OSX with the default mysql installed:

    sudo gem install mysqlplus-0.1.0.gem -- --with-mysql-config

  on OSX, with mysql installed by macports:

    sudo gem install mysqlplus-0.1.0.gem -- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config

  on OSX, with x86 mysql (NOT x86_64!) installed from mysql.com:

    sudo env ARCHFLAGS="-arch i386" gem install mysqlplus-0.1.0.gem -- \
      --with-mysql-dir=/usr/local/mysql \
      --with-mysql-lib=/usr/local/mysql/lib \
      --with-mysql-include=/usr/local/mysql/include
== Using
  to use within rails
  add require 'mysqlplus' to the top of environment.rb
  this instantiates the Mysql class that you can use.
  and it will automagically use async_query instead of query, so it's a drop in replacement.

  Same with other scripts that want to use it--just require 'mysqlplus' BEFORE you require 'mysql' and it will 
  load the asynchronous version, then ignore the sequent require 'mysql' call.

== Other helpful mysql utilities:
  slim attributes http://slim-attributes.rubyforge.org/ boosts mysql speed by using arrays instead of hashed lookup.
  Hash extension gem also results in speedups when used: http://blog.chak.org/2008/02/09/speeding-up-activerecord-with-hashes-take-2/

=== Credits

Aman Gupta, for help in threading support and improved tests
Tomita Masahiro--since this is a fork of his already excellent mysql lib [http://www.tmtm.org/en/mysql/ruby].
Roger Pack, for helping in the file descriptor hunt :)
Lourens Naude for 1.9 integration help.

=== License
Ruby License, http://www.ruby-lang.org/en/LICENSE.txt.

== Mailing list
http://groups.google.com/group/never-block?hl=en