Commit Graph

1899 Commits (a0028cbd0de2eb3c332aefff381bc7a852abb62c)

Author SHA1 Message Date
Jack Christensen e3519cfd75 Document supported versions 2020-05-09 10:24:58 -05:00
Jack Christensen a66b09fbd8 Improve simple protocol / text format
Increased data type support for simple protocol. Improved test
coverage of simple protocol. This has the additional advantage of
exercising the text encoders and decoders.
2020-05-08 16:20:15 -05:00
Jack Christensen c3381c6911 Replace t.Fatal with require where possible 2020-05-08 12:47:47 -05:00
Jack Christensen ec53234e86 Rename ensureConnValid to ensureDBValid 2020-05-08 12:26:24 -05:00
Jack Christensen c44cda4bb4 Clean up old Go 1.10 build tags
pgx requires Go modules which requires at least Go 1.11 so there is no
use in build tags to support older Go versions.
2020-05-08 12:18:09 -05:00
Jack Christensen c03ac1519e Improve stdlib performance with large result sets
In a hot path type assertions are expensive. Cache the already correctly
typed interfaces. ~20% improvement with 1000 rows.

Before:

jack@glados ~/dev/pgx/stdlib ±master » PGX_BENCH_SELECT_ROWS_COUNTS='1 10 1000' got ./... -bench=SelectRows -benchmem
goos: darwin
goarch: amd64
pkg: github.com/jackc/pgx/v4/stdlib
BenchmarkSelectRowsScanSimple/1_rows-16         	   21465	     55060 ns/op	    1679 B/op	      40 allocs/op
BenchmarkSelectRowsScanSimple/10_rows-16        	   16692	     71176 ns/op	    3827 B/op	     148 allocs/op
BenchmarkSelectRowsScanSimple/1000_rows-16      	     800	   1369547 ns/op	  248855 B/op	   12938 allocs/op
BenchmarkSelectRowsScanNull/1_rows-16           	   20306	     57883 ns/op	    1940 B/op	      54 allocs/op
BenchmarkSelectRowsScanNull/10_rows-16          	   15942	     74729 ns/op	    4294 B/op	     171 allocs/op
BenchmarkSelectRowsScanNull/1000_rows-16        	     829	   1326788 ns/op	  261291 B/op	   13051 allocs/op
PASS
ok  	github.com/jackc/pgx/v4/stdlib	10.429s

After:

jack@glados ~/dev/pgx/stdlib ±master » PGX_BENCH_SELECT_ROWS_COUNTS='1 10 1000' got ./... -bench=SelectRows -benchmem
goos: darwin
goarch: amd64
pkg: github.com/jackc/pgx/v4/stdlib
BenchmarkSelectRowsScanSimple/1_rows-16         	   21327	     55097 ns/op	    2127 B/op	      43 allocs/op
BenchmarkSelectRowsScanSimple/10_rows-16        	   16724	     69496 ns/op	    4276 B/op	     151 allocs/op
BenchmarkSelectRowsScanSimple/1000_rows-16      	    1009	   1124573 ns/op	  250037 B/op	   12941 allocs/op
BenchmarkSelectRowsScanNull/1_rows-16           	   20577	     58117 ns/op	    2396 B/op	      57 allocs/op
BenchmarkSelectRowsScanNull/10_rows-16          	   16402	     72533 ns/op	    4750 B/op	     174 allocs/op
BenchmarkSelectRowsScanNull/1000_rows-16        	    1010	   1161437 ns/op	  261735 B/op	   13054 allocs/op
PASS
ok  	github.com/jackc/pgx/v4/stdlib	10.363s
2020-05-08 00:06:42 -05:00
Jack Christensen dea915e605 Compare binary and text format through pgx
Make ID field bigger -- otherwise all ints are less than 4 digits and
get a bit too much of an advantage in text vs. binary
2020-05-07 22:28:46 -05:00
Jack Christensen e439372d2a Add multi-row select benchmarks 2020-05-07 22:28:46 -05:00
Jack Christensen f18351f61c Use ++ instead of += 1 2020-05-07 22:28:46 -05:00
Jack Christensen f9ce8af5c9 Add explicit enum support 2020-05-07 22:28:46 -05:00
Jack Christensen 71fb93a96c Add CopyFrom with enum test 2020-05-07 22:28:46 -05:00
georgysavva e27a6e71b5 Wrap stdlib Conn.Close() and Stmt.Close() with default 5 seconds timeout. 2020-05-02 16:57:39 +03:00
georgysavva e5920c3ad9 Merge branch 'master' of github.com:jackc/pgx 2020-05-02 15:01:11 +03:00
Jack Christensen 3c5d72a8d9
Merge pull request #733 from dchenk/patch-1
Small typo fixed
2020-04-30 19:15:06 -05:00
Dmitriy 830193dc36
Small typo fixed 2020-04-29 22:23:46 -07:00
Jack Christensen 63428b802d
Merge pull request #731 from felixge/patch-1
Fix typo in readme
2020-04-28 10:47:33 -05:00
Felix Geisendörfer 23a4edc0d7
Fix typo in readme 2020-04-28 11:33:33 +02:00
georgysavva 5364a47e05 Update go.sum via go mod tidy 2020-04-13 21:20:24 +03:00
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
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 7a9efdefde
Merge pull request #712 from lbcjbb/master
[pgxpool] Fix connection leak if BeginTx() fail
2020-04-07 19:52:40 -05:00
Jean-Baptiste Bronisz 4127eba03f
[pgxpool] Fix connection leak if BeginTx() fail 2020-04-07 22:31:09 +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 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 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 da5c28239b Update to pgconn v1.5.0 2020-03-30 11:21:43 -05:00
Jack Christensen 75f79ebc0f Merge branch 'anicoll-microsecond_accuracy' 2020-03-27 16:03:14 -05: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 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
Bas van Beek e75d315079 bail early if preloading rows.Next() results in rows.Err() 2020-03-17 19:50:23 +01:00
Jack Christensen 576f99a35e Release v4.5.0 2020-03-07 13:32:17 -06:00