1758 Commits

Author SHA1 Message Date
Jack Christensen
99e5461522 Add pgx.Tx interface and pseudo nested transaction support
This complicates the idea of a persistent transaction status and error
so that concept was removed.
2019-08-17 17:22:14 -05:00
Jack Christensen
64b4414efc Remove unused exported error value 2019-08-17 15:56:36 -05:00
Jack Christensen
c3e41872a8 Resplit Begin and BeginEx
This is in preparation for a Begin / Tx interface that will similate
nested transactions with savepoints.

In addition, this passes the TxOptions struct by value and thereby
removes an allocation.
2019-08-17 15:53:55 -05:00
Jack Christensen
f3c703a102 Remove Conn SetLogger and SetLogLevel
Simplifying interface
2019-08-17 15:34:29 -05:00
Jack Christensen
99c54fbec0 Tweak Conn comment 2019-08-17 13:46:22 -05:00
Jack Christensen
b2f5b7f3c4 Merge branch 'NWilson-ncw/uuid-convs' 2019-08-17 13:21:43 -05:00
Jack Christensen
05597c2155 Merge branch 'ncw/uuid-convs' of https://github.com/NWilson/pgx into NWilson-ncw/uuid-convs 2019-08-17 13:20:53 -05:00
Dmitriy Garanzha
7829081b8c Load user-defined array type oids. 2019-08-16 15:10:44 +03:00
Jonathan Yoder
0c07df20b2 Clarify stdlib.AcquireConn Comment 2019-08-15 08:41:13 -05:00
Jack Christensen
6aec98dc6f
Merge pull request #579 from jonyoder/patch-1
Clarify stdlib.AcquireConn Comment
2019-08-15 08:40:34 -05:00
Jonathan Yoder
809600d667
Clarify stdlib.AcquireConn Comment 2019-08-15 09:31:38 -04:00
Jack Christensen
719800394d
Merge pull request #576 from sigmavirus24/fix-waitfornotificatio-docs
Correct WaitForNotification example
2019-08-11 12:13:36 -05:00
Ian Stapleton Cordasco
50b92ce0f5
Correct WaitForNotification example
While working on a project that was using this, I tried using the
example code but instead found that WaitForNotification expects a
Context (which makes sense).

This corrects the docs for folks using that as a jumping off point.
2019-08-11 08:16:48 -05:00
Jack Christensen
5eae85194e Bring stdlib iso change from v3 2019-08-08 15:35:30 -05:00
Jack Christensen
652d695065
Merge pull request #572 from mastercactapus/repeatable-read
Allow specifying sql.LevelRepeatableRead in BeginTx
2019-08-08 15:33:39 -05:00
Nathaniel Caza
9e3f51e5c6 Allow specifying LevelRepeatableRead 2019-08-07 13:55:17 -05:00
Jack Christensen
faa980a256 Add tests for deferred constraint errors
Port tests from v3.

Fix is implemented in pgconn f0b479097a4868d74e83c938131f5a24d25c49e8.
2019-08-06 17:17:54 -05:00
Jack Christensen
ca9de51256 Return deferred errors
Deferred errors are sent after the CommandComplete message. They could
be silently dropped depending on the context in which it occurred.

fixes #570
2019-08-06 16:46:32 -05:00
Jack Christensen
8f5ec93e18
Merge pull request #569 from launchdarkly/asb/fix-batch-die
Terminate context prior to releasing when killing batch connection
2019-08-05 17:59:31 -05:00
Andrew S. Brown
7fe7f33557 Terminate context prior to releasing when killing batch connection 2019-08-04 15:34:04 -07:00
Jack Christensen
3028821487 Add context.Context to Logger interface
This allows custom logger adapters to add additional fields to log
messages. For example, a HTTP server may with to log the request ID.

fixes #428
2019-08-03 16:16:21 -05:00
Jack Christensen
157b85b6ec
Merge pull request #565 from furdarius/8kb-default-chunked-buffer
Set 8KB as default size of ChunkReader buffer
2019-08-03 09:59:46 -05:00
Jack Christensen
ab1edc79e0 Remove 0 bytes when sanitizing identifiers
Port of 95ea78048a9569250c078d1965a235a214239960 from v3.
2019-08-03 09:51:03 -05:00
Jack Christensen
95ea78048a Remove 0 bytes when sanitizing identifiers
fixes #562
2019-08-03 09:45:04 -05:00
Artemiy Ryabinkov
92cd1ad639
Set 8KB as default size of ChunkReader buffer
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-29 21:19:36 +03:00
Nicholas Wilson
251e6b7730 Tidying: make underlyingTimeType consistent with other underlyingFooType
The first return value is ignored when returning false - so there's no
point returning an empty time.Time when it can be nil.
2019-07-24 12:32:43 +01:00
Nicholas Wilson
fc020c24ac Add support for pgtype.UUID to write into any [16]byte type 2019-07-24 12:32:18 +01:00
Artemiy Ryabinkov
032b253b93
Merge pull request #2 from jackc/master
Sync with upstream
2019-07-23 18:09:26 +03:00
Jack Christensen
6954c15ad0
Merge pull request #561 from furdarius/reuse-conninfo-in-pool
Reuse pool.connInfo for createConnectionUnlocked method
2019-07-18 15:06:59 -05:00
Jack Christensen
cb2ee370b0
Merge pull request #545 from furdarius/multihost-with-target-session-attrs
Multihost with Target Session Attrs
2019-07-18 15:05:27 -05:00
Artemiy Ryabinkov
8e0e1123df
use deepCopy of connInfo in createConnectionUnlocked method
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-14 20:04:55 +03:00
Artemiy Ryabinkov
1ecc111e17
Reuse pool.connInfo for createConnectionUnlocked method
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-14 18:29:08 +03:00
Artemiy Ryabinkov
d10b29af05
Merge pull request #1 from jackc/master
Sync with upstream
2019-07-14 18:21:18 +03:00
Artemiy Ryabinkov
a2b647c393
drop extra example
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-13 22:17:03 +03:00
Artemiy Ryabinkov
98acf573cc
fix errors collecting on multi-host
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-13 21:21:23 +03:00
Artemiy Ryabinkov
f87825cac7
remove TODO that PR will not cover
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-11 21:38:29 +03:00
Artemiy Ryabinkov
39cbdf789d
Support of PGTARGETSESSIONATTRS ENV variable
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-11 20:56:44 +03:00
Artemiy Ryabinkov
18189fafd5
ParseConnectionString supports Multi-Hosts
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-11 20:28:04 +03:00
Artemiy Ryabinkov
75b4ba635c
try to improve readability of writable checking
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-11 00:16:58 +03:00
Artemiy Ryabinkov
7d4215cb88
fix error message building from errors array on connection establishing
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-10 23:16:46 +03:00
Artemiy Ryabinkov
bcb2afe2be
TargetSessionAttrs as custom type
Signed-off-by: Artemiy Ryabinkov <getlag@ya.ru>
2019-07-10 22:59:17 +03:00
David
1941622079 Merge branch 'master' of https://github.com/jackc/pgx into composite 2019-07-05 10:10:26 -07:00
David
bdac37aedb Registers composite types as a pgtype.Record. 2019-07-05 10:09:57 -07:00
Jack Christensen
83bdfb890a
Merge pull request #555 from NWilson/zapadapter-types
Use zap.Any for handling interface{} -> zap.Field conversion
2019-07-04 10:57:43 -05:00
Nicholas Wilson
8ba5485db6 Use zap.Any for handling interface{} -> zap.Field conversion
zap.Any falls back to zap.Reflect, but is better for this case, because
it first checks for the types that zap handles specially.  For example,
time.Duration, or error, which zap.Reflect will just treat as untyped
int64 or struct objects, but zap.Any is able to detect these types and
print them properly.
2019-07-04 10:21:32 +01:00
Jack Christensen
a7e821c99c Improved example on readme 2019-06-29 14:21:41 -05:00
Jack Christensen
7c5d801f05 Add v4 prerelease notice 2019-06-29 14:13:10 -05:00
Jack Christensen
da16226e0a Update docs for first prerelease of v4 v4.0.0-pre1 2019-06-29 13:59:11 -05:00
Jack Christensen
a99cd7758a stdlib AfterConnect takes context 2019-06-29 13:53:43 -05:00
Jack Christensen
08b412740f Rename package pool to pgxpool
pool is too common a name to occupy.
2019-06-29 11:37:36 -05:00