2707 Commits

Author SHA1 Message Date
Jack Christensen
8170eaf401 Update to latest version of pgconn
- Also remove a few tests of functionality that is handled by pgconn
2019-08-27 18:22:34 -05:00
Jack Christensen
66aaed7c9e Remove public fields from PgConn
- Access TxStatus via method
- Make Config private

fixes #7
2019-08-27 18:11:50 -05:00
Jack Christensen
138254da5b Refactor errors
- Use strongly typed errors internally
- SafeToRetry(error) streamlines retry logic over ErrNoBytesSent
- Timeout(error) removes the need to choose between returning a context
  and an i/o error
2019-08-27 18:05:50 -05:00
Jack Christensen
169632e028 Refactor format code choosing 2019-08-25 00:38:50 -05:00
Jack Christensen
b1e25e4ea4 Add format code helpers to ConnInfo 2019-08-25 00:32:11 -05:00
Jack Christensen
8f080dcbb2 Update pgconn for access to min_read_buffer_size param 2019-08-25 00:23:07 -05:00
Jack Christensen
e6cf51b304 Expose min_read_buffer_size config param 2019-08-25 00:22:32 -05:00
Jack Christensen
595d09d6f1 Build fully operational Frontend 2019-08-24 23:57:24 -05:00
Jack Christensen
a262126b5c Replace IsAlive with IsClosed
IsAlive is ambiguous because the connection may be dead and we do not
know it. It implies the possibility of a ping. IsClosed is clearer -- it
does not promise the connection is alive only that it hasn't been
closed.
2019-08-24 23:49:59 -05:00
Jack Christensen
6feea0c1c5 Replace IsAlive with IsClosed
IsAlive is ambiguous because the connection may be dead and we do not
know it. It implies the possibility of a ping. IsClosed is clearer -- it
does not promise the connection is alive only that it hasn't been
closed.

fixes #2
2019-08-24 23:43:26 -05:00
Jack Christensen
d5a6a5e7e0 Remove Results suffix from BatchResults methods 2019-08-24 23:41:28 -05:00
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