2938 Commits

Author SHA1 Message Date
Jack Christensen
be9ceaefe6 Add native Go slice support for strings and numbers to simple protocol
[]string, []int16, []int32, []int64, []int, []uint16, []uint32,
[]uint64, []uint, []float32, and []float64 are now supported in the
simple protocol like they are in the normal usage of the extended
protocol.
2020-04-11 09:27:07 -05:00
Maxim Ivanov
9a869c8359 Refactor record field binary decoder preparation 2020-04-11 11:08:53 +01:00
Maxim Ivanov
087df120bb Refactor lowlevel record field iteration 2020-04-11 10:38:23 +01:00
Jack Christensen
5f723da269
Merge pull request #716 from redbaron/row-values-doc
Clarify row type handling example
2020-04-10 13:19:28 -05:00
Maxim Ivanov
198f5093e8 Clarify row type handling example 2020-04-10 18:39:04 +01:00
Jack Christensen
3286f3111b
Merge pull request #715 from redbaron/row-values-doc
Document row and composite types handling
2020-04-10 12:04:53 -05:00
Maxim Ivanov
692e10f901 Document row and composite types handling 2020-04-10 17:08:56 +01:00
Jack Christensen
15856c001a
Merge pull request #33 from pjediny/sslmode-require-with-rootca
Fix behavior of sslmode=require with sslrootcert present
2020-04-07 20:00:31 -05:00
Jack Christensen
7a9efdefde
Merge pull request #712 from lbcjbb/master
[pgxpool] Fix connection leak if BeginTx() fail
2020-04-07 19:52:40 -05:00
Jack Christensen
98c9ec4f7b
Merge pull request #23 from lbcjbb/clean-go-mod-file
Clean go.sum file to remove old version of pgx v3
2020-04-07 19:49:44 -05:00
Jack Christensen
5d2be99c25 Fix panic when closing conn during cancellable query
fixes #29
2020-04-07 19:38:21 -05:00
Petr Jediný
84aee0ab44 Fix behavior of sslmode=require with sslrootcert present
According to PostgreSQL documentation the behavior should be
the same as that of verify-ca sslmode

https://www.postgresql.org/docs/12/libpq-ssl.html
2020-04-08 00:08:53 +02:00
Jean-Baptiste Bronisz
4127eba03f
[pgxpool] Fix connection leak if BeginTx() fail 2020-04-07 22:31:09 +02:00
Jean-Baptiste Bronisz
1fcc71410c
Clean go.sum file to remove old version of pgx v3 2020-04-06 19:45:25 +02:00
Jack Christensen
e6af41a78a
Merge pull request #709 from georgysavva/flexible-pool-init
Add ability to skip network operations on pool initialization.
2020-04-04 07:54:28 -05:00
georgysavva
271f5a8a7d revert go.sum 2020-04-03 10:56:40 +03:00
georgysavva
5d453485a9 Introduce new pool setting: LazyConnect 2020-04-03 10:28:05 +03:00
Jack Christensen
bc4586ac6f Update to puddle v1.1.1
Fixes potential race condition if health check is creating new
connections while the pool is closed.
2020-04-02 22:24:09 -05:00
Jack Christensen
f76d37a387 Do not run timing sensitive test in parallel
This test
2020-04-02 22:24:09 -05:00
Jack Christensen
0329f12e05 Remove unneeded goroutine spawn in connection pool destructor
fixes #708
2020-04-02 22:24:09 -05:00
Jack Christensen
9016875cae Add JSON support to ext/gofrs-uuid 2020-04-02 14:01:16 -05:00
Jack Christensen
43c2113f90
Merge pull request #706 from georgysavva/wrapTx-context
add context to `stdlib.wrapTx{}`
2020-04-02 08:19:05 -05:00
georgysavva
7738775417 Include context into stdlib.wrapTx{} in order to propagate it to the underlying pgx.Tx.Commit() and Rollback() methods. 2020-04-02 15:30:55 +03:00
Jack Christensen
9188e32737
Merge pull request #704 from OberstK/patch-1
Fix of Link in Readme
2020-03-31 09:09:49 -05:00
Benjamin Kurczyk
e6e888b15c
Fix of Link in Readme
The Link to "tern" is wrong. This fixes it
2020-03-31 15:34:56 +02:00
Jack Christensen
27a069cea3 List pgerrcode in related libraries 2020-03-30 15:09:40 -05:00
Jack Christensen
14062fd19f Link to related libraries 2020-03-30 15:08:35 -05:00
Jack Christensen
0446492fe9 Release v4.6.0 v4.6.0 2020-03-30 11:35:02 -05:00
Jack Christensen
cdec57523d Update to pgtype v1.3.0 2020-03-30 11:31:23 -05:00
Jack Christensen
ef5f8b54af Update dependencies 2020-03-30 11:30:37 -05:00
Jack Christensen
da5c28239b Update to pgconn v1.5.0 2020-03-30 11:21:43 -05:00
Jack Christensen
b26cd22378 Update changelog for v1.3.0 2020-03-30 11:18:27 -05:00
Jack Christensen
e4f3224f4c Update changelog for v1.5.0 2020-03-30 11:15:08 -05:00
Jack Christensen
11d9f4e54f Update golang.org/x/crypto for security fix 2020-03-30 11:09:29 -05:00
Jack Christensen
d3d80cd2de Merge branch 'rwelin-rw_format' 2020-03-27 16:10:54 -05:00
Jack Christensen
65bb544ba9 Merge branch 'rw_format' of git://github.com/rwelin/pgtype into rwelin-rw_format 2020-03-27 16:10:37 -05:00
Jack Christensen
75f79ebc0f Merge branch 'anicoll-microsecond_accuracy' 2020-03-27 16:03:14 -05:00
Jack Christensen
523cdad66f Truncate nanoseconds in EncodeText for Timestamptz and Timestamp
PostgreSQL has microsecond precision. If more than this precision is
supplied in the text format it is rounded. This was inconsistent with
the binary format.

See https://github.com/jackc/pgx/issues/699 for original issue.
2020-03-27 15:59:54 -05:00
Robert Welin
43bf713180 Use correct format verb for unknown type error 2020-03-27 13:20:33 +00:00
Andrew Nicoll
816e95d3ee sanatize time to within microsecond accuracy 2020-03-27 13:03:36 +00:00
Jack Christensen
af03592c0f Merge branch 'treebeardcpu-patch-2' 2020-03-25 20:26:13 -05:00
Jack Christensen
fef3ffc391 Link to pkg.go.dev instead of godoc.org
This is a big improvement because it can directly link to the v4 docs
instead of the pre-modules v3. The badge should be changed once the new
pkg.go.dev badge is available.
2020-03-25 20:24:20 -05:00
Jack Christensen
1dc45f1fa0 README.md tweaks 2020-03-25 20:23:04 -05:00
treebeardcpu
7ca7515087
README: improve flow and readability
Some grammatical changes, some formatting, some new text.
pgx is an excellent driver and deserves an excellent README :)
2020-03-25 19:59:24 -04:00
Jack Christensen
87c8ddd0d1
Merge pull request #32 from gcurtis/verify-ca
Implement "verify-ca" SSL mode
2020-03-21 11:13:55 -05:00
Jack Christensen
844dccf412
Merge pull request #692 from basvanbeek/early_bail
bail early if preloading rows.Next() results in rows.Err()
2020-03-21 10:58:16 -05:00
Jack Christensen
ed50e535c7 Update example readme 2020-03-19 20:50:11 -05:00
Greg Curtis
4ed48d05d2 Implement "verify-ca" SSL mode
ParseConfig currently treats the libpq "verify-ca" SSL mode as
"verify-full". This is okay from a security standpoint because
"verify-full" performs certificate verification and hostname
verification, whereas "verify-ca" only performs certificate
verification.

The downside to this approach is that checking the hostname is
unnecessary when the server's certificate has been signed by a private
CA. It can also cause the SSL handshake to fail when connecting to an
instance by IP. For example, a Google Cloud SQL instance typically
doesn't have a hostname and uses its own private CA to sign its
server and client certs.

This change uses the tls.Config.VerifyPeerCertificate function to
perform certificate verification without checking the hostname when the
"verify-ca" SSL mode is set. This brings pgconn's behavior closer to
that of libpq.

See https://github.com/golang/go/issues/21971#issuecomment-332693931
and https://pkg.go.dev/crypto/tls?tab=doc#example-Config-VerifyPeerCertificate
for more details on how this is implemented.
2020-03-17 23:36:06 -07:00
Bas van Beek
e75d315079 bail early if preloading rows.Next() results in rows.Err() 2020-03-17 19:50:23 +01:00
Jack Christensen
9e700ff067 Date.Set parses string 2020-03-09 10:40:40 -05:00