William Becker
b7f8429ff7
handle early dates (< 100AD)
2013-09-01 21:59:09 -05:00
Brian Carlson
e744d05df7
Add ability to opt-in to int8 parsing
...
Switching the result of all COUNT operations to a string is
a pretty nasty breaking change, and the majority of us aren't
going to be hitting numbers larger than Number.MAX_VALUE
2013-08-29 00:04:27 -05:00
Brian Carlson
beeae35291
Fix js-hint error
2013-08-17 17:33:27 -05:00
Brian Carlson
c98125b065
Use on('data') for v0.8.x
2013-08-17 17:25:24 -05:00
Brian Carlson
5108161a47
Cleanup & tweak perf a bit
2013-08-17 14:21:19 -05:00
Brian Carlson
306f5dd493
Add comments
2013-08-07 15:35:07 -05:00
Brian Carlson
4cdd7a116b
Compile result parsing for a 60% speed increase
...
Tested against a 1000 row result set. Need to test against
smaller result sets & figure out a way to make this backwards compatible if possible
2013-08-07 15:33:57 -05:00
Brian Carlson
b6bca99489
Minor speed improvements
2013-08-07 12:41:38 -05:00
Brian Carlson
56b7c4168d
Create message in each parsing function
2013-08-07 12:20:51 -05:00
Brian Carlson
31318c02a2
Speed up JavaScript parser slightly
2013-08-07 11:57:43 -05:00
Brian C
a17f7fc381
Merge pull request #409 from rpedela/master
...
Fix build when escape functions are not supported in libpq
2013-08-01 07:26:55 -07:00
Brian Carlson
fb5520bb8a
Remove built-in binary int64 parser
2013-07-30 13:15:31 -05:00
rpedela
cf07a4f2b4
#403 Only use native escape functions if PG version >= 9.0.0. Otherwise use the JS functions.
2013-07-29 15:45:36 -06:00
Brian Carlson
910cc134c9
Make ref an optional dependency
...
The ref module adds a compile step even when using the pure-JavaScript client.
This makes the installation optional so if the install fails due to not having
a compiler around you can still use the JavaScript client.
closes #398
2013-07-23 10:10:41 -05:00
rpedela
ffe51c20f2
Add missing semicolons.
2013-07-15 09:13:48 -05:00
rpedela
876018e103
Add support for PQescapeLiteral and PQescapeIdentifier. Also add JS versions of the functions.
2013-07-15 09:13:48 -05:00
Aaron Boyd
0632c4eaf4
remove reference to pool when destroying
...
Leaving a reference to the pool means the
destroyed pool will get returned if you
later try to reconnect with the same
connection string.
2013-07-09 18:22:09 -07:00
Brian Carlson
145666c1b3
Support result rows as arrays
2013-07-08 17:45:06 -05:00
Brian Carlson
5462561e51
Cache result parser lookups
2013-07-08 09:32:53 -05:00
Brian Carlson
413eff72e5
Move row parsing into result object
2013-07-08 09:30:10 -05:00
Brian Carlson
3f96bbbc5c
Add field metadata to query result object
...
Refactored the way rows are built in the native bindings which should
result in a small performance improvement
2013-07-08 09:19:30 -05:00
Brian Carlson
05e9026aea
Remove tab character
2013-07-08 08:16:10 -05:00
Brian C
58b4f266ea
Merge pull request #386 from brianc/js-ssl
...
Fix long-standing hanging SSL connection but with JavaScript
2013-07-01 12:43:54 -07:00
Brian C
5806afc8a1
Merge pull request #276 from bryanburgers/connection-url-ssl
...
Add ssl query string to the connection string parser #275
2013-06-29 23:24:02 -07:00
bmc
44784fa2f3
Fix JavaScript SSL upgrade logic
...
I had accepted the pull request way back without proper test coverage.
I've added test coverage & fixed this long-standing bug.
2013-06-29 23:20:48 -07:00
Brian C
95da124744
Merge pull request #385 from memosanchez/pg-default-test-hostname
...
Add default value for database host to lib/defaults.js
2013-06-29 15:50:31 -07:00
Guillermo A. Sanchez
738c966112
Add default value for connection host.
...
Native binding connection tests will fail if the PGHOST environment variable is not set.
There already exists several defaul values for user, password and port. It would make sense to have a default host setting as well - localhost appears to be a reasonable default.
2013-06-29 14:46:45 -07:00
Hannes Hörl
e9cb2965e9
Bugfix: safe call of .hasOwnProperty(...)
2013-06-26 23:46:15 +02:00
Hannes Hörl
c126ba1c7c
Added NODE_PG_FORCE_NATIVE to force usage of libpg bindings (native client)
2013-06-26 22:32:07 +02:00
Brian C
42bae0c55e
Merge pull request #353 from sevastos/bigint-bulletproofing
...
Handle bigint as string to prevent precision loss
2013-06-18 19:21:43 -07:00
Dave
6fea79712c
Client encoding in defaults as well
2013-06-06 12:32:04 -07:00
Dave
6b4bc3945f
Uses val function instead
2013-06-06 12:24:12 -07:00
Dave
f658b31aed
Changing to client_encoding, adding test for creating a connection
2013-06-06 12:16:36 -07:00
Dave
d69070529c
Makes encoding an optional parameter
2013-06-06 12:06:52 -07:00
Brian Carlson
337d49dddb
Return field metadata on result object
...
Closes #209
Native implementation requires significant refactor and so I wont work on this
if/until there is an issue for it
2013-06-03 12:14:47 -05:00
sevastos
c2a93aafa5
Small improvements in parsers, additions to tests
2013-05-27 10:55:49 +03:00
sevastos
f827f56ed2
BigInt parsing bullet-proofing
2013-05-23 20:10:08 +03:00
Hebo
323a2f9f49
Fix client_encoding setting to support pg_bouncer when using libpq ( #270 )
2013-05-21 14:37:06 -07:00
Andrey Popp
4458e69285
call EventEmmiter constructor on native Connection
...
this allows to preserve an active domain on switches in libpq
2013-05-20 18:31:55 +04:00
bmc
10e6d85266
Add support for JSON data type
...
requires >= 9.2 of postgres
2013-04-22 10:18:17 -05:00
bmc
2ef1bbf8de
Parse minutes in timezone description
...
Minutes in timezones are separated with a colon from the hour.
This closes #309
2013-04-22 04:57:46 -05:00
Brian C
8a2e864b30
Merge pull request #238 from cdauth/master
...
Store timezone-less dates in local time instead of UTC
2013-04-22 02:17:05 -07:00
bmc
56a5903a02
Make throws in query error callback not break client
...
If you receive an error while running a query and in user's callback
they throw an exception it can disrupt the internal query queue
and prevent a client from ever cleaning up properly
2013-04-19 09:25:53 -05:00
bmc
9b1c4facc2
Make query callback exceptions not break client
...
If you throw an exception in a query callback the client will not pulse
its internal query queue and therefor will never process any
more queries or emit its own 'drain' event.
I don't find this to be an issue in production code since I restart
the process on exceptions, but it can break tests and cause things
to 'hang'. My crude benchmarks show no noticable impact in perf
from the try/catch/rethrow.
:q
2013-04-19 09:09:28 -05:00
brianc
3f5df0afa2
make tests pass on pg@8.4.9
2013-04-17 10:29:42 -05:00
za-creature
b6ef157e8e
Update connection-parameters.js
2013-04-11 23:35:21 +03:00
za-creature
5493a52793
Update connection-parameters.js
...
Different double-encode removal strategy
2013-04-11 22:32:04 +03:00
za-creature
c666b20287
Update connection-parameters.js
...
The current connection url handling fails when the password contains
encoded special characters: After the encodeURI, the special
characters from the password are double encoded, and the password is
rejected by postgres.
Proposed fix handles one level of double encoding, and while it
might break compatibility with passwords like "asdfg%77fgh" (which
would've been escaped to asdfg%2577fgh before this patch), I
strongly feel that maintaining backwards compatibility is in this
case less important than following standards and discouraging bad
coding practices.
2013-04-11 19:57:03 +03:00
Candid Dauth
3aedebb0b0
Fixing parsing of timestamps without timezone in binary mode
2013-04-11 01:11:08 +02:00
Candid Dauth
694fc3eb6e
Fixing code style to make #238 pass jshint
2013-04-11 00:41:15 +02:00
Candid Dauth
bde871707b
Storing timezone-less dates in local time instead of UTC
...
Issue #225 caused such dates to be read, but not stored in local time.
2013-04-10 23:10:44 +02:00
bmc
b33c266734
increase speed of javascript parser ~5%
2013-04-08 19:04:17 -05:00
bmc
f16eaa8555
Merge branch 'benchmark'
2013-04-08 16:44:54 -05:00
bmc
ca5c10a02f
clean up connection slightly & add initial bench
2013-04-08 16:44:41 -05:00
Karl Mikkelsen
44e4586e18
var utils declared and not used
2013-04-05 17:46:23 +12:00
bmc
766b4286d5
merge branch v1.0
2013-04-04 11:51:55 -05:00
brianc
6e3cc794c3
ignore socket hangup. fixes #314
2013-03-29 09:38:49 -05:00
brianc
683d636501
better handling of client stream termination
...
1. Pass an error to an active query if the client is ended while a query is in progress.
2. actually emit 'end' event on the client when the stream ends
3. do not emit an error from native bindings if lasterror is null
2013-03-28 13:24:33 -05:00
brianc
1d6541724e
remove deprecation warnings & deprecate lib
2013-03-17 14:51:57 -05:00
brianc
cee5f1d8b3
move buffer-writer to external module
2013-03-16 11:51:26 -05:00
Sandro Santilli
f38f9f084d
Fix parsing of numeric[], previously returning array of ints
...
Closes #304 , includes testcase
2013-03-14 10:06:46 +01:00
brianc
a5ee365116
remove parseFloat
2013-03-07 16:19:11 -06:00
brianc
e93a4a5d66
remove pauseDrain/resumeDrain
2013-03-07 16:12:09 -06:00
brianc
9c7a33caca
remove 2 parameter pg.connect function
2013-03-07 15:57:00 -06:00
brianc
213518648b
ability to hide deprecation warnings
2013-03-07 10:01:14 -06:00
brianc
f30158f7c4
deprecate float parsing - closes #296
2013-03-07 09:54:01 -06:00
brianc
6415450634
deprecate pauseDrain/resumeDrain & auto-releasing client pool
2013-03-07 09:47:04 -06:00
Brian C
ed75b2f453
Merge pull request #291 from wgraeber/master
...
Potential fix for client_encoding error
2013-03-07 05:32:15 -08:00
brianc
c57eee8661
normalize whitespace, add comments, and do a little house cleaning
2013-03-06 10:26:40 -06:00
brianc
37bb13fc0c
move type conversion related code under sub-folder
2013-03-06 08:57:38 -06:00
brianc
b58ae9e7f7
clean up prototype shorthand
...
For some reason a few years ago I thought it would be neat to use a shorthand version of prototype to save myself some keystrokes. That was a cosmetic mistake. It also breaks ctags.
Also, normalized some whitespace.
2013-03-06 08:48:52 -06:00
swilly
d4dc76077b
possible fix for: error: unrecognized configuration parameter 'lient_encoding'
2013-03-05 15:44:20 -05:00
Andrew Dunstan
ed015f9b58
Fix Unix domain socket setting.
...
This code was misconceived in that the host parameter for a Unix
domain socket connection must point to the directory containing
the socket, and not to the socket itself. Libpq will look for
the socket based on the host and port settings. See
<http://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS >
2013-02-23 11:11:44 -05:00
Brian C
c6d5f43473
Merge pull request #278 from adunstan/master
...
Allow passing a JS array instead of an array literal where SQL expects an array
2013-02-22 09:33:17 -08:00
Andrew Dunstan
c5b88dbff2
make indentation and blocking style consistent.
2013-02-22 09:37:29 -05:00
Andrew Dunstan
a3af2a21cf
a visit from the jshint police
2013-02-21 17:45:46 -05:00
Andrew Dunstan
44b15422a0
allow passing JS array as a parameter instead of an array literal where SQL expects an array
2013-02-21 17:32:47 -05:00
bmc
5c95886749
clear deprecation warning on client error - fix test race
2013-02-21 14:49:26 -06:00
Bryan Burgers
79f85a4a9e
Add ssl query string to the connection string parser
2013-02-20 18:17:18 -06:00
bmc
cc84799c7a
integrate new pool into existing codebase
2013-02-20 16:08:48 -06:00
bmc
bb448fe61a
finish out the first rev of the improved pool api
2013-02-19 19:34:28 -06:00
bmc
971eb5d1ef
initial work on new pool
2013-02-15 16:13:28 -06:00
Arkady Emelyanov
4c254e8edf
force utf-8 encoding on connect
2013-01-29 20:19:38 -06:00
Francois Payette
77daa06df9
use encodeURI instead of string replace
2013-01-29 19:54:25 -06:00
Brian C
2f75b2f6a9
Merge pull request #256 from booo/jshint
...
Introduce Jshint
2013-01-24 18:49:05 -08:00
Francois Payette
7d773508fc
replace space by %20 in connection string before passing to url.parse
2013-01-24 20:05:55 -05:00
Philipp Borgers
22764e045c
fix jshint errors in lib/connection-parameters.js
2013-01-24 22:07:53 +01:00
Philipp Borgers
6bc512a71f
fix jshint error in lib/index.js
2013-01-24 22:05:35 +01:00
Philipp Borgers
6527899526
rename reserved word char to c
2013-01-24 22:05:35 +01:00
Philipp Borgers
cf6da99fca
rename reserved word char to c
2013-01-24 22:05:35 +01:00
Philipp Borgers
5e3cfe5d47
fix jshint errors in lib/binaryParsers.js
2013-01-24 22:05:35 +01:00
Philipp Borgers
8e7e2f7a62
remove trailing whitespaces in lib/connection-parameters.js
2013-01-24 22:05:35 +01:00
Philipp Borgers
a7e9072ab8
fix jshint errors in lib/client.js
2013-01-24 22:05:35 +01:00
Philipp Borgers
051fa5558f
remove trailing whitespaces in lib/query.js
2013-01-24 22:05:34 +01:00
Philipp Borgers
ace259fd0c
remove trailing whitespaces in lib/copystream.js
2013-01-24 22:05:34 +01:00
Philipp Borgers
d8255c6f85
fix jshint errors in lib/connection.js
2013-01-24 22:05:34 +01:00
Philipp Borgers
5df417e589
fix jshint errors in lib/textParsers.js
2013-01-24 22:05:34 +01:00
Philipp Borgers
bed3de9490
fix jshint erros
2013-01-24 22:03:03 +01:00
Philipp Borgers
0c3e1cba83
fix jshint errors in lib/native/query.js
2013-01-24 22:03:03 +01:00
Philipp Borgers
3b1a5beba8
remove trailing whitespaces in lib/index.js
2013-01-24 22:03:02 +01:00
Philipp Borgers
4272f21685
remove trailing whitespace in lib/defaults.js
2013-01-24 22:03:02 +01:00
Philipp Borgers
3ba179a4d1
fix jshint errors for lib/defaults.js
2013-01-24 22:03:02 +01:00
Philipp Borgers
fe09e96ae9
fix jshint errors for lib/types.js
2013-01-24 22:03:02 +01:00
Philipp Borgers
ffe2c15a65
fix jshint errors for lib/index.js
2013-01-24 22:03:02 +01:00
Philipp Borgers
22d8538879
fix jshint errors for lib/utils.js
2013-01-24 22:03:02 +01:00
Philipp Borgers
a78effef2e
fix jshint errors for lib/binaryParsers.js
2013-01-24 22:01:52 +01:00
Philipp Borgers
4e5e75dbee
fix jshint errors for lib/client.js
2013-01-24 22:01:52 +01:00
Philipp Borgers
28afce25ed
fix jshint errors for lib/result.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
5e92546a30
fix jshint errors for lib/connection-parameters.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
da1e62e684
fix jshint errors for lib/query.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
616804dc0d
fix jshint errors for lib/copystream.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
cedcf0ca35
fix jshint errors for lib/connection.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
74c8945cfe
fix jshint errors for lib/textParsers.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
60a022b0b0
fix jshint errors for lib/native/index.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
2cc91225e3
fix jshint errors for lib/native/query.js
2013-01-24 21:59:28 +01:00
Philipp Borgers
647110db9f
fix jshint errors for lib/arrayParser.js
2013-01-24 21:59:27 +01:00
Philipp Borgers
35d04ff42e
fix jshint errors for lib/writer.js
2013-01-24 21:59:27 +01:00
Brian C
beb3e4fcd1
Merge pull request #248 from liamks/master
...
Added varchar[] and char[] to array parsing.
2013-01-23 20:32:27 -08:00
bmc
113b6298e2
use ConnectionParameters with native bindings and remove unused util functions
2013-01-22 23:23:47 -06:00
bmc
1e3107aa55
use ConnectionParameters for js client properties
2013-01-21 16:14:19 -06:00
bmc
9dad56a54e
add more functionality to connection parameters
2013-01-21 15:44:55 -06:00
bmc
ec0d0beff2
build libpq connection string & support domain socket
2013-01-21 15:09:44 -06:00
anton
88d684f925
bugfix. sometimes native copy to loose rows
2013-01-20 19:45:41 -06:00
anton
7ca21acb25
handle situation, when broken copy to query, ends before it is canceled
2013-01-20 19:45:41 -06:00
anton
8ea2f259ed
bugfix: correctly create new connection for canceling copy to query
2013-01-20 19:45:41 -06:00
anton
c5c31143c1
1. behave correctly if copy to/from is send to db by query method (report error in standart way); 2. bugfix and code review in native copy to implementation
2013-01-20 19:45:40 -06:00
bmc
868a9d0e8d
remove node-tap
2013-01-20 19:42:40 -06:00
bmc
92e75f0577
add ConnectionParameters object
2013-01-20 19:42:39 -06:00
soletan
d55d145378
fixing support for Unix sockets in native binding
...
Binding natively connections to Unix sockets failed due to DNS lookups applied on pathname to Unix socket's folder.
2013-01-18 23:58:51 +01:00
Liam Kaufman
18e63f1e86
added char[] and varchar[] to parsed datatypes
2013-01-17 17:57:10 -05:00
Sandro Santilli
2fc22de21a
Send backend a CopyFail when no stream is defined to copy from
2013-01-16 12:41:14 +01:00
Sandro Santilli
a39e0d7cc9
Rework handling of missing stream object for copy ops
...
This version works better (doesn't throw) but also doesn't report
any error, which is not good
2013-01-16 12:04:28 +01:00
Sandro Santilli
de9d5e3cd5
Cleanly handle missing stream error on COPY operation. Closes #241
2013-01-16 10:11:55 +01:00
anton
8bcd40595d
make copy related events to have same names in native and libpq clients
2013-01-06 12:06:26 -06:00
anton
98286152dd
bugfixes in copy from stream. drain event
2013-01-06 12:06:26 -06:00
anton
d2b21aa95e
just comments
2013-01-06 12:06:26 -06:00
anton
c014096e0e
COPY TO/FROM native/libpq done. Looks like it works, but need to test
2013-01-06 12:06:26 -06:00
Stephen Sugden
903e9b25ea
Attach Query constructors to Client constructors
2012-12-16 00:58:30 -06:00
Stephen Sugden
5a91dd0c35
Use normalizeQueryConfig with native driver
2012-12-16 00:58:30 -06:00
Stephen Sugden
5dae2b267f
Extract query config normalization into utils
2012-12-16 00:58:30 -06:00
brianc
102a069bd2
have native bindings emit proper result object on 'end' event - closes #219
2012-12-10 23:25:26 -06:00
brianc
1c43930ba1
cleanup & fix failing tests to allow for green merge of pull #228
2012-12-10 22:44:58 -06:00
Troy Kruthoff
e62eb9339b
make Query a public api
2012-12-10 21:32:20 -06:00
Sandro Santilli
ecee5529e4
Add comment about which oid correspond to which datetime field
2012-12-10 20:46:44 -06:00
Sandro Santilli
b7fd9a5625
Do not assume dates with no timezone specifier are UTC
...
Fixes #225
2012-12-10 20:46:44 -06:00
brianc
c5b804f5c4
fix reference to ssl parameters
2012-12-04 14:18:19 -06:00
Nate Silva
4b88c82b16
enable IPv6 support when using native bindings
2012-11-03 11:40:36 -07:00
Michael Jackson
ffe4cdcf27
Export types module
2012-10-15 17:45:06 -05:00
bmc
9341efe669
allow options to pass to js ssl connection bindings
2012-09-10 21:40:41 -05:00
bmc
886926a777
pass result object to native query 'row' event - closes #183
2012-09-09 21:13:36 -05:00