Commit Graph

55 Commits

Author SHA1 Message Date
Jeremy Suriel 13bec8bd19 Added Encoding awareness for Ruby 1.9. Convert all data to default external encoding 2010-07-03 22:28:24 -04:00
Roger Pack c5042772b5 add some comments to the C code. take out come compiler warnings, add some notes. 2009-04-21 02:54:29 +00:00
Roger Pack d1433a549e attempt to not blow up on ctrl+c during connect--that might have been a problem 2009-04-21 02:13:24 +00:00
Roger Pack e14c8b9876 share test create db code, add a comment for the rb_thread_blocking_region helper in the C code 2009-04-18 22:55:17 +00:00
Roger Pack f910919ffc take out begins_with_insensitive--never liked that thing, anyway, and turned out to not be the real bug 2009-04-18 22:36:16 +00:00
Roger Pack c235dcdf46 overcome merge conflicts 2009-04-18 22:35:02 +00:00
Roger Pack e4bb045695 overcome a merge conflict which wasn't one 2009-04-18 22:24:31 +00:00
Roger Pack 497be9ca26 Merge branch '19_non_gvl_connect_original' 2009-04-18 22:23:17 +00:00
Roger Pack 98373d7b15 take out the rb gc for now, until I can merge in Lourens' stuff, and also add a test for multiple queries 2009-01-08 06:30:24 +00:00
Roger Pack d2549f3907 remove test output 2008-12-20 23:07:21 +00:00
Roger Pack 9f677c3047 resolve merge conflicts 2008-12-20 23:03:56 +00:00
Hongli Lai (Phusion) dcb1e10c16 Fix various compiler warnings. 2008-11-18 19:23:31 +01:00
Hongli Lai (Phusion) 8a758f77e3 When in Ruby 1.9, release the global interpreter lock while performing a query, so that other threads can still run. 2008-11-18 19:18:51 +01:00
Hongli Lai (Phusion) 1af96063be Fix compilation on Ruby 1.9. 2008-11-18 18:56:40 +01:00
Lourens Naude 79f742908d Use rb_thread_alone exclusively to determine if the query should be Thread scheduled 2008-11-01 17:12:03 +00:00
Roger Pack 8099da577d allow the 19_non_gvl branch to work with 1.8, also fix some warnings 2008-10-31 12:37:00 -06:00
Lourens Naude 57712a64e6 Conditional schedule cleanup 2008-10-31 15:48:28 +00:00
Lourens Naude 4640893f27 Do not schedule in a single threaded environment 2008-10-31 15:09:33 +00:00
Lourens Naude 48a61dd627 Introduce Mysql#idle? && Mysql#busy? as Threaded connection pool helpers for Mysql#c_async_query 2008-10-20 01:46:03 +01:00
Lourens Naude 1af85383eb Applied Roger's async validation patch, with a minimal test case 2008-10-19 23:17:42 +01:00
Lourens Naude 9d66a3b71e Piggy back schedule loop on MYSQL_STATUS_READY 2008-10-19 23:04:33 +01:00
Lourens Naude 35d2545c17 Selective enable || disable GC for result retrieval with Mysql#disable_gc = true|false 2008-10-08 22:11:14 +01:00
Lourens Naude 8e6f300f9d Introduce Mysql#reconnected? 2008-10-08 17:09:47 +01:00
Lourens Naude f57c2a6576 Let #c_async_query support a block syntax that yields the result; ensure async in progress is negated by #get_result 2008-10-08 05:17:01 +01:00
Lourens Naude 4e5967bd24 Do not schedule && retrieve the result if #query_with_result is false 2008-10-06 23:32:43 +01:00
Roger Pack 1404c2bc44 code cleanup, since rb_thread_blocking_region actually returns the value of the function passed to it 2008-10-03 14:11:11 -06:00
Lourens Naude 85141abf09 Validate async queries 2008-10-02 01:56:10 +01:00
Roger Pack a1d10c140b take out some compiler warnings 2008-10-01 16:30:45 -06:00
Roger Pack 4ff863b4f9 code cleanup to avoid warnings 2008-10-01 08:09:55 -06:00
Roger Pack ce962ebc7d add in a function to make real_connect non blocking 2008-09-30 22:35:59 -06:00
Roger Pack ee9cf7c47e overcome another merge conflict 2008-09-30 17:04:06 -06:00
Roger Pack f73ba931ef overcome conflict 2008-09-24 11:01:14 -06:00
Lourens Naude 25a76a4d8b Better performance without the tight loop 2008-09-10 15:02:42 +01:00
Lourens Naude 3c5dd38037 Extract thread scheduler 2008-09-10 01:26:01 +01:00
Lourens Naude 6884d454bc Use TCP_NODELAY if supported; Remove file descriptor ops from the tight loop; Cleanup timeout assignment; Split the threaded test suite in native and c to avoid a large number of active Threads affecting results.Add experimental Mysql#socket_type which typically returns 'socket (x)', but may be helpful for debugging purposes. 2008-09-10 00:33:18 +01:00
Roger Pack 02e265072c update the RB_UBF_DL for more recent versions of Ruby 1.9, which doesn't have it 2008-09-08 12:39:00 -06:00
Roger Pack 16d9c043c2 Merge branch 'master' into 19_full_thread_no_gil 2008-09-08 12:17:20 -06:00
Roger Pack 6c2b9ecb84 Merge branch 'master' of git@github.com:oldmoe/mysqlplus 2008-09-08 12:10:17 -06:00
Roger Pack b1bf771d6f add back in all_hashes method--this time hopefully with the right line lengths 2008-09-08 12:10:12 -06:00
Lourens Naude ea2965270c Decouple native Ruby Mysql#async_query from the C extension as per Roger's suggestion.Remove no-op c_mysql_query flag for evented tests. 2008-09-08 17:27:11 +01:00
Lourens Naude f6f460a542 Implement Mysql#async_query as a tight loop ( 1.8 && 1.9 compatible, evented && threaded tests passing ) 2008-09-08 03:56:59 +01:00
Lourens Naude 55411cd9d4 Introduce Mysql#blocking?; Set the file drescriptor for all new connections to non blocking; Add tests to the existing evented and threaded runs. ( verified 1.8 && 1.9 ) 2008-09-08 01:48:47 +01:00
Lourens Naude 70c58ce67a Allow tests to run with either the native Ruby or C based Mysql#async_query 2008-09-06 17:17:06 +01:00
oldmoe c695d4d842 Merge branch 'master' of git@github.com:oldmoe/mysqlplus 2008-09-06 03:59:41 +02:00
oldmoe 8e1cd8ea20 fix for corrupted utf-8 results 2008-09-06 03:59:20 +02:00
Lourens Naude 951fa1d272 Access the file descriptor directly from the MySQL net structure 2008-09-06 00:01:09 +01:00
Lourens Naude 19b4b10d27 Sneak in optional timeout argument as a stub to the C version of Mysql.send_query 2008-09-05 23:55:00 +01:00
oldmoe 02e8481161 all_hashes now returns an empty array on empty results 2008-09-05 05:59:33 +02:00
Roger Pack 614568269a rename fetch_hashes_array to process_all_hashes 2008-09-02 11:10:49 -06:00
Roger Pack 8cef960b41 also use that code for each_hash--results in 0.641s instead of 0.68s for .each_hash 2008-08-29 18:20:57 -06:00