Commit Graph

1435 Commits (79f49ce3002b2a6b2d66a0e13adc416858e416a5)

Author SHA1 Message Date
Jack Christensen 79f49ce300 Convert large objects to prepared statements
This allows removing semi-obsolete fastpath interface support. See
https://www.postgresql.org/docs/current/libpq-fastpath.html. This also
simplifies introducing context support.
2019-05-11 11:36:38 -05:00
Jack Christensen f572b336b1 Improve pool Acquire / Release performance
Release was using a goroutine every time. Now it only starts a goroutine
when doing something that may take a while. (Destroy and afterRelease)
2019-05-04 17:36:08 -05:00
Jack Christensen 3661a005fa Per pool.Conn preallocated resources
This removes the pool wide mutexes for preallocated resources.
2019-05-04 16:49:46 -05:00
Jack Christensen 00a1b62e91 Fix name of defaultMaxConns 2019-05-04 15:53:25 -05:00
Jack Christensen 3c7cd51a17 Preallocate poolRows 2019-05-04 15:52:59 -05:00
Jack Christensen d7fdbf1b49 Preallocate poolRow 2019-05-04 15:47:42 -05:00
Jack Christensen dc0cf11399 Bulk allocate pool Conns 2019-05-04 15:40:47 -05:00
Jack Christensen 583c8d3b25 Use pgproto3.FieldDescription instead of pgx version
This allows removing a malloc and memcpy.
2019-05-04 13:47:18 -05:00
Jack Christensen ea31df3b50 Extract extendedQueryBuilder 2019-05-04 12:32:21 -05:00
Jack Christensen 8b365ce37e Extract int16SlicePool 2019-05-04 11:01:09 -05:00
Jack Christensen dd571cf345 Remove another malloc from query path 2019-05-04 09:01:57 -05:00
Jack Christensen db68713809 Remove malloc from query path 2019-05-04 08:58:02 -05:00
Jack Christensen 85ddbfeeee Remove 2 mallocs from query path 2019-05-04 08:55:05 -05:00
Jack Christensen 7558b8d05f Add AfterConnect hook to pool 2019-04-27 16:09:23 -05:00
Jack Christensen 9008387300 Update pgconn 2019-04-27 15:45:59 -05:00
Jack Christensen 243f9031b3 Remove extra prepare in stdlib 2019-04-27 15:45:30 -05:00
Jack Christensen 71d8503b81 Remove pool/todo.txt 2019-04-27 10:43:16 -05:00
Jack Christensen 1b124baf7a Add some documentation to pool 2019-04-27 10:42:40 -05:00
Jack Christensen c604afba82 Add pool MaxConnLifetime 2019-04-27 10:25:53 -05:00
Jack Christensen c107ea5831 Default to max pool size of larger of 4 or num cpus 2019-04-27 09:40:17 -05:00
Jack Christensen ac618f105b Add pool AfterRelease hook
Also, just close returned connections that are in a transaction rather
than automatically rolling back.
2019-04-27 09:01:32 -05:00
Jack Christensen 48ea620c93 Add Pool.BeforeAcquire and ConnectConfig 2019-04-27 08:31:23 -05:00
Jack Christensen 27b8876ea3 Add Pool.AcquireAllIdle() 2019-04-27 08:02:52 -05:00
Jack Christensen 46a92b5cd4 Run pool tests parallel 2019-04-25 15:41:17 -05:00
Jack Christensen d93de3fdc7 Add CopyFrom to pool 2019-04-25 15:35:53 -05:00
Jack Christensen 7b1272d254 Add SendBatch to pool 2019-04-25 15:07:35 -05:00
Jack Christensen 00d123a944 Prune methods that delegated to *pgconn.PgConn 2019-04-25 14:25:16 -05:00
Jack Christensen aed6b822d9 Split batch command and result 2019-04-24 16:39:06 -05:00
Jack Christensen 7b4e145e7c Remove Batch.die 2019-04-24 16:03:50 -05:00
Jack Christensen 3795c7131a Remove unused Batch.ctx 2019-04-24 16:02:23 -05:00
Jack Christensen c7d03eb555 Add RowsFromResultReader 2019-04-24 15:57:50 -05:00
Jack Christensen a19ca0638f Reorganize conn and rows 2019-04-24 14:16:52 -05:00
Jack Christensen 044a55ad2c Remove unused Batch.resultsRead 2019-04-24 13:44:25 -05:00
Jack Christensen 187157e773 Remove unused Batch.inTx 2019-04-24 13:43:37 -05:00
Jack Christensen 898925303d Update pool todo 2019-04-24 13:41:05 -05:00
Jack Christensen d5c510b590 Remove unused Batch field 2019-04-24 13:40:54 -05:00
Jack Christensen 2263521f70 Only have a single Begin transaction method 2019-04-24 13:35:27 -05:00
Jack Christensen 1b8f0016e9 Split pgtype into own repo 2019-04-20 19:20:00 -05:00
Jack Christensen cc3461e65d Use golang.org/x/xerrors 2019-04-20 17:43:44 -05:00
Jack Christensen efb333df6b Fix go modules
Wow. This is fun. Sure is easy to get modules wrong when upgrading a v2+
project.
2019-04-20 17:41:08 -05:00
Jack Christensen b7e56b003a Replace lastStmtSent with pgconn support 2019-04-20 17:12:20 -05:00
Jack Christensen 35a0f64876 Pass ctx to PgConn.Prepare 2019-04-20 12:06:11 -05:00
Jack Christensen 0f95329c5a Remove commented out unused one round trip mode 2019-04-20 12:02:02 -05:00
Jack Christensen de40fea100 Remove unused variables 2019-04-20 12:00:07 -05:00
Jack Christensen 66625e6489 Prepare takes context
Also remove PrepareEx. It's primary usage was for context. Supplying
parameter OIDs is unnecessary when you can type cast in the query SQL.
If it does become necessary or desirable to add options back it can be
added in a backwards compatible way by adding a varargs as last
argument.
2019-04-20 11:47:16 -05:00
Jack Christensen dc699cefc7 Conn.CopyFrom takes context 2019-04-20 11:38:23 -05:00
Jack Christensen 95756b1d7f Deallocate takes context 2019-04-20 11:34:52 -05:00
Jack Christensen 1f010f412d Simplify Batch.Queue for prepared statements 2019-04-20 11:29:28 -05:00
Jack Christensen af1beca9a5 Update pgconn to resolve batch deadlock issue 2019-04-20 11:27:43 -05:00
Jack Christensen 005c404c23 Remove CopyFromReader tests
Equivalent functionality is in pgconn.PgConn.CopyFrom.
2019-04-20 10:02:51 -05:00