2696 Commits

Author SHA1 Message Date
Jack Christensen
64b07f0d66 Batch uses statement cache.
This streamlines Queue's interface as well.
2019-08-24 23:40:21 -05:00
Jack Christensen
6508934508 Rename PreparedStatementCache to StatementCache 2019-08-24 22:19:29 -05:00
Jack Christensen
61f0710101 Add docs and tests for PgBouncer 2019-08-24 22:12:55 -05:00
Jack Christensen
7f5e702d1a Fix benchmarks 2019-08-24 21:04:40 -05:00
Jack Christensen
12c1167147 Fix benchmarks now that date is UTC time 2019-08-24 20:57:15 -05:00
Jack Christensen
b2b949afa4 Rename BeginEx to BeginTx and update docs 2019-08-24 20:50:24 -05:00
Jack Christensen
ebf88b691f Rewrap doc.go 2019-08-24 20:46:36 -05:00
Jack Christensen
3675337e5b Update for rename of pgconn.PreparedStatementDescription 2019-08-24 20:44:56 -05:00
Jack Christensen
da9fc85c44 Rename PreparedStatementDescription to StatementDescription
PreparedStatementDescription was too long. It also no longer entirely
represents its purpose now that it is also intended for use with
described statements.
2019-08-24 20:39:03 -05:00
Jack Christensen
0c3e59b07a Add automatic statement cache 2019-08-24 20:29:54 -05:00
Jack Christensen
78abbdf1d7 Rename LRUCache to LRU 2019-08-24 19:48:43 -05:00
Jack Christensen
bcd6b9244a Rename pscache to stmtcache 2019-08-24 19:46:14 -05:00
Jack Christensen
beba629bb5 Fix result reader returned by locked conn 2019-08-24 17:18:29 -05:00
Jack Christensen
180dfe6954 Remove bad error check 2019-08-24 16:29:44 -05:00
Jack Christensen
2209d2e36a Rename mode constants 2019-08-24 16:27:54 -05:00
Jack Christensen
797a44bf04 Rename BuildFrontendFunc to BuildFrontend
For consistency with other functions supplied in Config.
2019-08-24 16:18:04 -05:00
Jack Christensen
e6bd739067 Add pscache package 2019-08-24 16:02:27 -05:00
Jack Christensen
31705e586a Use pgconn.PreparedStatementDescription directly
Instead of having similar pgx.PreparedStatement
2019-08-24 14:29:05 -05:00
Jack Christensen
e540a05760 Fix typo in docs 2019-08-24 14:16:38 -05:00
Jack Christensen
7d83f9ba53 Update pgx for tests
Finish previous go mod dependency bounce.
2019-08-24 13:59:25 -05:00
Jack Christensen
6972a57421 pgtype.OID type should only be used for scanning and encoding values
It was a mistake to use it in other contexts. This made interop
difficult between pacakges that depended on pgtype such as pgx and
packages that did not like pgconn and pgproto3. In particular this was
awkward for prepared statements.

This is preparation for removing pgx.PreparedStatement in favor of
pgconn.PreparedStatement.
2019-08-24 13:55:57 -05:00
Jack Christensen
ab885b375b OID type should only be used for scanning and encoding values
It was a mistake to use it in other contexts. This made interop
difficult between pacakges that depended on pgtype such as pgx and
packages that did not like pgconn and pgproto3. In particular this was
awkward for prepared statements.

Because pgx depends on pgtype and the tests for pgtype depend on pgx
this change will require a couple back and forth commits to get the
go.mod dependecies correct.
2019-08-24 13:49:12 -05:00
Jack Christensen
7385349950 Refactor Conn.exec 2019-08-24 12:46:04 -05:00
Jack Christensen
e22c023d8a Remove unused struct 2019-08-24 10:52:28 -05:00
Jack Christensen
6caca15a91 Remove obsolete test file 2019-08-24 10:50:35 -05:00
Jack Christensen
e9770d6ff9 Add listen / notify implemented with pgconn
fixes #553
2019-08-24 10:49:10 -05:00
Jack Christensen
b7b52ff079 Require conn and pool configs to be created by ParseConfig
This simplifies handling default values. Now there is no ambiguity
between a zero value and a default value. All default values are set by
ParseConfig and the user can modify them after the initial creation.

fixes #567
2019-08-24 09:53:38 -05:00
Jack Christensen
760dd75542 Require Config to be created by ParseConfig 2019-08-24 09:28:44 -05:00
Jack Christensen
d9270bbfb6 Add pglogrepl to related projects 2019-08-22 22:50:25 -05:00
Jack Christensen
1558987979 ReceiveMessage returns context error instead of io error on cancel 2019-08-22 20:11:27 -05:00
Jack Christensen
4cf1c44817 Fix unknown OID scanning into string and []byte 2019-08-22 18:20:36 -05:00
Jack Christensen
11255efe7a Make ErrorResponseToPgError public 2019-08-20 15:49:57 -05:00
Jack Christensen
d364370a31 Add SendBytes and ReceiveMessage 2019-08-20 14:12:07 -05:00
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
9010c554ed Port 251e6b7730c7b31b600e6fe06162e541f3032604 from pgx v3
commit 251e6b7730c7b31b600e6fe06162e541f3032604
Author: Nicholas Wilson <nicholas.wilson@realvnc.com>
Date:   Wed Jul 24 12:32:43 2019 +0100

    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-08-17 13:33:34 -05:00
Jack Christensen
bcc139a365 Port fc020c24ac9590f6547f8ad1d291fc75b4873a84 from pgx v3
commit fc020c24ac9590f6547f8ad1d291fc75b4873a84
Author: Nicholas Wilson <nicholas.wilson@realvnc.com>
Date:   Wed Jul 24 12:32:18 2019 +0100

    Add support for pgtype.UUID to write into any [16]byte type
2019-08-17 13:30:41 -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
0a2ed72cf7
Merge pull request #10 from furdarius/configurable-chunkreader-buf
Configurable chunkreader buffer size
2019-08-08 15:49:17 -05:00
Jack Christensen
5eae85194e Bring stdlib iso change from v3 2019-08-08 15:35:30 -05:00