Commit Graph

341 Commits (b69179cebbbf9a8498482d780b4f3623b2256ac3)

Author SHA1 Message Date
Jack Christensen b69179cebb Remove Conn.Listen and Conn.Unlisten
Use Conn.Exec instead to listen or unlisten.
2019-04-10 11:21:40 -05:00
Jack Christensen ec10fdde8b Core of new connection pool 2019-04-09 21:32:01 -05:00
Jack Christensen d619d8913e Remove cancel query logic 2019-04-05 11:04:57 -05:00
Jack Christensen 858d00788a Use extracted packages with Go modules 2019-04-05 10:59:47 -05:00
Jack Christensen d287776d97 Use LogLevel type consistently 2019-03-23 11:32:38 -05:00
Jack Christensen bd181764bf Remove ensureConnectionReadyForQuery 2019-02-02 13:00:31 -06:00
Jack Christensen 577bc57ba5 Remove sendSimpleQuery
In preparation for removing ready for query tracking.
2019-02-02 12:55:12 -06:00
Jack Christensen 1127f31cb3 Remove sendPreparedQuery and simplify sendSimpleQuery 2019-02-02 12:47:12 -06:00
Jack Christensen 52e8d0d679 Remove *Conn.sendQuery 2019-02-02 12:45:10 -06:00
Jack Christensen 1ccd6527f5 Remove rxMsg 2019-02-02 12:41:44 -06:00
Jack Christensen d3a2c1c107 Partial conversion of pgx to use pgconn 2019-01-26 16:46:30 -06:00
Jack Christensen c4050134cc Begin delegation of Prepare to pgconn 2019-01-12 12:19:12 -06:00
Jack Christensen 1257b89df7 Update main pgx package to compile with new pgconn 2019-01-05 19:00:41 -06:00
Jack Christensen e78fd95296 Fix switching CommandTag back to string 2019-01-05 18:53:07 -06:00
Jack Christensen 19a8df16b6 Move notice handling to pgconn 2019-01-02 13:15:26 -06:00
Jack Christensen 89c3d8af5d Remove ExecEx 2019-01-02 12:52:37 -06:00
Jack Christensen 12857ad05b Implement pgx.Conn.Exec in terms of pgconn.PgConn.Exec 2019-01-02 12:32:36 -06:00
Jack Christensen 7f9540438c pgx uses pgconn.CommandTag instead of own definition 2019-01-01 16:55:48 -06:00
Jack Christensen 356a6c43d2 Avoid allocating strings in common message types 2019-01-01 13:47:37 -06:00
Jack Christensen be7a7b44dc Access PID and SecretKey via method 2018-12-31 18:03:55 -06:00
Jack Christensen 1ff8024df9 Access underlying net.Conn via method
Also remove some dead code.
2018-12-31 18:00:08 -06:00
Jack Christensen af2fc36c27 Remove code moved to pgconn 2018-12-31 17:52:11 -06:00
Jack Christensen 378ccb8945 PG error type is *pgconn.PgError 2018-12-31 17:46:56 -06:00
Jack Christensen 103ab963eb pgx uses pgconn CancelRequest 2018-12-31 17:37:07 -06:00
Jack Christensen 084423ae69 Add context to potentially blocking methods 2018-12-31 17:17:11 -06:00
Jack Christensen b3c8a73dc7 Restructure connect process
- Moved lots of connection logic to pgconn from pgx
- Extracted pgpassfile package
2018-12-30 16:55:56 -06:00
Jack Christensen 9990e4894d Rename base package to pgconn 2018-12-28 17:09:56 -06:00
Jack Christensen 44de49ffa1 Rename runtime params to parameter status 2018-12-28 12:25:59 -06:00
Jack Christensen b63370e5d5 Rename base.Conn to base.PgConn
- pgx.Conn embeds base.PgConn privately
- Add pgx.Conn.ParameterStatus
2018-12-28 12:16:50 -06:00
Jack Christensen a9a178bc98 Merge branch 'master' into v4-experimental 2018-12-01 11:17:30 -06:00
Jack Christensen f25025a580
Merge pull request #486 from yobert/master
Fix two minor grammatical errors in source documentation
2018-12-01 10:38:57 -06:00
Joel Jensen 41b714110a Fix two minor grammatical errors in source documentation 2018-11-27 16:40:46 -07:00
James Hartig 6d336eccb1 Added LastStmtSent and use it to retry on errors if statement was not sent
Previously, a failed connection could be put back in a pool and when the
next query was attempted it would fail immediately trying to prepare the
query or reset the deadline. It wasn't clear if the Query or Exec call
could safely be retried since there was no way to know where it failed.

You can now call LastQuerySent and if it returns false then you're
guaranteed that the last call to Query(Ex)/Exec(Ex) didn't get far enough
to attempt to send the query. The call can be retried with a new
connection.

This is used in the stdlib to return a ErrBadConn if a network error
occurred and the statement was not attempted.

Fixes #427
2018-11-19 10:44:40 -05:00
Jack Christensen 65e69c5580 Initial base.Connect extraction 2018-11-12 18:08:46 -06:00
Jack Christensen 2e72ca854a First extraction of base.Conn 2018-11-10 18:48:43 -06:00
Jack Christensen 670e85136f Remove Conn.lastActivityTime
It was only read in one place and that was an optimization to get the
current time. Replaced that usage with time.Now()
2018-11-09 15:33:31 -06:00
Jack Christensen a0d2ce5a0e
Merge pull request #477 from fastest963/cancel
Added option to customize query cancellation and wait for ready
2018-11-08 19:30:15 -06:00
James Hartig 527f404bbc Added option to customize query cancellation and wait for ready
CockroachDB doesn't support 80877102 and doesn't plan to, so instead allow
the user to customize the cancellation with their own function. In our
function, we call CANCEL QUERY with the query_id based on the LocalAddr().

The WaitForReady method can be used by a pool to not put a connection back
in the pool until it is finished cancelled and ready for a new query.
2018-11-05 20:28:59 -05:00
Jack Christensen c10ee2b7bf
Merge pull request #473 from Mic92/unix-sockets
Add path query parameter to support unix sockets
2018-11-05 18:58:19 -06:00
Jörg Thalheim 3410ad9122
Add host query parameter to support unix sockets
Currently there is no way to specify unix sockets in the connection
url. This patch adds a `host` query parameter that allows to set the path.
2018-11-03 21:07:33 +00:00
Tejas Manohar e2010c858c tls: stop sending ssl_renegotiation_limit in startup message
This addresses https://github.com/jackc/pgx/issues/321 with the
fix @jackc proposed there. Redshift users that need to connect
w/ SSL currently fork the library to delete this parameter, e.g.

8e0028d742

And, that's annoying to keep up-to-date :)
2018-10-29 21:50:09 -07:00
Murat Kabilov d9f21d02a5 mind PreferSimpleProtocol parameter in the config Merge method 2018-07-24 16:03:26 +02:00
Jack Christensen 6556ef67cb Fix data race in domain handling 2018-04-07 14:26:26 -05:00
Jack Christensen db7df79e10 Add domain support
fixes #407
2018-04-07 14:04:16 -05:00
Jack Christensen a487caf45f Merge branch 'scheme-agnostic-uri' of https://github.com/sean-/pgx into sean--scheme-agnostic-uri 2018-02-03 11:43:46 -06:00
Jack Christensen f911070f68 Add new SSL config to envvar parsing 2018-02-03 11:20:42 -06:00
Sean Chittenden 6cfb436397
Parse URI-encoded connection strings as URIs.
CockroachDB is frequently referenced as: `cockroachdb://` as its
scheme.  Be scheme name agnostic.
2018-02-02 16:19:58 -08:00
Sean Chittenden 6a4303120f
Only read in TLS certs when the key and cert are present. 2018-02-02 08:37:23 -08:00
Sean Chittenden f0dc593c2f
Only initialize the CA if the path is not an empty string. 2018-02-02 08:24:41 -08:00
Sean Chittenden 8078930406
Add TLS arg parsing to ParseDSN().
Factor out the TLS cert handling and add it to `configTLS()` via a
`struct` argument.
2018-02-01 23:51:50 -08:00