Commit Graph

583 Commits

Author SHA1 Message Date
brianc
bbe704b8db merged master 2011-03-04 19:32:54 +00:00
brianc
1cd1721f7f integration notification tests 2011-03-04 19:30:19 +00:00
brianc
749531f597 notification message 2011-03-03 23:20:47 -06:00
brianc
13a5803aac Merge branch 'master' into libpq 2011-03-03 22:45:00 -06:00
brianc
ec158770f5 client emits notify message from connection 2011-03-03 22:44:31 -06:00
brianc
5459773b90 properly emit notice messages on client 2011-03-03 23:30:17 +00:00
brianc
7f582a5811 more tests passing 2011-03-03 18:46:24 +00:00
brianc
0b97f699c5 merge master into topic 2011-03-03 18:31:20 +00:00
brianc
d38ea0131f passing more tests 2011-03-03 18:29:00 +00:00
brianc
7e2f713af3 running all client integration tests against native client - many failures 2011-03-03 18:21:43 +00:00
brianc
b6c3f7d478 remove unused 'net' reference 2011-03-03 18:10:17 +00:00
brianc
bfaefce930 remove unused 'sys' reference 2011-03-03 18:09:47 +00:00
brianc
7f5f554503 js client emits 'connect' event 2011-03-03 18:07:22 +00:00
brianc
08eddd26e2 make type coercion a part of the api 2011-03-03 18:05:29 +00:00
Alexander Sulfrian
acdd726a29 fixed merge error 2011-03-03 08:19:07 +01:00
brianc
8a6725688f begin to clean up string type conversions 2011-03-02 23:28:17 -06:00
Alexander Sulfrian
67cb9f8196 Merge remote branch 'upstream/master'
Conflicts:
	lib/query.js
2011-03-02 14:21:33 +01:00
Alexander Sulfrian
c731cd2844 added support for bigint array type 2011-03-02 14:12:53 +01:00
bmc
b76ced7144 begin type coercion for libpq 2011-03-01 21:03:51 +00:00
bmc
c0ef5296c6 support for connecting via domain socket 2011-03-01 20:35:14 +00:00
bmc
d5bd9c904a defaults changed to be more in line with libpq defaults 2011-03-01 20:13:04 +00:00
bmc
47591d677b callback api working 2011-03-01 19:51:25 +00:00
brianc
ded6c05ed6 callback api failures 2011-02-28 23:09:09 -06:00
brianc
3594ab5185 quick support for integer parameters 2011-02-28 22:57:29 -06:00
brianc
567446e090 error tests 2011-02-24 22:06:19 -06:00
brianc
cc2ff042ef failing test for parameterized queries 2011-02-24 21:33:54 -06:00
brianc
ca9b3cb2cd can pass config object to native query 2011-02-23 22:41:54 -06:00
Brian Carlson
c321151325 cleaned up file structure & improved evented query api compat 2011-02-23 20:02:51 -06:00
Brian Carlson
6a2adc1feb more api compat 2011-02-23 19:40:52 -06:00
Brian Carlson
7d05daaf2c removed some globals from tests 2011-02-23 19:50:43 -06:00
brianc
b9296c54e2 remove debug logging 2011-02-22 23:55:00 -06:00
brianc
ce56fb6453 beginning of js Client compatible api 2011-02-22 23:52:25 -06:00
brianc
55041fffc7 got building with new file structure 2011-02-20 16:41:32 -06:00
brianc
643164d2f0 some cleanup on the initial spike 2011-02-20 16:12:06 -06:00
Brian Carlson
0f0f59c12f initial experiment with libpq bindings 2011-02-18 11:38:47 -06:00
Alexander Sulfrian
796b8dfadc added option for using the binary format 2011-02-14 16:42:04 +01:00
Alexander Sulfrian
a9e40a2d7d fix typo 2011-02-14 16:41:27 +01:00
Alexander Sulfrian
a0be34da39 corrected typo 2011-02-07 12:46:08 +01:00
brianc
039c394cb1 make pulseQueryQueue explicitly private 2011-02-04 20:07:59 -06:00
brianc
4724444e3d move parseConnectionString utility function into utils 2011-02-04 20:06:52 -06:00
brianc
5496f3199e remove net.Stream references from client 2011-02-04 20:05:02 -06:00
brianc
0732ee215f readability refactoring 2011-02-04 20:03:41 -06:00
brianc
84e452e221 style cleanup 2011-02-04 19:45:30 -06:00
brianc
a5fce8eb7b query events for prepared statements are handled by client 2011-02-04 19:30:30 -06:00
brianc
99093b34c8 query events handled by client in simple query scenario 2011-02-04 19:15:57 -06:00
brianc
daa370a610 move some query listener delegation to client 2011-02-04 19:03:23 -06:00
brianc
426f30a962 started making listeners non-closure based 2011-02-04 18:51:34 -06:00
brianc
cb647935bb slight readability refactor 2011-02-04 18:51:23 -06:00
Alexander Sulfrian
88724805df removed debug 2011-02-01 02:23:21 +01:00
Alexander Sulfrian
5b3c501d74 use config 2011-02-01 02:21:45 +01:00
Alexander Sulfrian
df326ec97c fixed bool parsing 2011-02-01 02:20:44 +01:00
Alexander Sulfrian
96caba59d2 fixed off by one 2011-02-01 02:20:20 +01:00
Alexander Sulfrian
0d36ce0799 added numeric parser, modularized parsers 2011-01-29 13:58:18 +01:00
Alexander Sulfrian
fec176e23b fixed typo 2011-01-29 01:33:57 +01:00
Alexander Sulfrian
fa35c13658 Merge remote branch 'upstream/master'
Conflicts:
	lib/query.js
2011-01-29 01:19:33 +01:00
Alexander Sulfrian
01e0fb1b92 added microseconds to date 2011-01-28 18:16:12 +01:00
Alexander Sulfrian
b98994ae39 removed debug output 2011-01-28 18:06:37 +01:00
Alexander Sulfrian
37e958f779 added arrayParser 2011-01-28 18:06:05 +01:00
Alexander Sulfrian
d5538816ef added date parsing 2011-01-27 21:11:42 +01:00
Brian Carlson
ab76f648b8 removed last Buffer.copy from outgoing packet construction 2011-01-27 09:40:07 -06:00
Alexander Sulfrian
1e6124746c conversion pg text to binary protocol started 2011-01-27 15:10:45 +01:00
Brian Carlson
2029248dbe edge case millisecond parsing fixed 2011-01-23 23:58:03 -06:00
Brian Carlson
75b369f25a minor readability 2011-01-23 21:48:52 -06:00
Brian Carlson
fb4314fa00 refactorings, tweaks, and minor fixes to query 2011-01-23 19:01:28 -06:00
Brian Carlson
79c5faf547 first pass at array type conversion 2011-01-21 16:53:24 -06:00
brianc
56ba2567ce result of query contains metadata about query execution 2011-01-19 00:35:32 -06:00
Brian Carlson
31b5f82ad0 initial implementation of providing command execution results 2011-01-18 23:03:24 -06:00
Brian Carlson
1aee4786a0 added result object 2011-01-18 22:39:07 -06:00
Brian Carlson
227d1a8749 query callback fired only once regardless of number of commandComplete messages recieved from backend 2011-01-18 22:23:03 -06:00
Brian Carlson
c93b76fb15 support adding header packet to remove final buffer.copy call 2011-01-14 15:19:10 -06:00
Brian Carlson
3500154d2a writer's buffer resize no longer dies when item byteLength > 2x buffer length 2011-01-14 14:52:16 -06:00
Darwin
7fcfbd8bb0 . 2011-01-08 16:41:48 +01:00
Darwin
a268711616 fix for bug, it has to do with how postgresql presents milisec.. it excludes the traling zeros. 2011-01-08 16:36:10 +01:00
brianc
f13b0ba35c using same writer reference to improve performance 2011-01-01 12:40:45 -06:00
brianc
eb3e4ca3ab writer#addString 2011-01-01 12:36:26 -06:00
brianc
99086cf4bf Writer#flush 2011-01-01 11:51:33 -06:00
brianc
222fbffcfd writer#clear method 2011-01-01 11:33:50 -06:00
brianc
bf32d9520c internally change name from elasticbuffer to writer 2011-01-01 11:30:04 -06:00
brianc
0458e8981f swap writer for elasticbuffer for performance 2011-01-01 11:27:52 -06:00
brianc
66add6defc shortcut the join method for single buffer writers 2010-12-29 19:04:33 -06:00
brianc
51d922f3e1 a connection string without all settings no longer causes client
constructor to throw error
2010-12-28 10:44:33 -06:00
Julian Birch
31cf38c576 Added vim swap files to the .gitignore 2010-12-19 09:42:34 +00:00
Julian Birch
721cf56eb3 Rows are now associative arrays rather than straight arrays. 2010-12-19 09:41:11 +00:00
Brian Carlson
55f84924f2 query errors passed to a query callback function are considered handled 2010-12-16 23:50:36 -06:00
Brian Carlson
e6e643ac6d commented out logging statements 2010-12-14 21:21:28 -06:00
Brian Carlson
6ef45e84fe removed test exception 2010-12-13 23:28:30 -06:00
Brian Carlson
1c8c8c971e remove row.js file (not used as of now) 2010-12-13 17:24:23 -06:00
Brian Carlson
0e03b875af remove references to unused 'row' object 2010-12-13 17:24:05 -06:00
Brian Carlson
b3e56afea2 initial working connection pool implementation & tests 2010-12-13 17:21:40 -06:00
Brian Carlson
0d7936f7ae removing connection pooling until it is finished and tested 2010-12-13 10:35:54 -06:00
Darwin
0249d60604 fixed bug related to parseInt bug, leading 0 is interpreated in a fucked upp way 2010-12-11 12:03:29 +01:00
Brian Carlson
ab13d0c1eb initial crack at connection pooling -- still dirty 2010-12-10 17:32:34 -06:00
Brian Carlson
5a87972983 remove active query reference when client drains 2010-12-10 16:56:10 -06:00
Brian Carlson
169c6dc3ce Pool object for use in connection pooling 2010-12-09 18:10:42 -06:00
Brian Carlson
f0291d30d7 nested query and streamlined api working 2010-12-02 17:47:54 -06:00
Brian Carlson
8d7ff353af fix to allow executing queries within the callback function of another query.
there was a timing issue with emiting the drain event
2010-11-21 23:30:10 -06:00
Brian Carlson
9c33571853 removed some unused variables in client 2010-11-20 14:23:48 -06:00
Brian Carlson
de5438e6f5 started working on specifying defaults 2010-11-20 14:09:18 -06:00
Brian Carlson
0bde640bab overloaded "simple" query api to provide callback enabled prepared statement 2010-11-15 00:42:38 -06:00
Brian Carlson
91aac6d350 initial callback api integration underway 2010-11-15 00:10:21 -06:00
Brian Carlson
f8096cbe55 initial work on streamlined client interface 2010-11-14 23:04:41 -06:00
Brian Carlson
ebf5c5c4ed support for limiting number of rows returned at a time from a cursor 2010-11-14 17:53:49 -06:00
Brian Carlson
e61ec5dfed unit test for portal suspended 2010-11-14 17:44:36 -06:00
Brian Carlson
6585f85d03 query object now emits query related errors, client object no longer
emits query related errors
2010-11-14 16:50:38 -06:00
brianc
d77fd0ee65 ability to init connection with url instead of config object 2010-11-10 21:45:39 -06:00
brianc
95ee9e645c query now returns named records in rows 2010-11-04 00:21:29 -05:00
brianc
2efe451ee6 added Row object instead of returning raw dataRow object w/ coerced types 2010-11-03 23:06:07 -05:00
brianc
8ec671a67c added test & fix for missing 'sys' require in query.js 2010-11-03 16:47:26 -05:00
brianc
d2e3dfb647 split query out from client file and did minor refactorings 2010-11-03 00:27:11 -05:00
brianc
7ce1ddeab5 small refactorings 2010-11-02 23:46:13 -05:00
brianc
1b9ccf97e9 reduced number of flush messages during prepared statement, 2x performance 2010-11-02 03:29:11 -05:00
brianc
381598d3c0 date type coercion works in both directions 2010-11-02 00:50:42 -05:00
brianc
2c362250b3 use regex for date part parse 2010-11-02 00:46:29 -05:00
brianc
6841178ca2 modified tests to correctly check for adjusted utc values 2010-11-02 00:23:39 -05:00
brianc
0c777fafec fix for strang \0 buffer encoding issue in node v0.3.0 2010-11-01 22:11:40 -04:00
brianc
07010389ff basic (ugly) date type coercion tests 2010-11-01 00:27:06 -05:00
brianc
074779b5ff initial work on dates 2010-11-01 00:27:05 -05:00
brianc
0f926ca62e refactored to increase performance 2010-10-31 18:36:35 -05:00
brianc
0d2d6b5107 Moved buffer list to test directory and replaced w/ slightly cleaner
"writer" for use in the library code.  BufferList was always supposed
to be a test helper and the api is trash
2010-10-31 18:21:37 -05:00
brianc
2454d6b355 a bit of code cleanup 2010-10-31 17:58:32 -05:00
brianc
6764af30eb sped up parser ~70% (http://jsperf.com/case-v-method) 2010-10-31 17:46:33 -05:00
brianc
75da13a4b9 removed id from connection messages (simplify API) 2010-10-31 17:30:35 -05:00
brianc
405fbbec12 nulls supported in all currently supported type coercions 2010-10-30 21:10:26 -05:00
Paul Collier
f5528fa7ed propagate connection stream errors 2010-10-30 18:23:54 -07:00
bmc
cafded964e support for 'emptyQuery' command 2010-10-29 21:33:53 -04:00
bmc
577f48f824 added 'drain' event to client which fires after all pending queries
are done
2010-10-29 20:48:31 -04:00
brianc
d38a7f5ed7 added tests to support noData & extra query scenarios but currently
failing...ignoring for now
2010-10-29 00:46:08 -05:00
brianc
f63659cbc5 parsing noData message 2010-10-29 00:02:08 -05:00
brianc
da8026df9d prepared statements moved forward a good deal 2010-10-28 19:09:40 -05:00
brianc
104727fd87 simple prepared statements working! 2010-10-28 00:50:45 -05:00
brianc
c848a5ad92 added support for describe command 2010-10-28 00:27:08 -05:00
brianc
adc8bfa7bf start chopping up client to support prepared statements 2010-10-27 16:58:58 -05:00
brianc
f04ad8e64c boolean coercion 2010-10-27 00:31:34 -05:00
brianc
86d5296fb0 parsing floats 2010-10-27 00:15:58 -05:00
brianc
368724d4f4 integer datatype coercion in result set 2010-10-26 23:57:36 -05:00
brianc
b5d02a995a basic test for client error handling 2010-10-26 08:51:12 -05:00
brianc
c3f69a8be7 add end to client 2010-10-25 17:24:17 -05:00
brianc
80ee829ba0 testing out the query interface 2010-10-24 23:32:18 -05:00
brianc
59aed65b78 tests for simple query queue scenarios 2010-10-24 22:52:12 -05:00
brianc
d927e7e3f5 changed Connection#startupMessage to Connection#startup 2010-10-24 21:28:10 -05:00
brianc
e89aa9c84c changed Connection#passwordMessage to Connection#password 2010-10-24 21:26:18 -05:00
brianc
ec4078d508 renamed 'notificationResponse' to 'notification' for consistency 2010-10-24 14:45:07 -05:00
brianc
ee4a65b923 support for 'notice' messages 2010-10-24 14:43:25 -05:00
brianc
cf211fb1a7 include connection in index 2010-10-24 14:36:35 -05:00
brianc
bcfbb535b8 full support for bind and execute 2010-10-24 13:46:50 -05:00
brianc
c176489348 add type IDs to parse command 2010-10-24 00:18:48 -05:00
brianc
09d8e5d1e7 renamed 'message' to 'payload' 2010-10-23 22:45:03 -05:00
brianc
16352f9156 parsing notificationResponse messages 2010-10-23 22:31:43 -05:00
brianc
3edb02aa67 big refactor, all tests passing 2010-10-23 20:26:24 -05:00
brianc
89ca74c6d1 removed connection methods from client 2010-10-23 19:30:15 -05:00
brianc
ed909cbc66 connection now handles ending 2010-10-23 19:28:57 -05:00
brianc
9749ec4fdc md5 password authentication using connect 2010-10-23 19:21:01 -05:00
brianc
3662e6f4af clear password using connection 2010-10-23 19:02:13 -05:00
brianc
5fdf25c31d tests for separated connection 2010-10-23 17:36:04 -05:00
brianc
e61a04b0ae begin breaking out connection functionality from client functionality 2010-10-23 16:34:20 -05:00
brianc
057df36e2a simple bound queries 2010-10-23 16:21:11 -05:00
brianc
5650b02993 initial work on binding 2010-10-23 15:07:26 -05:00
brianc
95ec1b403c parsing of prepared queries with no parameters 2010-10-23 14:50:28 -05:00
brianc
380abbf6a6 start working on parsing 2010-10-23 14:22:47 -05:00
brianc
bfec84bc15 removed reamining references to query 2010-10-23 14:02:44 -05:00
brianc
37bbb21bce collapsed query into client 2010-10-23 13:58:15 -05:00
brianc
cb7717b5b1 updated integration tests 2010-10-23 13:56:38 -05:00
brianc
bdb4d28038 fixed protocol version 2010-10-23 13:28:14 -05:00
brianc
836240dcd8 code cleanup 2010-10-23 12:46:27 -05:00
brianc
d45c905978 added EventEmitter.once compatibility 2010-10-23 12:45:37 -05:00
brianc
65dbfa43ec renamed Client#disconnect to Client#end 2010-10-22 18:28:10 -05:00
brianc
5b1f8aff3b supporting md5 password authentication 2010-10-22 18:16:40 -05:00
brianc
c41c304c7e code cleanup 2010-10-20 00:36:37 -05:00
brianc
21879edc24 refactoring 2010-10-20 00:34:16 -05:00
brianc
c923ae03a5 don't require parser 2010-10-20 00:21:43 -05:00
brianc
7d627f8d15 combined parser and client 2010-10-20 00:21:13 -05:00
brianc
3fe6661819 refactor sending simple messages 2010-10-19 23:49:55 -05:00
brianc
406e8a56a9 got basic password authentication working 2010-10-19 23:29:23 -05:00
brianc
52a0d0459d start to handle other auth messages 2010-10-19 22:55:26 -05:00
brianc
ec5f1b8831 failing date parsing 2010-10-18 23:35:51 -05:00
brianc
ae40a13daf time/timez parsing 2010-10-18 23:19:17 -05:00
brianc
a05ad762d2 added oid as integer type 2010-10-18 22:42:48 -05:00
brianc
a69d9fecaa parse floats 2010-10-18 22:17:58 -05:00
brianc
bf87006bc3 removed log message 2010-10-18 22:14:51 -05:00
brianc
967ec0f6bb parsing ints 2010-10-18 22:12:26 -05:00
brianc
8cb44e3cf3 substantial refactoring of the parser 2010-10-15 00:24:58 -05:00
brianc
cff48b5b40 removed dead ctor arg 2010-10-13 23:31:19 -05:00
brianc
851e928d38 got spliced packet tests passing 2010-10-13 23:29:20 -05:00
brianc
e4d6b91668 added peekInt32 for peeking at lenght 2010-10-13 22:40:57 -05:00
brianc
deb8aeb319 renamed methods 2010-10-13 22:38:26 -05:00
brianc
39897a16c7 make a single instance of Parser per client 2010-10-13 22:35:14 -05:00
brianc
1786c73565 downcased first character of message names 2010-10-12 22:01:13 -05:00
brianc
2617560fc7 fix for null data row value 2010-10-10 23:38:08 -05:00
brianc
5152cfea14 send correct termination code 2010-10-10 23:05:21 -05:00
brianc
a7c5a81829 adding 'sys' dependency to client.js 2010-10-10 23:02:11 -05:00
brianc
7ba0317878 adding dependency requirement 2010-10-10 23:01:30 -05:00
brianc
08bdd4ccdc query no longer holds circular reference to creator client 2010-10-10 22:44:58 -05:00
brianc
6d4469e391 code cleanup 2010-10-10 22:44:13 -05:00
brianc
5c6f95b427 moved items to their own file 2010-10-10 22:37:30 -05:00
brianc
f7529a235a remove 'constant' lookup object 2010-10-10 22:32:04 -05:00
brianc
390593ba1e removed redundant parser tests 2010-10-10 22:29:16 -05:00
brianc
23d3271aab removed rouge keypress 2010-10-10 19:10:39 -05:00
brianc
5a8061bf5f unrolled loop 2010-10-10 19:09:24 -05:00
brianc
32d6fd4115 removed switch statement 2010-10-10 19:03:44 -05:00
brianc
e69b6faa82 added null terminator (c-string) to query 2010-10-10 18:20:24 -05:00
brianc
f9b5c7b03e parsing error 2010-10-10 18:15:16 -05:00
brianc
b4d1c67eb5 parsing the most simplistic error message 2010-10-10 17:48:27 -05:00
brianc
94811981d6 added test for bad stream reference 2010-10-10 17:30:33 -05:00
brianc
98856f0e9c simple query scenario tested 2010-10-09 02:48:41 -05:00
brianc
d20e47f644 writes simple query 2010-10-08 23:17:09 -05:00
brianc
3925f6fbb0 passes initial query queue tests 2010-10-07 20:00:49 -05:00
brianc
6abac08c6e changed from this.con to this.stream 2010-10-07 19:39:43 -05:00
brianc
3933be9e0d returning query from function 2010-10-07 19:38:27 -05:00
brianc
a3a21c50e4 using passed in stream to client 2010-10-06 19:54:02 -05:00
brianc
0df4f6037c beginnings of actually TDDd query 2010-10-03 01:14:19 -05:00
brianc
891aacce54 connection tests w/ two clients 2010-10-03 01:08:04 -05:00
brianc
730321dbd4 added connection/disconnection tests 2010-10-03 00:45:10 -05:00
brianc
80ed3e7ffe removing working but untested code 2010-10-03 00:31:13 -05:00
brianc
ab0076aa68 can read single data row of text 2010-10-01 01:02:52 -05:00
brianc
5cf151ad7a whitespace 2010-10-01 00:29:16 -05:00
brianc
d2c22afc36 code cleanup 2010-10-01 00:27:42 -05:00
brianc
961f3f1984 added failing test for reading empty row 2010-10-01 00:22:53 -05:00
brianc
1286090ce1 added tests for parsing row definition messages of various lenghts 2010-09-30 23:13:50 -05:00
brianc
012d2a13f5 parsing a single row description 2010-09-30 22:48:50 -05:00
brianc
df88e11a14 refactored tests slightly, working on rowdescription parsing 2010-09-30 01:26:32 -05:00
brianc
1ef03e27a9 work on executing query 2010-09-29 02:46:44 -05:00
brianc
c68c365478 working on getting query to complete 2010-09-29 01:01:52 -05:00
brianc
6ba4575385 parser now parses all messages at once 2010-09-30 00:40:06 -05:00
brianc
8c30521cf9 refactored parsing 2010-09-30 00:27:56 -05:00
brianc
124bd0960e parsing of ready for query 2010-09-30 00:14:41 -05:00
brianc
7c9de7f442 better unsupported message code error message 2010-09-29 23:58:01 -05:00
brianc
19099919f7 a bit of logging for testing purposes 2010-09-29 00:43:28 -05:00
brianc
2c9d26d7f6 refactored parser to be more stateful 2010-09-29 00:30:35 -05:00
brianc
9688d8947f added test for parsing CString 2010-09-29 00:20:10 -05:00
brianc
a921d6c144 made Parser non-static 2010-09-29 00:12:04 -05:00
brianc
a9a9f2e03a parsing of parameterstatus messsage 2010-09-29 00:08:53 -05:00
brianc
94edc2583e better error throw 2010-09-28 23:31:19 -05:00
brianc
18e6ec2121 totally thrashing at this point, but moving forward 2010-09-28 23:18:46 -05:00