Jack Christensen
4faf97cc58
wip
2017-02-17 22:20:18 -06:00
Jack Christensen
4d56221868
Do not scan binary values into strings
...
refs #219 and #228
2017-02-16 19:19:45 -06:00
Jack Christensen
7fbff4a495
Merge branch 'context' into v3-experimental
2017-02-12 15:13:47 -06:00
Jack Christensen
048a75406f
Fix context query cancellation
...
Previous commits had a race condition due to not waiting for the PostgreSQL
server to close the cancel query connection. This made it possible for the
cancel request to impact a subsequent query on the same connection. This
commit sets a flag that a cancel request was made and blocks until the
PostgreSQL server closes the cancel connection.
2017-02-11 19:53:18 -06:00
Jack Christensen
deac6564ee
Implement Query in terms of QueryContext
...
- Merge Rows.close into Rows.Close
- Merge Rows.abort into Rows.Fatal
2017-02-11 19:16:13 -06:00
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