Commit Graph

434 Commits

Author SHA1 Message Date
brianc
c7774ca0a8 native bindings emit Error objects on all 'error' events 2011-10-03 23:43:28 -05:00
brianc
b728186a7d Merge branch 'master' of https://github.com/brianc/node-postgres 2011-10-03 23:14:09 -05:00
brianc
2835f25e3f make booo's tests pass for the native client 2011-10-03 03:26:50 -05:00
booo
5f7e85162a lib/client: added optional callback function to client.prototype.connect(); issue #52 2011-10-03 03:26:49 -05:00
Homme Zwaagstra
21b597ef17 All errors are now instances of the built in Error class
This is a fix for issue #50. It alters both the native binding and the
javascript binding to ensure that any errors returned by Postgresql
are returned to the client code as instances of the built in Error
class.

The test code has been updated to assert that this is the case. Rather
than run some individual tests the updated test code ensures this is
the case for *all* errors encountered during a test run.
2011-09-22 12:36:12 +01:00
brianc
cd4e95d88c remove unused code 2011-09-16 00:13:22 -05:00
brianc
ec1c70c4b5 ability to pause/resume drain event for long-running async transactions 2011-08-29 23:43:36 -05:00
brianc
4f1fef5933 start native code cleanup 2011-08-29 23:06:07 -05:00
brianc
334e5739d4 organize require statementsC 2011-08-29 22:53:38 -05:00
brianc
7d44d7868d move functions to increase readability 2011-08-29 22:52:16 -05:00
brianc
f888f3b947 cleanup code 2011-08-29 22:48:17 -05:00
brianc
844831fb8e Merge branch 'master' of https://github.com/brianc/node-postgres 2011-08-29 02:35:56 -05:00
brianc
2ddc553ee4 pg object emit error event on idle pooled client errors 2011-08-29 02:35:46 -05:00
brianc
d9fbe9e878 remove require.paths use 2011-08-29 02:35:08 -05:00
Brian Carlson
98014d0269 tweak to native Client#query overload 2011-08-16 23:58:54 -05:00
brianc
24b664efbd fix js/native api inconsistency 2011-08-15 20:57:39 -05:00
brianc
f726bf29ef do not fire drain before any queries execute 2011-08-15 20:31:31 -05:00
brianc
e6fe115962 use native in native pg.connect 2011-08-15 20:15:43 -05:00
brianc
c16c7f619d configurable idle timeout on pooled clients 2011-08-11 21:52:29 -05:00
brianc
aa63f50437 remove custom pool code 2011-08-11 21:30:10 -05:00
brianc
4cb97a2b9e switch to node-pool from custom client pool 2011-08-11 20:59:56 -05:00
brianc
a7fbe95e72 make pg.connect config/conString argument optional 2011-08-11 19:32:57 -05:00
brianc
c317606b0a fix writing empty string to buffer. closes gh-39 2011-07-20 15:32:47 -05:00
Aleksey Zhukov
f0aa7ccaea Simple bytea support, returning buffers instead of escaped strings. 2011-07-20 02:14:40 +04:00
brianc
1fbe54d5f2 fix gh#36 2011-07-12 23:08:16 -05:00
Alexander Sulfrian
207b7dbb2b Merge remote branch 'upstream/master'
Conflicts:
	lib/query.js
	test/unit/client/typed-query-results-tests.js
2011-06-21 21:42:43 +02:00
Alexander Sulfrian
e891e7f4fb parser: added bool parsing 2011-06-16 18:32:20 +02:00
Alexander Sulfrian
671a5c52ff binaryParser: fixed text protocoll 2011-06-07 16:12:04 +02:00
Alexander Sulfrian
c513780fae textParser: fix error 2011-06-06 19:32:20 +02:00
Alexander Sulfrian
ba9b85fe26 binaryParser: added function to parse text fields 2011-06-06 19:31:57 +02:00
brianc
cc77a67745 remove double init of variable 2011-06-02 07:24:42 -05:00
brianc
0ea77f475b fix for gh-issue #26 2011-05-19 20:46:27 -05:00
brianc
94f670590f support for connecting via hostname with native bindings (using node async dns lookup instead of sync libpq dns) 2011-05-05 19:13:43 -05:00
brianc
a580c8ab8d code cleanup 2011-05-02 00:32:30 -05:00
brianc
b18c981a82 remove unused functions of pool 2011-05-01 21:55:31 -05:00
brianc
0d19522339 code cleanup 2011-05-01 21:35:00 -05:00
Edward Faulkner
795ef164fb Decided not to include zero fields, for consistency. 2011-04-29 10:52:55 -04:00
Edward Faulkner
54d065f4a1 Adding a parser for postgres time intervals 2011-04-29 10:39:00 -04:00
Brian Carlson
eba68017d1 fix gh27 2011-04-20 22:48:50 -05:00
brianc
526a6284f9 50x performance increase on javascript client prepared statement execution on linux! 2011-04-16 11:42:23 -05:00
brianc
e98ef9a011 fix require to be path friendly 2011-03-15 23:08:37 -05:00
brianc
c7aa1498fd Merge branch 'master' of https://github.com/brianc/node-postgres 2011-03-15 23:05:04 -05:00
brian
c72dea82d9 no longer explode if native module didn't build correctly 2011-03-15 23:00:58 -05:00
brianc
73d514ad64 expose 'defaults' on pg.native 2011-03-11 16:39:27 -06:00
brianc
f815c990c3 updated readme & package for new version 2011-03-11 12:29:27 -06:00
brianc
847d84f82e fixed 'overload' error for NativeQuery constructor 2011-03-07 18:56:50 -06:00
brianc
cabca209c7 named queries working & all tests passing 2011-03-06 22:27:35 -06:00
brianc
1fd718bd74 work on named prepared statements 2011-03-06 21:32:58 -06:00
brianc
941b2e298d work on named queries 2011-03-05 12:01:57 -06:00
brianc
6cdc39a648 remove temp file 2011-03-04 22:28:17 +00:00
brianc
c1b5fe2ab0 native 'notify' and 'notification' events 2011-03-04 20:04:59 +00:00
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