Commit Graph

478 Commits

Author SHA1 Message Date
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
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
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