Commit Graph

373 Commits

Author SHA1 Message Date
Lourens Naudé d9153b82fc Save on coercion overhead for zero value decimal and float column values 2010-08-11 11:25:20 -07:00
Lourens Naudé c808e78028 Intern error_number= && sql_state= as well 2010-08-11 11:25:20 -07:00
Lourens Naudé c5d9b7ff65 Introduce test case for Mysql2::Client in multi-threaded environments 2010-08-11 11:25:20 -07:00
Lourens Naudé 9f19b958b0 Add a threaded example as well 2010-08-11 11:25:20 -07:00
Lourens Naudé 9a63a587c0 Declare the selector function pointer as per ISO C90 spec + address brian's concern / comment re. rb_thread_alone() 2010-08-11 11:25:20 -07:00
Lourens Naudé 0190457dbd Skip rb_thread_select overhead if we're running in single threaded mode 2010-08-11 11:25:20 -07:00
Lourens Naudé 80810f7e43 Extract a GET_CLIENT mactro to cleanup inline Data_Get_Struct etc. on methods that require client access 2010-08-11 11:25:20 -07:00
Lourens Naudé f601c3cef8 Skip additional string length access in rb_mysql_client_escape and benchmark escaping "clean" strings as well 2010-08-11 11:25:20 -07:00
Lourens Naudé 931765ee05 Extract a GET_ENCODING macro 2010-08-11 11:25:20 -07:00
Lourens Naudé e250e337cf Define rake tasks for running benchmarks 2010-08-11 11:25:20 -07:00
Lourens Naudé b15ddc4f75 Let spec be the default rake task 2010-08-11 11:24:45 -07:00
Luis Lavena db64470831 Quick hack from mysql gem.
Added vendored MySQL.
2010-08-12 02:19:24 +08:00
Luis Lavena 5fb043b4da Require a newer rake-compiler for cross-compilation. 2010-08-12 02:19:14 +08:00
Luis Lavena 4c27a1e4fc extconf detect properly mingw. 2010-08-12 02:19:04 +08:00
Brian Lopez 254f42f502 no need for AR specs since the adapter was moved to Rails core 2010-08-09 22:11:47 -07:00
Brian Lopez 0bab31a61f mysql2 adapter moved into AR3 core 2010-08-09 14:52:45 -07:00
Brian Lopez 5a9ca9c76f app_timezone defaults to nil 2010-08-09 14:50:58 -07:00
Brian Lopez c3c5c8f85a update gemspec now that the Sequel adapter is gone 2010-08-06 17:05:53 -07:00
Brian Lopez 7bf9889103 remove Sequel adapter as it's now in Sequel core :) 2010-08-06 12:47:25 -07:00
Brian Lopez b448b98146 move -Wextra to development flags area 2010-08-06 11:19:34 -07:00
Brian Lopez 2527454b26 update AR adapter to reflect timezone setting update 2010-08-06 00:01:24 -07:00
Brian Lopez 99af726a58 application_timezone is allowed to be nil 2010-08-06 00:01:09 -07:00
Brian Lopez 957b0bac1b default application_timezone to nil 2010-08-05 23:09:13 -07:00
Brian Lopez f4fb9e8034 sync up with sequel adapter from my Sequel fork until it's officially merged in 2010-08-05 22:53:36 -07:00
Brian Lopez ad34357e57 convert :timezone option into two new ones
:database_timezone - the timezone (:utc or :local) Mysql2 will assume time/datetime fields are stored in the db. This modifies what initial timezone your Time objects will be in when creating them from libmysql in C
and
:application_timezone - the timezone (:utc or :local) you'd finally like the Time objects converted to before you get them
2010-08-05 22:50:45 -07:00
Brian Lopez 1bdf44ce7f can't call literal here because it'll try to join it's own thread 2010-08-05 01:20:42 -07:00
Brian Lopez 04932b549b Mysql2::Client uses the :username key, set it to :user if that was used instead 2010-08-05 01:20:15 -07:00
Brian Lopez 93fabe2b24 heh 2010-08-05 00:45:56 -07:00
Brian Lopez 86302eb1f1 fix typo in comment 2010-08-05 00:45:33 -07:00
Brian Lopez d1b2f98b7c major refactor of Sequel adapter - it's now green in Sequel 2010-08-05 00:44:01 -07:00
Brian Lopez 2514fafa53 add :cast_booleans option for automatically casting tinyint(1) fields into true/false for ruby 2010-08-05 00:39:11 -07:00
Brian Lopez 12c022c8aa move most previously global symbols to static to prevent conflicts (thanks for catching this Eric) 2010-08-04 19:32:14 -07:00
Brian Lopez 2bb8721e84 respect :symbolize_keys option for Mysql2::Result#fields if it's called before the first row is built 2010-08-04 00:54:05 -07:00
Brian Lopez 923393351a initialize @active early on to prevent warnings later 2010-08-03 20:45:00 -07:00
Brian Lopez c0cf2f13a0 let's try that again - libmysql only allows one query be sent at a time per connection, bail early if that's attempted 2010-08-03 20:37:49 -07:00
Brian Lopez 1a70e83a74 Revert "libmysql only allows one query be sent at a time per connection, bail early if that's attempted"
This reverts commit 3ff7baa5f8.
2010-08-03 20:22:44 -07:00
Brian Lopez 3ff7baa5f8 libmysql only allows one query be sent at a time per connection, bail early if that's attempted 2010-08-03 20:21:51 -07:00
Brian Lopez 94ae2a781d no need to carry over options twice as we're already doing it up in rb_mysql_client_async_result 2010-08-03 19:04:30 -07:00
Brian Lopez 5f81996122 fixes for 1.9 2010-08-02 02:07:11 -07:00
Brian Lopez 9756a3f410 fix typo 2010-08-02 01:43:25 -07:00
Brian Lopez 074885cca1 cleanup in AR adapter 2010-08-02 01:26:15 -07:00
Brian Lopez 00ab233606 remove performance overrides of select_one, select_value, and select_values in the AR adapter for now 2010-08-02 01:26:04 -07:00
Brian Lopez 1086233cc3 bugfix for how arel resolves compiler paths 2010-08-02 01:21:09 -07:00
Brian Lopez fc6c24a20c add support for configuring which timezone Time objects should be created in 2010-08-02 01:20:03 -07:00
Brian Lopez f3151db928 update gemspec to include client.c/h 2010-08-01 23:18:38 -07:00
Brian Lopez a9e2fbcc78 update readme to reflect recent API changes 2010-08-01 22:05:11 -07:00
Brian Lopez 6142336e59 use a default (year 2000) for TIME field casting to a Time object, like AR does 2010-08-01 20:23:27 -07:00
Brian Lopez 36c243be71 Add cascading options hash at Mysql2::Client.default_query_options, which can be overridden by passing options to Mysql2::Client#query and/or Mysql2::Result#each
Tune up specs, benchmarks and AR adapter to conform
2010-08-01 20:20:48 -07:00
Brian Lopez c6230c3cec pluck out Mysql2::Client definition into it's own c/h file 2010-07-29 23:25:15 -07:00
Brian Lopez 8a642a3505 ignore pre-compiled scripts from rbx 2010-07-29 23:24:09 -07:00