Commit Graph

56 Commits

Author SHA1 Message Date
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
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 e81e145c15 Prefer Objects to GC as label 2008-10-09 02:13:40 +01:00
Lourens Naude a9fea270f5 Better GC stats 2008-10-09 02:01:57 +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
Lourens Naude 85141abf09 Validate async queries 2008-10-02 01:56:10 +01:00
oldmoe c186184809 extconf fix 2008-09-10 22:42:11 +02: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 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 f077108a69 Introduce configureable query overheads and contexts in the test wrapper in preparation for timeout tests. 2008-09-08 17:45:00 +01: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
Roger Pack b9285dbcb7 Merge branch 'master' of git@github.com:oldmoe/mysqlplus 2008-09-08 09:46:05 -06: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 26202b3ddb Assume blank password 2008-09-06 17:21:36 +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
Roger Pack e79b6291a3 overcome merge conflict 2008-09-05 20:16:08 -06:00
Roger Pack c4df361449 rename all hashes to all_hashes_experimental, revert each_hash to its previous behavior 2008-09-05 20:13:46 -06: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 dd4a5d8f4b Merge branch 'master' of git@github.com:oldmoe/mysqlplus 2008-09-06 00:57:20 +01:00
Lourens Naude 91d9096b14 Extract base klasses for cleaner implementation testing; DRY up existing threaded && evented tests 2008-09-06 00:54:48 +01: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
Roger Pack 866f4cfa3e add Lourens to contrib 2008-09-05 13:54:28 -06:00
Lourens Naude 58d416e929 Experimental build && test tasks 2008-09-05 18:23:47 +01:00
oldmoe 02e8481161 all_hashes now returns an empty array on empty results 2008-09-05 05:59:33 +02:00
oldmoe 4108162bbb updated gemspec to reflect the makefile removal 2008-09-05 05:56:40 +02:00
oldmoe 7aed51b58f remove makefile 2008-09-05 05:51:25 +02:00
oldmoe 62f58cf2c3 remove makefile 2008-09-05 05:50:27 +02:00
Roger Pack a610530d36 demo file for the Result#all_hashes method 2008-09-02 11:19:04 -06: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
Roger Pack 266ef93d28 add all hashes method--the speed is good about 0.58 versus 0.68 if you do it the old Ruby way 2008-08-29 18:02:50 -06:00
Roger Pack b9e2abaa70 add a free to the use_result example test 2008-08-29 12:26:59 -06:00
Roger Pack 7a0ecc3497 add in a test showing how to use async with mysql.use_result 2008-08-29 12:24:37 -06:00
Roger Pack e1556447a5 simplified mac os x instructions 2008-08-29 12:22:52 -06:00
Roger Pack 8808e9315a add tomita masahiro to the credits, one more OS X build example 2008-08-28 10:32:41 -06:00
oldmoe cea81b2718 Crediting 2008-08-27 17:41:18 -07:00
Aman Gupta de6a01f297 store references to IO objects to prevent "Bad file descriptor - (Errno::EBADF)" 2008-08-27 16:11:58 -07:00