Commit Graph

478 Commits

Author SHA1 Message Date
Thomas Dimson
ae88278845 Add pass-through of log function to generic-pool. Bump generic-pool version. 2012-07-15 20:08:26 -07:00
brianc
fa80b4e3fa make data conversion the same between native & javascript 2012-07-11 22:47:02 -05:00
booo
17e8287bdd call nativeConnect after defining the error handler/callback 2012-07-06 15:55:10 +02:00
brianc
4d482e451b use client#connect callback in pg.connect connection error handling 2012-07-05 22:38:07 -05:00
brianc
176e6c7ab2 include command metadata with native query result callback - closes #128 2012-05-30 23:38:03 -05:00
brianc
7f00b3ee30 use correct parse function for float arrays - closes #131 2012-05-30 22:51:59 -05:00
brianc
7a2c428973 ignore writes to unwritable sockets - closes #130 2012-05-30 22:41:51 -05:00
brianc
dd84db367b reduce complexity of test runner 2012-05-30 22:12:14 -05:00
Brian Bickerton
fc3b34d42f Use 'self.activeQuery' insead of 'this.activeQuery' in the readyForQueue event listener. 2012-05-08 10:07:43 -04:00
brianc
1c6afce19f Merge remote branch 'kennym/patch-4' 2012-03-27 09:29:26 -04:00
brianc
be5308a148 always pass radix to parseInt. closes #113 2012-03-27 09:24:45 -04:00
brianc
4160da4de3 Merge remote branch 'chowey/patch2' 2012-03-27 09:18:38 -04:00
Cameron Howey
f978cc6379 Add result to row event
This makes the `result` object available from the row event.
2012-03-26 09:05:34 -04:00
Kenny Meyer
a25ef7cae4 Fix indentation 2012-03-22 17:32:56 -03:00
brianc
96f7179094 expose type converter overrides & warn on giant numeric values 2012-03-21 22:36:18 -05:00
Jeremy Evans
bbcbdee584 Handle "NULL" correctly in arrays
NULL in arrays is NULL, but "NULL" in arrays is 'NULL' (a string).
2012-03-05 15:52:00 -08:00
brianc
480fe2691d Merge remote-tracking branch 'chowey/patch-2' 2012-02-27 22:06:01 -06:00
Jan Zimmek
cdc8c09c37 fix test - single empty string entry 2012-02-24 09:05:08 +01:00
Jan Zimmek
369357a71f enhance array parser 2012-02-23 23:16:46 +01:00
Jan Zimmek
f2f380787e enhance array parser 2012-02-23 23:13:59 +01:00
Cameron Howey
440f8bd3e9 Add all numeric array data types
We can use `parseIntegerArray` to correctly parse *any* numeric array.
We just have to register the correct oids.
2012-02-13 16:09:09 -05:00
brianc
21c6699d1b add reapIntervalMillis to defaults and format the file 2012-02-02 23:27:52 -06:00
booo
89e1c6633a fix issue #89 2012-02-02 23:14:34 -06:00
Ahti Heinla
cdbbf2e61e Fixed a bug that caused parseStringArray() to return incorrect values for escaped strings 2011-11-30 02:55:22 +02:00
Ahti Heinla
a3d5d992f6 Fixed a bug that caused parseStringArray() to not support empty arrays 2011-11-30 02:53:12 +02:00
Alexander Sulfrian
239d8bd0c2 fixed binaryParsers for small negativ values
WARNING: bigint support is not correctly working for really big
values. If the value of a integer gets big the number gets fuzzy in
javascript. This is not a limitation of this library.

If you want to handle bigint with the exact value, get it as string
and do not calculate things with it!
2011-11-22 04:53:38 +01:00
Alexander Sulfrian
f8962fd036 connection can be binary by default
if connection is created with config.binary = true, all queries get
executed with binary result unless explicit disabled with binary = false
2011-11-22 04:53:38 +01:00
Alexander Sulfrian
5d8c8bbcdc fix recognition of query format for empty queries in dictionary format
queries like {text: ""} did not get recognized correctly before and
get converted to {text: {text: ""}}
2011-11-22 04:53:38 +01:00
Alexander Sulfrian
09ee46da22 fix binaryParsers: oid is 32bit 2011-11-22 04:53:38 +01:00
Alexander Sulfrian
f3c9a532e0 code beautification 2011-11-22 04:53:38 +01:00
Alexander Sulfrian
070155a577 fix native bindings
native bindings need to get the textParsers with the new syntax
2011-11-22 04:53:38 +01:00
Alexander Sulfrian
e9838cc5bb fix textParsers
some textParsers requires the input value to be a string, so convert
it before calling the textParsers
the same problem exists in test/integration/connection/query-test
so that there also need to be a String call
2011-11-22 04:52:26 +01:00
Alexander Sulfrian
aff94b0068 removed merge artifact 2011-11-20 20:34:14 +01:00
Alexander Sulfrian
8730a31444 Merge remote branch 'upstream/master' 2011-11-19 00:35:21 +01:00
Alexander Sulfrian
59c5df6ef4 remove name duplication 2011-11-18 21:23:39 +01:00
Alexander Sulfrian
916895639b Merge remote branch 'upstream/master'
Conflicts:
	lib/query.js
	lib/types.js
	test/unit/client/query-tests.js
	test/unit/client/typed-query-results-tests.js
2011-11-18 21:12:28 +01:00
Christophe Macabiau
fe6d5aeb68 query cancellation (libpq native binding) 2011-11-02 19:30:44 +01:00
Christophe Macabiau
f3c8b972fe query cancellation 2011-11-02 16:07:14 +01:00
brianc
2cddf2a112 fix for changes to Buffer.prototype.write signature change between node version. closes gh#66 2011-11-01 23:02:59 -05:00
Roman Shtylman
46f6d9037c fix for writing null terminated buffers
node 0.5.10+ changed how null terminated buffers are written. The
null terminator is no longer written explicitly.

fixes #63
2011-10-30 16:24:19 -04:00
Simon Tokumine
53423dfbaa stringArrayParser can parse empty arrays & stringArrayParser tests 2011-10-24 14:08:05 +01:00
Brian Dunavant
94dc7fd4e8 treat undefined values as NULL. Include test to verify. 2011-10-14 11:31:12 -04:00
brianc
b59e0041b3 native bindings compatible with v0.5.x 2011-10-10 22:03:27 -05:00
brianc
06585d6e2c require 'util' instead of 'sys' 2011-10-10 19:40:52 -05:00
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