1472 Commits

Author SHA1 Message Date
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
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
d9270bbfb6 Add pglogrepl to related projects 2019-08-22 22:50:25 -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
Jonathan Yoder
0c07df20b2 Clarify stdlib.AcquireConn Comment 2019-08-15 08:41:13 -05:00
Jack Christensen
5eae85194e Bring stdlib iso change from v3 2019-08-08 15:35:30 -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
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
ab1edc79e0 Remove 0 bytes when sanitizing identifiers
Port of 95ea78048a9569250c078d1965a235a214239960 from v3.
2019-08-03 09:51:03 -05:00
Jack Christensen
a7e821c99c Improved example on readme 2019-06-29 14:21:41 -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
Jack Christensen
aff43ee158 Remove temp benchmark 2019-06-29 11:23:34 -05:00
Jack Christensen
be89cce214 Fix NULL with extendedQueryBuilder 2019-06-01 17:30:38 -05:00
Jack Christensen
c5a70faea6 Update xerrors and pgconn packages 2019-05-28 06:55:44 -05:00
Jack Christensen
f26125d913 Update pgconn for fallback config fix 2019-05-27 12:51:45 -05:00
Jack Christensen
6c5ebe0213 Provide type for extended protocol query 2019-05-25 21:55:04 -05:00
Jack Christensen
d40d76c181 Update and simplify test instructions 2019-05-25 10:42:23 -05:00
Jack Christensen
159d82e772 Extract replication to pgxrepl package 2019-05-25 10:24:58 -05:00
Jack Christensen
dd8c63c839 Fix README typo 2019-05-23 14:50:04 -05:00
Jack Christensen
0830aae884 Remove unnecessary internal function 2019-05-20 21:03:39 -05:00
Jack Christensen
98f3e64bec Use envvars for stdlib tests 2019-05-20 20:39:45 -05:00
Jack Christensen
29f02807b0 Restore simple protocol support 2019-05-20 20:36:03 -05:00
Jack Christensen
6d23b58b01 Update url_shortener example 2019-05-17 14:13:03 -05:00
Jack Christensen
54c520695f Remove unused code 2019-05-17 14:00:13 -05:00
Jack Christensen
b0dac84d77 Use extended query builder everywhere 2019-05-17 13:59:41 -05:00
Jack Christensen
c418d45f75 Remove unused code 2019-05-11 11:50:50 -05:00
Jack Christensen
03abfc6452 Large objects use context 2019-05-11 11:49:59 -05:00
Jack Christensen
79f49ce300 Convert large objects to prepared statements
This allows removing semi-obsolete fastpath interface support. See
https://www.postgresql.org/docs/current/libpq-fastpath.html. This also
simplifies introducing context support.
2019-05-11 11:36:38 -05:00
Jack Christensen
f572b336b1 Improve pool Acquire / Release performance
Release was using a goroutine every time. Now it only starts a goroutine
when doing something that may take a while. (Destroy and afterRelease)
2019-05-04 17:36:08 -05:00
Jack Christensen
3661a005fa Per pool.Conn preallocated resources
This removes the pool wide mutexes for preallocated resources.
2019-05-04 16:49:46 -05:00
Jack Christensen
00a1b62e91 Fix name of defaultMaxConns 2019-05-04 15:53:25 -05:00
Jack Christensen
3c7cd51a17 Preallocate poolRows 2019-05-04 15:52:59 -05:00
Jack Christensen
d7fdbf1b49 Preallocate poolRow 2019-05-04 15:47:42 -05:00
Jack Christensen
dc0cf11399 Bulk allocate pool Conns 2019-05-04 15:40:47 -05:00
Jack Christensen
583c8d3b25 Use pgproto3.FieldDescription instead of pgx version
This allows removing a malloc and memcpy.
2019-05-04 13:47:18 -05:00
Jack Christensen
ea31df3b50 Extract extendedQueryBuilder 2019-05-04 12:32:21 -05:00
Jack Christensen
8b365ce37e Extract int16SlicePool 2019-05-04 11:01:09 -05:00
Jack Christensen
dd571cf345 Remove another malloc from query path 2019-05-04 09:01:57 -05:00
Jack Christensen
db68713809 Remove malloc from query path 2019-05-04 08:58:02 -05:00
Jack Christensen
85ddbfeeee Remove 2 mallocs from query path 2019-05-04 08:55:05 -05:00