118 Commits

Author SHA1 Message Date
Jack Christensen
e4f9108e82 wip 2017-02-11 14:59:16 -06:00
Jack Christensen
72b6d32e2f Extracted more context handling 2017-02-07 21:49:58 -06:00
Jack Christensen
004c18e5a2 Begin extracting context handling 2017-02-07 20:35:37 -06:00
Jack Christensen
14eedb4fca Add ConnPool context methods 2017-02-06 18:54:49 -06:00
Jack Christensen
24193ee322 Add QueryRowContext 2017-02-04 15:57:06 -06:00
Jack Christensen
3e13b333d9 Add QueryContext 2017-02-04 15:40:58 -06:00
Jack Christensen
39dad2b795 Merge branch 'master' into v3-experimental 2017-02-04 11:27:12 -06:00
Jack Christensen
a52a6bd555 Add PgxScanner interface
Enables types to support database/sql at the same time as pgx.

fixes #232
2017-02-02 20:20:52 -06:00
Jack Christensen
93e5c68f69 Merge branch 'master' into v3-experimental 2016-12-10 12:21:08 -06:00
Jack Christensen
f7b6b3f077 Handle json/jsonb in binary to support CopyTo
fixes #189
2016-10-01 11:01:54 -05:00
Jack Christensen
04c02cf3d3 Rename Json(b) to JSON(B) 2016-08-02 13:35:52 -05:00
Jack Christensen
214443deb7 Rename Oid to OID 2016-08-02 13:31:55 -05:00
Jack Christensen
1a4be31e7a Fix Rows.Values with binary varchar
fixes #161
2016-07-07 08:03:26 -05:00
Krzysztof Dryś
ed6ee27a22 Copy sql query from prepared statement to rows.
This enables proper logging of sql query when using stdlib.
2016-06-28 11:08:38 +02:00
Jack Christensen
9288322a4f Avoid two memory allocations per query
rows can get log and shouldLog from conn instead of needing copied
to self.
2016-04-30 13:06:59 -05:00
Jack Christensen
932a4d6533 Avoid pointless recursive call 2016-04-30 12:58:36 -05:00
Jack Christensen
6e2cee6294 Prevent every row scan from causing a malloc 2016-04-30 12:54:16 -05:00
Jack Christensen
e5ec5851e5 Reduce allocations for row objects 2016-04-30 12:22:36 -05:00
Jack Christensen
04e9fbcc55 Fix some golint errors
- Add comments
- Rename variables
- Remove unnecessary "else"
2016-03-29 15:18:09 -05:00
Jack Christensen
94052ea940 Rows.Scan can ignore column with nil
fixes #130
2016-03-24 14:22:16 -05:00
Jack Christensen
49b3582977 Fix connection corruption when errored query closes early
refs #125
2016-03-15 19:20:03 -05:00
Jack Christensen
c6b6d7bad7 Expose encoding and decoding functions 2016-02-15 13:57:11 -06:00
Jack Christensen
a93025479d Add AfterClose and Conn to Rows 2016-02-13 13:03:06 -06:00
Jack Christensen
0f7bf19387 Add *Conn.SetLogLevel
Allow changing log level after connection is established. Because
log level and loggers can be set independently, it is now possible
to have a log level above none when there is a nil logger. This
means all log statements need to check for nil logger and an
appropriate log level. This check has been factored out into
*Conn.shouldLog.
2016-02-13 10:13:10 -06:00
Jack Christensen
cffae7ff5d Add SetLogger to *Conn
Allow replacing logger after connection is established. Also
refactor internals of logging such that there is a log method that
adds the pid to all log calls instead of making a new logger object.
The reason for this is so pid will be logged regardless of whether
loggers are replaced and restored.
2016-02-12 17:49:04 -06:00
Jack Christensen
9f9a9779ac Add compatibility with database/sql custom types
Support database/sql.Scanner
Support database/sql/driver.Valuer
2015-12-31 14:46:43 -06:00
Jack Christensen
edfdaf15c6 Rows.Scan errors now include which argument caused error 2015-11-20 14:02:49 -06:00
Jack Christensen
e1215d9b19 []byte skips encoding/decoding
refs #104
2015-11-12 14:54:25 -06:00
Jack Christensen
7dfdc92855 Rows.Values supports oid type 2015-10-07 08:00:43 -05:00
Jack Christensen and Jake Worth
c726a51450 Add inet[] and cidr[] support 2015-09-29 13:23:26 -05:00
Jack Christensen
86837e5576 Add guards against usage of busy connection 2015-09-16 10:22:16 -05:00
Jack Christensen
a1aa06c934 More efficient logging with log levels 2015-09-16 08:20:51 -05:00
Jonathan Rudenberg
272262536b Add support for pointers to pointers
Using types like **string allows the inner pointer to be nil’ed out,
avoiding the need for NullX types.

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
2015-09-08 11:52:58 -05:00
Jack Christensen
fff5b9759b Add tests for other types of JSON objects 2015-09-04 13:40:59 -05:00
Jack Christensen
9d200733b9 Merge common JSON and JSONB 2015-09-04 11:04:51 -05:00
Joseph Glanville
0013733535 Add JSON/JSONB support 2015-09-04 18:15:46 +10:00
Jack Christensen
9af068add0 Add cidr support 2015-09-03 09:42:01 -05:00
Jack Christensen
d494f83cd1 Add inet support 2015-09-03 09:33:19 -05:00
Jack Christensen
879ca97228 Fix Scanner that does not read entire value 2015-04-09 17:46:58 -05:00
Jack Christensen
daf2efa313 Tweak handling of reading null as raw bytes.
* NULL maps to nil not empty slice
* Handle NULL in Scan not ReadBytes
2014-12-23 21:58:48 -06:00
Jack Christensen
d77e599ce6 Add timestamptz[] support 2014-12-23 18:17:39 -06:00
Jack Christensen
191c37dfa6 Values supports timestamp[] 2014-12-23 17:52:33 -06:00
Karl Seguin
109b55f9de support decoding of []time.Time and []bool 2014-12-21 14:35:38 +07:00
Jack Christensen
3c61b16776 Fix crash reading value after empty array
fixes #51
2014-12-19 08:25:33 -06:00
Karl Seguin
a8f5ce12c5 Trying to reduce memory allocation. logQueryArgs is called even when
using the default discardLogger. This allocates quite a bit of memory.
Created a default dlogger instance and avoid logging code when that's our
logger. I couldn't think of a better implementation without touching the
Logger interface.

On 100 000 inserts, this brought the allocation down to 58MB from 122MB.
It should also result in some small performance gains.
2014-11-18 07:53:33 +07:00
Jack Christensen
5edd660971 WaitForNotification detects lost connections quicker
Ping server every 15 seconds while waiting if no traffic has occurred.
2014-10-03 14:58:04 -05:00
Jack Christensen
4e51ff728f Allow reading any value into []byte 2014-09-27 15:34:52 -05:00
Jack Christensen
98853ea98f more docs 2014-09-19 17:35:00 -05:00
Andy Walker
2f1ec582d7 Instead of native map[string]string, use type pgx.Hstore instead 2014-09-19 15:27:15 -05:00
Andy Walker
821605a8dd Adding hstore support. map[string]string will encode to hstores and throw errors on hstores with NULL values, and there is now a NullHstore type that is basically map[string]NullString and will both accept and decode NULL values properly 2014-09-19 15:27:15 -05:00