diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b66bba46..36a9ec4e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,16 +19,47 @@ jobs: include: - pg-version: 10 pgx-test-database: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" + pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require + pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - pg-version: 11 pgx-test-database: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" + pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require + pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - pg-version: 12 pgx-test-database: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" + pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require + pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - pg-version: 13 pgx-test-database: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" + pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require + pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - pg-version: 14 pgx-test-database: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" + pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require + pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test + pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - pg-version: cockroachdb pgx-test-database: "postgresql://root@127.0.0.1:26257/pgx_test?sslmode=disable&experimental_enable_temp_tables=on" + pgx-test-conn-string: "postgresql://root@127.0.0.1:26257/pgx_test?sslmode=disable&experimental_enable_temp_tables=on" steps: @@ -49,3 +80,9 @@ jobs: run: go test -race ./... env: PGX_TEST_DATABASE: ${{ matrix.pgx-test-database }} + PGX_TEST_CONN_STRING: ${{ matrix.pgx-test-conn-string }} + PGX_TEST_UNIX_SOCKET_CONN_STRING: ${{ matrix.pgx-test-unix-socket-conn-string }} + PGX_TEST_TCP_CONN_STRING: ${{ matrix.pgx-test-tcp-conn-string }} + PGX_TEST_TLS_CONN_STRING: ${{ matrix.pgx-test-tls-conn-string }} + PGX_TEST_MD5_PASSWORD_CONN_STRING: ${{ matrix.pgx-test-md5-password-conn-string }} + PGX_TEST_PLAIN_PASSWORD_CONN_STRING: ${{ matrix.pgx-test-plain-password-conn-string }} diff --git a/README.md b/README.md index 5a65a00f..63a0cff8 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ pgx follows semantic versioning for the documented public API on stable releases pgx is the head of a family of PostgreSQL libraries. Many of these can be used independently. Many can also be accessed from pgx for lower-level control. -### [github.com/jackc/pgconn](https://github.com/jackc/pgconn) +### [github.com/jackc/v4/pgconn](https://github.com/jackc/pgx/tree/master/pgconn) `pgconn` is a lower-level PostgreSQL database driver that operates at nearly the same level as the C library `libpq`. diff --git a/batch.go b/batch.go index f0479ea6..547a0efc 100644 --- a/batch.go +++ b/batch.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" ) type batchItem struct { diff --git a/batch_test.go b/batch_test.go index 988a1682..c0eb32d5 100644 --- a/batch_test.go +++ b/batch_test.go @@ -5,9 +5,9 @@ import ( "os" "testing" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/bench_test.go b/bench_test.go index 1a35a1a4..40e24da3 100644 --- a/bench_test.go +++ b/bench_test.go @@ -12,9 +12,9 @@ import ( "testing" "time" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/jackc/pgx/v4/pgtype" "github.com/stretchr/testify/require" ) diff --git a/ci/setup_test.bash b/ci/setup_test.bash index c279a7a4..8f3f26f0 100755 --- a/ci/setup_test.bash +++ b/ci/setup_test.bash @@ -13,6 +13,10 @@ then echo "local all postgres trust" > /etc/postgresql/$PGVERSION/main/pg_hba.conf echo "local all all trust" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf echo "host all pgx_md5 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + echo "host all pgx_pw 127.0.0.1/32 password" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + echo "hostssl all pgx_ssl 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + echo "host replication pgx_replication 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + echo "host pgx_test pgx_replication 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf sudo chmod 777 /etc/postgresql/$PGVERSION/main/postgresql.conf if $(dpkg --compare-versions $PGVERSION ge 9.6) ; then echo "wal_level='logical'" >> /etc/postgresql/$PGVERSION/main/postgresql.conf @@ -24,8 +28,15 @@ then psql -U postgres -c 'create database pgx_test' psql -U postgres pgx_test -c 'create extension hstore' psql -U postgres pgx_test -c 'create domain uint64 as numeric(20,0)' + psql -U postgres -c "create user pgx_ssl SUPERUSER PASSWORD 'secret'" psql -U postgres -c "create user pgx_md5 SUPERUSER PASSWORD 'secret'" + psql -U postgres -c "create user pgx_pw SUPERUSER PASSWORD 'secret'" psql -U postgres -c "create user `whoami`" + psql -U postgres -c "create user pgx_replication with replication password 'secret'" + + # The tricky test user, below, has to actually exist so that it can be used in a test + # of aclitem formatting. It turns out aclitems cannot contain non-existing users/roles. + psql -U postgres -c "create user \" tricky, ' } \"\" \\ test user \" superuser password 'secret'" fi if [[ "${PGVERSION-}" =~ ^cockroach ]] diff --git a/conn.go b/conn.go index b0cbf72b..22cc4f74 100644 --- a/conn.go +++ b/conn.go @@ -8,10 +8,10 @@ import ( "strings" "time" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" "github.com/jackc/pgproto3/v2" "github.com/jackc/pgx/v4/internal/sanitize" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/jackc/pgx/v4/pgtype" ) diff --git a/conn_test.go b/conn_test.go index d18ad1d9..fa764b18 100644 --- a/conn_test.go +++ b/conn_test.go @@ -8,9 +8,9 @@ import ( "testing" "time" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/jackc/pgx/v4/pgtype" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/copy_from.go b/copy_from.go index 3494e28f..52d69cdd 100644 --- a/copy_from.go +++ b/copy_from.go @@ -7,8 +7,8 @@ import ( "io" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgio" + "github.com/jackc/pgx/v4/pgconn" ) // CopyFromRows returns a CopyFromSource interface over the provided rows slice diff --git a/copy_from_test.go b/copy_from_test.go index 20e5b247..b514fd8b 100644 --- a/copy_from_test.go +++ b/copy_from_test.go @@ -8,8 +8,8 @@ import ( "testing" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/require" ) diff --git a/go.mod b/go.mod index 577cc76a..ebcdc2f5 100644 --- a/go.mod +++ b/go.mod @@ -7,14 +7,21 @@ require ( github.com/cockroachdb/apd v1.1.0 github.com/go-kit/log v0.1.0 github.com/gofrs/uuid v4.0.0+incompatible - github.com/jackc/pgconn v1.10.1 + github.com/jackc/chunkreader/v2 v2.0.1 github.com/jackc/pgio v1.0.0 + github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 + github.com/jackc/pgpassfile v1.0.0 github.com/jackc/pgproto3/v2 v2.2.0 + github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b github.com/jackc/puddle v1.2.0 + github.com/lib/pq v1.10.4 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect github.com/rs/zerolog v1.15.0 github.com/shopspring/decimal v1.2.0 github.com/sirupsen/logrus v1.4.2 github.com/stretchr/testify v1.7.0 go.uber.org/zap v1.13.0 + golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 + golang.org/x/text v0.3.6 gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec ) diff --git a/go.sum b/go.sum index e95937cc..97b704ee 100644 --- a/go.sum +++ b/go.sum @@ -28,9 +28,8 @@ github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9 github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0 h1:gqibKSTJup/ahCsNKyMZAniPuZEfIqfXFc8FOWVYR+Q= github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.10.1 h1:DzdIHIjG1AxGwoEEqS+mGsURyjt4enSmqzACXvVzOT8= -github.com/jackc/pgconn v1.10.1/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= @@ -73,13 +72,16 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/mattn/go-colorable v0.1.1 h1:G1f5SKeVxmagw/IyvzvtZE4Gybcc4Tr1tf7I8z0XgOg= +github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= +github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -146,8 +148,10 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/helper_test.go b/helper_test.go index b9cd21c1..25280ac3 100644 --- a/helper_test.go +++ b/helper_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/assert" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/require" ) diff --git a/large_objects_test.go b/large_objects_test.go index 672729ee..167e50d3 100644 --- a/large_objects_test.go +++ b/large_objects_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" ) func TestLargeObjects(t *testing.T) { diff --git a/pgbouncer_test.go b/pgbouncer_test.go index e3fa4d0c..abc349a1 100644 --- a/pgbouncer_test.go +++ b/pgbouncer_test.go @@ -5,9 +5,9 @@ import ( "os" "testing" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pgconn/.github/workflows/ci.yml b/pgconn/.github/workflows/ci.yml deleted file mode 100644 index d84462da..00000000 --- a/pgconn/.github/workflows/ci.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - - test: - name: Test - runs-on: ubuntu-18.04 - - strategy: - matrix: - go-version: [1.15, 1.16] - pg-version: [9.6, 10, 11, 12, 13, cockroachdb] - include: - - pg-version: 9.6 - pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" - pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require - pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - - pg-version: 10 - pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" - pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require - pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - - pg-version: 11 - pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" - pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require - pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - - pg-version: 12 - pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" - pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require - pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - - pg-version: 13 - pgx-test-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-unix-socket-conn-string: "host=/var/run/postgresql dbname=pgx_test" - pgx-test-tcp-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-tls-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test?sslmode=require - pgx-test-md5-password-conn-string: postgres://pgx_md5:secret@127.0.0.1/pgx_test - pgx-test-plain-password-conn-string: postgres://pgx_pw:secret@127.0.0.1/pgx_test - - pg-version: cockroachdb - pgx-test-conn-string: "postgresql://root@127.0.0.1:26257/pgx_test?sslmode=disable&experimental_enable_temp_tables=on" - - steps: - - - name: Set up Go 1.x - uses: actions/setup-go@v2 - with: - go-version: ${{ matrix.go-version }} - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Setup database server for testing - run: ci/setup_test.bash - env: - PGVERSION: ${{ matrix.pg-version }} - - - name: Test - run: go test -v -race ./... - env: - PGX_TEST_CONN_STRING: ${{ matrix.pgx-test-conn-string }} - PGX_TEST_UNIX_SOCKET_CONN_STRING: ${{ matrix.pgx-test-unix-socket-conn-string }} - PGX_TEST_TCP_CONN_STRING: ${{ matrix.pgx-test-tcp-conn-string }} - PGX_TEST_TLS_CONN_STRING: ${{ matrix.pgx-test-tls-conn-string }} - PGX_TEST_MD5_PASSWORD_CONN_STRING: ${{ matrix.pgx-test-md5-password-conn-string }} - PGX_TEST_PLAIN_PASSWORD_CONN_STRING: ${{ matrix.pgx-test-plain-password-conn-string }} diff --git a/pgconn/.gitignore b/pgconn/.gitignore deleted file mode 100644 index e980f555..00000000 --- a/pgconn/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.envrc -vendor/ -.vscode diff --git a/pgconn/CHANGELOG.md b/pgconn/CHANGELOG.md deleted file mode 100644 index 63933a3a..00000000 --- a/pgconn/CHANGELOG.md +++ /dev/null @@ -1,129 +0,0 @@ -# 1.10.1 (November 20, 2021) - -* Close without waiting for response (Kei Kamikawa) -* Save waiting for network round-trip in CopyFrom (Rueian) -* Fix concurrency issue with ContextWatcher -* LRU.Get always checks context for cancellation / expiration (Georges Varouchas) - -# 1.10.0 (July 24, 2021) - -* net.Timeout errors are no longer returned when a query is canceled via context. A wrapped context error is returned. - -# 1.9.0 (July 10, 2021) - -* pgconn.Timeout only is true for errors originating in pgconn (Michael Darr) -* Add defaults for sslcert, sslkey, and sslrootcert (Joshua Brindle) -* Solve issue with 'sslmode=verify-full' when there are multiple hosts (mgoddard) -* Fix default host when parsing URL without host but with port -* Allow dbname query parameter in URL conn string -* Update underlying dependencies - -# 1.8.1 (March 25, 2021) - -* Better connection string sanitization (ip.novikov) -* Use proper pgpass location on Windows (Moshe Katz) -* Use errors instead of golang.org/x/xerrors -* Resume fallback on server error in Connect (Andrey Borodin) - -# 1.8.0 (December 3, 2020) - -* Add StatementErrored method to stmtcache.Cache. This allows the cache to purge invalidated prepared statements. (Ethan Pailes) - -# 1.7.2 (November 3, 2020) - -* Fix data value slices into work buffer with capacities larger than length. - -# 1.7.1 (October 31, 2020) - -* Do not asyncClose after receiving FATAL error from PostgreSQL server - -# 1.7.0 (September 26, 2020) - -* Exec(Params|Prepared) return ResultReader with FieldDescriptions loaded -* Add ReceiveResults (Sebastiaan Mannem) -* Fix parsing DSN connection with bad backslash -* Add PgConn.CleanupDone so connection pools can determine when async close is complete - -# 1.6.4 (July 29, 2020) - -* Fix deadlock on error after CommandComplete but before ReadyForQuery -* Fix panic on parsing DSN with trailing '=' - -# 1.6.3 (July 22, 2020) - -* Fix error message after AppendCertsFromPEM failure (vahid-sohrabloo) - -# 1.6.2 (July 14, 2020) - -* Update pgservicefile library - -# 1.6.1 (June 27, 2020) - -* Update golang.org/x/crypto to latest -* Update golang.org/x/text to 0.3.3 -* Fix error handling for bad PGSERVICE definition -* Redact passwords in ParseConfig errors (Lukas Vogel) - -# 1.6.0 (June 6, 2020) - -* Fix panic when closing conn during cancellable query -* Fix behavior of sslmode=require with sslrootcert present (Petr Jediný) -* Fix field descriptions available after command concluded (Tobias Salzmann) -* Support connect_timeout (georgysavva) -* Handle IPv6 in connection URLs (Lukas Vogel) -* Fix ValidateConnect with cancelable context -* Improve CopyFrom performance -* Add Config.Copy (georgysavva) - -# 1.5.0 (March 30, 2020) - -* Update golang.org/x/crypto for security fix -* Implement "verify-ca" SSL mode (Greg Curtis) - -# 1.4.0 (March 7, 2020) - -* Fix ExecParams and ExecPrepared handling of empty query. -* Support reading config from PostgreSQL service files. - -# 1.3.2 (February 14, 2020) - -* Update chunkreader to v2.0.1 for optimized default buffer size. - -# 1.3.1 (February 5, 2020) - -* Fix CopyFrom deadlock when multiple NoticeResponse received during copy - -# 1.3.0 (January 23, 2020) - -* Add Hijack and Construct. -* Update pgproto3 to v2.0.1. - -# 1.2.1 (January 13, 2020) - -* Fix data race in context cancellation introduced in v1.2.0. - -# 1.2.0 (January 11, 2020) - -## Features - -* Add Insert(), Update(), Delete(), and Select() statement type query methods to CommandTag. -* Add PgError.SQLState method. This could be used for compatibility with other drivers and databases. - -## Performance - -* Improve performance when context.Background() is used. (bakape) -* CommandTag.RowsAffected is faster and does not allocate. - -## Fixes - -* Try to cancel any in-progress query when a conn is closed by ctx cancel. -* Handle NoticeResponse during CopyFrom. -* Ignore errors sending Terminate message while closing connection. This mimics the behavior of libpq PGfinish. - -# 1.1.0 (October 12, 2019) - -* Add PgConn.IsBusy() method. - -# 1.0.1 (September 19, 2019) - -* Fix statement cache not properly cleaning discarded statements. diff --git a/pgconn/LICENSE b/pgconn/LICENSE deleted file mode 100644 index aebadd6c..00000000 --- a/pgconn/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2019-2021 Jack Christensen - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/pgconn/README.md b/pgconn/README.md index 1c698a11..4f0349f2 100644 --- a/pgconn/README.md +++ b/pgconn/README.md @@ -1,6 +1,3 @@ -[![](https://godoc.org/github.com/jackc/pgconn?status.svg)](https://godoc.org/github.com/jackc/pgconn) -![CI](https://github.com/jackc/pgconn/workflows/CI/badge.svg) - # pgconn Package pgconn is a low-level PostgreSQL database driver. It operates at nearly the same level as the C library libpq. diff --git a/pgconn/benchmark_test.go b/pgconn/benchmark_test.go index ced785b6..48955cf6 100644 --- a/pgconn/benchmark_test.go +++ b/pgconn/benchmark_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/require" ) diff --git a/pgconn/ci/script.bash b/pgconn/ci/script.bash deleted file mode 100755 index 5bf1b77e..00000000 --- a/pgconn/ci/script.bash +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -set -eux - -if [ "${PGVERSION-}" != "" ] -then - go test -v -race ./... -elif [ "${CRATEVERSION-}" != "" ] -then - go test -v -race -run 'TestCrateDBConnect' -fi diff --git a/pgconn/ci/setup_test.bash b/pgconn/ci/setup_test.bash deleted file mode 100755 index f71bd98c..00000000 --- a/pgconn/ci/setup_test.bash +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash -set -eux - -if [[ "${PGVERSION-}" =~ ^[0-9.]+$ ]] -then - sudo apt-get remove -y --purge postgresql libpq-dev libpq5 postgresql-client-common postgresql-common - sudo rm -rf /var/lib/postgresql - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - - sudo sh -c "echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVERSION >> /etc/apt/sources.list.d/postgresql.list" - sudo apt-get update -qq - sudo apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::="--force-confnew" install postgresql-$PGVERSION postgresql-server-dev-$PGVERSION postgresql-contrib-$PGVERSION - sudo chmod 777 /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "local all postgres trust" > /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "local all all trust" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "host all pgx_md5 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "host all pgx_pw 127.0.0.1/32 password" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "hostssl all pgx_ssl 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "host replication pgx_replication 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf - echo "host pgx_test pgx_replication 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf - sudo chmod 777 /etc/postgresql/$PGVERSION/main/postgresql.conf - if $(dpkg --compare-versions $PGVERSION ge 9.6) ; then - echo "wal_level='logical'" >> /etc/postgresql/$PGVERSION/main/postgresql.conf - echo "max_wal_senders=5" >> /etc/postgresql/$PGVERSION/main/postgresql.conf - echo "max_replication_slots=5" >> /etc/postgresql/$PGVERSION/main/postgresql.conf - fi - sudo /etc/init.d/postgresql restart - - # The tricky test user, below, has to actually exist so that it can be used in a test - # of aclitem formatting. It turns out aclitems cannot contain non-existing users/roles. - psql -U postgres -c 'create database pgx_test' - psql -U postgres pgx_test -c 'create extension hstore' - psql -U postgres pgx_test -c 'create domain uint64 as numeric(20,0)' - psql -U postgres -c "create user pgx_ssl SUPERUSER PASSWORD 'secret'" - psql -U postgres -c "create user pgx_md5 SUPERUSER PASSWORD 'secret'" - psql -U postgres -c "create user pgx_pw SUPERUSER PASSWORD 'secret'" - psql -U postgres -c "create user `whoami`" - psql -U postgres -c "create user pgx_replication with replication password 'secret'" - psql -U postgres -c "create user \" tricky, ' } \"\" \\ test user \" superuser password 'secret'" -fi - -if [[ "${PGVERSION-}" =~ ^cockroach ]] -then - wget -qO- https://binaries.cockroachdb.com/cockroach-v20.2.5.linux-amd64.tgz | tar xvz - sudo mv cockroach-v20.2.5.linux-amd64/cockroach /usr/local/bin/ - cockroach start-single-node --insecure --background --listen-addr=localhost - cockroach sql --insecure -e 'create database pgx_test' -fi - -if [ "${CRATEVERSION-}" != "" ] -then - docker run \ - -p "6543:5432" \ - -d \ - crate:"$CRATEVERSION" \ - crate \ - -Cnetwork.host=0.0.0.0 \ - -Ctransport.host=localhost \ - -Clicense.enterprise=false -fi diff --git a/pgconn/config_test.go b/pgconn/config_test.go index d29173d1..367c2d3e 100644 --- a/pgconn/config_test.go +++ b/pgconn/config_test.go @@ -12,7 +12,7 @@ import ( "testing" "time" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pgconn/errors_test.go b/pgconn/errors_test.go index 1bff3656..dafe4332 100644 --- a/pgconn/errors_test.go +++ b/pgconn/errors_test.go @@ -3,7 +3,7 @@ package pgconn_test import ( "testing" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/assert" ) diff --git a/pgconn/frontend_test.go b/pgconn/frontend_test.go index b82552bf..f1c3830c 100644 --- a/pgconn/frontend_test.go +++ b/pgconn/frontend_test.go @@ -6,8 +6,8 @@ import ( "os" "testing" - "github.com/jackc/pgconn" "github.com/jackc/pgproto3/v2" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pgconn/go.mod b/pgconn/go.mod deleted file mode 100644 index 6fdd0e97..00000000 --- a/pgconn/go.mod +++ /dev/null @@ -1,15 +0,0 @@ -module github.com/jackc/pgconn - -go 1.12 - -require ( - github.com/jackc/chunkreader/v2 v2.0.1 - github.com/jackc/pgio v1.0.0 - github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 - github.com/jackc/pgpassfile v1.0.0 - github.com/jackc/pgproto3/v2 v2.1.1 - github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b - github.com/stretchr/testify v1.7.0 - golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 - golang.org/x/text v0.3.6 -) diff --git a/pgconn/go.sum b/pgconn/go.sum deleted file mode 100644 index 3c77ee21..00000000 --- a/pgconn/go.sum +++ /dev/null @@ -1,130 +0,0 @@ -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= -github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= -github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0 h1:FYYE4yRw+AgI8wXIinMlNjBbp/UitDJwfj5LqqewP1A= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1 h1:7PQ/4gLoqnl87ZxL7xjO0DR5gYuviDCZxQJsUlFW1eI= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 h1:/UOmuWzQfxxo9UtlXMwuQU8CMgg1eZXqTRwkSQJWKOI= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/pgconn/helper_test.go b/pgconn/helper_test.go index 87613dc9..eb4eaa6b 100644 --- a/pgconn/helper_test.go +++ b/pgconn/helper_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pgconn/internal/ctxwatch/context_watcher_test.go b/pgconn/internal/ctxwatch/context_watcher_test.go index 289606c3..d9061812 100644 --- a/pgconn/internal/ctxwatch/context_watcher_test.go +++ b/pgconn/internal/ctxwatch/context_watcher_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/jackc/pgconn/internal/ctxwatch" + "github.com/jackc/pgx/v4/pgconn/internal/ctxwatch" "github.com/stretchr/testify/require" ) diff --git a/pgconn/pgconn.go b/pgconn/pgconn.go index 382ad33c..9b0e2735 100644 --- a/pgconn/pgconn.go +++ b/pgconn/pgconn.go @@ -15,9 +15,9 @@ import ( "sync" "time" - "github.com/jackc/pgconn/internal/ctxwatch" "github.com/jackc/pgio" "github.com/jackc/pgproto3/v2" + "github.com/jackc/pgx/v4/pgconn/internal/ctxwatch" ) const ( diff --git a/pgconn/pgconn_stress_test.go b/pgconn/pgconn_stress_test.go index 356b529a..83847593 100644 --- a/pgconn/pgconn_stress_test.go +++ b/pgconn/pgconn_stress_test.go @@ -8,7 +8,7 @@ import ( "strconv" "testing" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/require" ) diff --git a/pgconn/pgconn_test.go b/pgconn/pgconn_test.go index c20b7425..79ded806 100644 --- a/pgconn/pgconn_test.go +++ b/pgconn/pgconn_test.go @@ -18,9 +18,9 @@ import ( "testing" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgmock" "github.com/jackc/pgproto3/v2" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pgconn/stmtcache/lru.go b/pgconn/stmtcache/lru.go index 90fb76c2..7935a8c9 100644 --- a/pgconn/stmtcache/lru.go +++ b/pgconn/stmtcache/lru.go @@ -6,7 +6,7 @@ import ( "fmt" "sync/atomic" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" ) var lruCount uint64 diff --git a/pgconn/stmtcache/lru_test.go b/pgconn/stmtcache/lru_test.go index f594ceac..9131defb 100644 --- a/pgconn/stmtcache/lru_test.go +++ b/pgconn/stmtcache/lru_test.go @@ -9,8 +9,8 @@ import ( "testing" "time" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/stretchr/testify/require" ) diff --git a/pgconn/stmtcache/stmtcache.go b/pgconn/stmtcache/stmtcache.go index d083e1b4..91538cf5 100644 --- a/pgconn/stmtcache/stmtcache.go +++ b/pgconn/stmtcache/stmtcache.go @@ -4,7 +4,7 @@ package stmtcache import ( "context" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" ) const ( diff --git a/pgtype/pgxtype/pgxtype.go b/pgtype/pgxtype/pgxtype.go index db4d8926..a16c0389 100644 --- a/pgtype/pgxtype/pgxtype.go +++ b/pgtype/pgxtype/pgxtype.go @@ -4,8 +4,8 @@ import ( "context" "errors" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/jackc/pgx/v4/pgtype" ) diff --git a/pgxpool/batch_results.go b/pgxpool/batch_results.go index c625a474..42f597a5 100644 --- a/pgxpool/batch_results.go +++ b/pgxpool/batch_results.go @@ -1,8 +1,8 @@ package pgxpool import ( - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" ) type errBatchResults struct { diff --git a/pgxpool/common_test.go b/pgxpool/common_test.go index c701e1f7..8ef85052 100644 --- a/pgxpool/common_test.go +++ b/pgxpool/common_test.go @@ -7,8 +7,8 @@ import ( "github.com/jackc/pgx/v4/pgxpool" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pgxpool/conn.go b/pgxpool/conn.go index 0b59d741..fee1ff2b 100644 --- a/pgxpool/conn.go +++ b/pgxpool/conn.go @@ -4,8 +4,8 @@ import ( "context" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/jackc/puddle" ) diff --git a/pgxpool/pool.go b/pgxpool/pool.go index f287ad88..84d05ad9 100644 --- a/pgxpool/pool.go +++ b/pgxpool/pool.go @@ -8,8 +8,8 @@ import ( "sync" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/jackc/puddle" ) diff --git a/pgxpool/rows.go b/pgxpool/rows.go index 6dc0cc34..cc45c76f 100644 --- a/pgxpool/rows.go +++ b/pgxpool/rows.go @@ -1,9 +1,9 @@ package pgxpool import ( - "github.com/jackc/pgconn" "github.com/jackc/pgproto3/v2" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" ) type errRows struct { diff --git a/pgxpool/tx.go b/pgxpool/tx.go index 6f566e41..962b8725 100644 --- a/pgxpool/tx.go +++ b/pgxpool/tx.go @@ -3,8 +3,8 @@ package pgxpool import ( "context" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" ) // Tx represents a database transaction acquired from a Pool. diff --git a/query_test.go b/query_test.go index 7580d8b0..393235b7 100644 --- a/query_test.go +++ b/query_test.go @@ -15,9 +15,9 @@ import ( "github.com/cockroachdb/apd" "github.com/gofrs/uuid" - "github.com/jackc/pgconn" - "github.com/jackc/pgconn/stmtcache" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" + "github.com/jackc/pgx/v4/pgconn/stmtcache" "github.com/jackc/pgx/v4/pgtype" "github.com/shopspring/decimal" "github.com/stretchr/testify/assert" diff --git a/rows.go b/rows.go index 539ce3a5..14bc50ba 100644 --- a/rows.go +++ b/rows.go @@ -6,8 +6,8 @@ import ( "fmt" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgproto3/v2" + "github.com/jackc/pgx/v4/pgconn" "github.com/jackc/pgx/v4/pgtype" ) diff --git a/stdlib/sql.go b/stdlib/sql.go index 20892ab3..c9e36eef 100644 --- a/stdlib/sql.go +++ b/stdlib/sql.go @@ -63,8 +63,8 @@ import ( "sync" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/jackc/pgx/v4/pgtype" ) diff --git a/stdlib/sql_test.go b/stdlib/sql_test.go index 099320c0..6b6440f7 100644 --- a/stdlib/sql_test.go +++ b/stdlib/sql_test.go @@ -13,8 +13,8 @@ import ( "time" "github.com/Masterminds/semver/v3" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/jackc/pgx/v4/stdlib" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/tx.go b/tx.go index 1971ed67..44311f1f 100644 --- a/tx.go +++ b/tx.go @@ -7,7 +7,7 @@ import ( "fmt" "strconv" - "github.com/jackc/pgconn" + "github.com/jackc/pgx/v4/pgconn" ) // TxIsoLevel is the transaction isolation level (serializable, repeatable read, read committed or read uncommitted) diff --git a/tx_test.go b/tx_test.go index e9830d32..85083830 100644 --- a/tx_test.go +++ b/tx_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" - "github.com/jackc/pgconn" "github.com/jackc/pgx/v4" + "github.com/jackc/pgx/v4/pgconn" "github.com/stretchr/testify/require" )