Michael Darr
c0b4d3bc05
Implement timeout error
...
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-07 18:14:36 -05:00
Yuli Khodorkovskiy
033ca7d47f
Fix unexpected EOF failure for StartupMessage
2021-07-07 18:10:44 -05:00
Nicholas Wilson
aafa04c156
Use zap.Any for handling interface{} -> zap.Field conversion
...
zap.Any falls back to zap.Reflect, but is better for this case, because
it first checks for the types that zap handles specially. For example,
time.Duration, or error, which zap.Reflect will just treat as untyped
int64 or struct objects, but zap.Any is able to detect these types and
print them properly.
2021-07-06 20:18:16 -05:00
Jack Christensen
6bce4a1878
Merge pull request #19 from gitstashpop/backend-unexpected-eof
...
Extend handling of unexpected EOF to the backend
2021-07-06 20:08:14 -05:00
Jack Christensen
aaef9bbc35
Merge branch 'master' into backend-unexpected-eof
2021-07-06 20:07:55 -05:00
Yuli Khodorkovskiy
2d3823838e
Perform StartupMessage length validation
...
PG provides a maximum size for a StartupMessage:
https://doxygen.postgresql.org/pqcomm_8h.html#a4c50c668c551887ac3a49872130349e3
Limiting the size ensures a malicious user doesn't send an
overwhelmingly large StartupMessage which could DOS a Go binary that
uses pgproto3.
2021-07-06 20:01:33 -05:00
Cameron Daniel
3eceab0f38
Maintain host bits for inet types
2021-07-06 19:59:41 -05:00
Yuli Khodorkovskiy
10c6c50ac9
Extend handling of unexpected EOF to the backend
...
In the original issue [1] and commit [2], support for unexpected EOF was
added to the frontend to detect when a connection was closed abruptly.
Additionally, this allows us to differentiate normal io.EOF errors with
unexpected errors in the backend.
[1] https://github.com/jackc/pgx/issues/662/
[2] 595780be0f
2021-07-01 17:53:14 -04:00
Joshua Brindle
a123e5b4e5
Add defaults for sslcert, sslkey, and sslrootcert
...
per https://www.postgresql.org/docs/current/libpq-ssl.html
psql will use client certs located in ~/.postgresql on posix systems
or %APPDATA%\postgresql on Windows systems.
2021-06-26 11:25:41 -05:00
Aliaksandr Mianzhynski
4a2209a1b4
Don't allocate buffer when tx opts are empty
2021-06-26 10:52:09 -05:00
Jack Christensen
2ca304d461
pgtype.Inet preserves masked address portion
...
fixes #111
2021-06-26 10:49:56 -05:00
mgoddard
bf76d1ed51
Solve issue with 'sslmode=verify-full' when there are multiple hosts
2021-06-19 10:14:17 -05:00
Sivabalan Thirunavukkarasu
bacf81fb4e
Bumping versions for other dependencies
2021-06-19 10:06:47 -05:00
Sivabalan Thirunavukkarasu
cfcd61d0cb
Updating dependency versions
2021-06-19 10:06:47 -05:00
Sivabalan Thirunavukkarasu
2c22da0155
Bumping versions for other dependencies
2021-06-19 10:06:24 -05:00
Sivabalan Thirunavukkarasu
821e0521e4
Updating dependency versions
2021-06-19 10:06:24 -05:00
Yuli Khodorkovskiy
7c9e840726
Add support for identifying authentication messages
...
The pgprotocol overloads 'p' messages with PasswordMessage,
SASLInitialResponse, SASLResponse, and GSSResponse. This patch allows
contextual identification of the message by setting the authType in the
frontend and then setting this value in the backend when a
AuthenticationResponseMessage is received.
2021-06-12 13:54:34 -05:00
Dmytro Haranzha
cabb58cc40
ResetSession hook is called before a connection is reused from pool for another query.
2021-06-12 13:48:31 -05:00
Yuli Khodorkovskiy
28c20e93c0
Fix json marshal/unmarshal implementations
...
Fix marshal/unmarshal for:
- authentication_{cleartext_password, md5_password, ok, sasl, sasl_continue, sasl_final}
- error_response
2021-05-29 11:06:05 -05:00
Henrique Vicente
9c2c389e06
json: fix implementation of json Unmarshalers.
...
* AuthenticationMD5Password was wrong and is not needed
* Bind was wrong
* ErrorResponse is not needed
* Minor improvements for reliability
2021-05-22 11:34:25 -05:00
Henrique Vicente
ba924e5715
json: Implement json.Unmarshaler for messages.
...
This will allow using pgmockproxy output as ingestion data for pgmock.
2021-05-22 11:34:25 -05:00
Ivan Daunis
5bca076182
Refactor to interface convert
2021-05-22 11:33:42 -05:00
Ivan Daunis
0977e29341
Support pointers of wrapping structs
2021-05-22 11:33:42 -05:00
Jack Christensen
fb42201c18
Fix default host when parsing URL without host but with port
...
fixes https://github.com/jackc/pgconn/issues/72
2021-05-14 18:39:31 -05:00
dkinder
00feeaa5c9
stdlib: style nit in RandomizeHostOrderFunc
2021-05-10 08:17:53 -05:00
dkinder
a8020a21e8
stdlib: add OptionBeforeConnect and randomizer
...
Fixes https://github.com/jackc/pgconn/issues/71
2021-05-10 08:17:53 -05:00
Rueian
cae98b5e45
Register JSONBArray at NewConnInfo()
2021-05-03 22:20:58 +08:00
Jack Christensen
4380e23ae1
CompositeTextScanner handles backslash escapes
...
fixes https://github.com/jackc/pgx/issues/874
2021-04-24 08:08:34 -05:00
alex
e722ca608c
added url connection example
2021-04-17 09:56:17 -05:00
Jack Christensen
3f76b98073
Allow dbname query parameter in URL conn string
...
fixes #69
2021-04-09 18:20:06 -05:00
Andrew Kimball
3ab8941921
stdlib: Do not reuse ConnConfig strings
...
Previously, stdlib.RegisterConnConfig would sometimes reuse the same connection
string for different ConnConfig options (specifically, it happened when a connection
was open and then closed, and then a new, different connection was opened). This
behavior interferes with callers that expect that two connections with the same data
source name are connecting to the same backend database in the same way.
This fix updates stdlib.RegisterConnConfig to use an incrementing sequence
counter to uniquify all returned connection strings.
Fixes #947
2021-04-03 10:52:37 -05:00
Jonathan Amsterdam
88ede6efb5
stdlib: implement Conn.ResetSession
...
This prevents closed connections from being returned
by `database.sql.DB.Conn`.
Fixes #974 .
2021-03-26 10:25:07 -05:00
Jack Christensen
909b81a163
Release v4.11.0
v4.11.0
2021-03-25 10:21:28 -04:00
Jack Christensen
799cf1f04b
Update copyright date
2021-03-25 10:08:09 -04:00
Jack Christensen
096f8ca754
Fix test in other time zones
2021-03-25 10:07:34 -04:00
Jack Christensen
2114ca9458
Update pgconn and pgtype
2021-03-25 09:59:38 -04:00
Jack Christensen
a49f4bb135
Use errors instead of golang.org/x/xerrors
2021-03-25 09:55:12 -04:00
Jack Christensen
4a3a424dff
Release v1.7.0
2021-03-25 09:16:43 -04:00
Jack Christensen
464a7d88d9
Release v1.8.1
2021-03-25 09:15:45 -04:00
Jack Christensen
cdb667b5b0
Update copyright date
2021-03-25 09:15:45 -04:00
Jack Christensen
63e2dbefaf
Update copyright date
2021-03-25 09:08:27 -04:00
Jack Christensen
dd160540c4
Use Go 1.13 errors instead of xerrors
2021-03-25 09:08:27 -04:00
Ethan Pailes
e8f75629d0
upgrade x/crypto to avoid CVE-2020-9283
...
I found this when scanning for security issues in some
dependencies. I doubt that this CVE will impact pgconn
since I don't think it uses the ssh cropto module, but
I think it is worth being fairly agressive about upgrading
security sensative libraries and this doesn't seem to be
a breaking change.
2021-03-23 07:44:35 -05:00
Jack Christensen
80147fd7cc
Use sync.Once to guard pool.Close
...
This avoids the small possibility of 2 concurrent Close calls still
double closing the channel.
2021-03-19 08:58:56 -05:00
Matt Schultz
fe366b2cf3
Prevent panics caused by attempting to close an already closed pgxpool.Pool.
2021-03-19 08:58:56 -05:00
Matt Schultz
a0028cbd0d
Handle SendBatch calls on closed transactions with null connections. This was previously panicking due to a null pointer exception as exposed in the provided unit test.
2021-03-19 08:38:19 -05:00
Jack Christensen
495d482f20
Fix PG version extraction in tests
2021-03-13 07:55:53 -06:00
Jack Christensen
1fcefdc73f
Fix BeginTxFunc not passing txOptions
...
fixes #961
2021-03-13 07:43:08 -06:00
Rusakow Andrew
292539a590
Add comment support when sanitizing SQL queries
2021-03-13 07:31:56 -06:00
drewdogg
aa89720576
go 1.13
2021-03-13 07:23:29 -06:00