Jack Christensen
c53c9e6eb5
Remove simple protocol and one round trip query options
...
It is impossible to guarantee that the a query executed with the simple
protocol will behave the same as with the extended protocol. This is
because the normal pgx path relies on knowing the OID of query
parameters. Without this encoding a value can only be determined by the
value instead of the combination of value and PostgreSQL type. For
example, how should a []int32 be encoded? It might be encoded into a
PostgreSQL int4[] or json.
Removal also simplifies the core query path.
The primary reason for the simple protocol is for servers like PgBouncer
that may not be able to support normal prepared statements. After
further research it appears that issuing a "flush" instead "sync" after
preparing the unnamed statement would allow PgBouncer to work.
The one round trip mode can be better handled with prepared statements.
As a last resort, all original server functionality can still be accessed by
dropping down to PgConn.
2019-04-13 11:39:01 -05:00
Jack Christensen
698bd4bf5a
Use defer to unlock pgConn in Prepare
2019-04-13 10:30:49 -05:00
Jack Christensen
5a374c467f
Fix Exec prepared statement with 0 args
2019-04-13 08:37:15 -05:00
Jack Christensen
b638d52a4f
Dirty hack to get a few more stdlib tests to pass
2019-04-12 21:42:50 -05:00
Jack Christensen
ec0bae649a
Fix Ping
2019-04-12 21:42:16 -05:00
Jack Christensen
f779b05f36
Extract scan value to pgtype
2019-04-12 21:31:59 -05:00
Jack Christensen
f756d9d591
Extract scan value to pgtype
2019-04-12 21:31:59 -05:00
Jack Christensen
69946b35d8
Remove blank line
2019-04-12 21:24:14 -05:00
Jack Christensen
59003afe8c
Fix encode empty value
2019-04-12 21:23:57 -05:00
Jack Christensen
b78ecf26dc
Fix encode empty value
2019-04-12 21:23:57 -05:00
Jack Christensen
fcbd9e93fa
Initial pass at fixing pgtype tests
...
Many still failing, but at least it compiles now.
2019-04-12 16:58:42 -05:00
Jack Christensen
072391f4a8
Initial pass at fixing pgtype tests
...
Many still failing, but at least it compiles now.
2019-04-12 16:58:42 -05:00
Jack Christensen
b77f901168
Inital pass at converting stdlib
...
Multiple tests still failing
2019-04-12 16:57:42 -05:00
Jack Christensen
3901f3ef88
Add Conn.PgConn escape hatch
2019-04-12 16:57:25 -05:00
Jack Christensen
3497f0e8f9
Expose ParseConfig
2019-04-12 16:56:54 -05:00
Jack Christensen
0254279df7
Add todos for pool
2019-04-12 16:56:18 -05:00
Jack Christensen
938ee9f434
Rows and Row are now interfaces
2019-04-11 17:58:16 -05:00
Jack Christensen
5ea8191003
Add notes about error values
2019-04-11 17:53:27 -05:00
Jack Christensen
3e87a8b363
Conn.Close takes context
2019-04-10 14:56:14 -05:00
Jack Christensen
2f948c5249
Remove unused code
2019-04-10 14:33:35 -05:00
Jack Christensen
acd15cf589
Remove some obsolete context handling
2019-04-10 14:25:06 -05:00
Jack Christensen
54c6ddc2f0
Commit and Rollback take context
...
Remove Ex versions.
2019-04-10 12:22:12 -05:00
Jack Christensen
7718ee6207
Remove Ex versions of Query and QueryRow
...
Always require context and prepend options to arguments if necessary.
2019-04-10 12:12:22 -05:00
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
77a2da2b46
Replace connection pool
2019-04-10 11:09:42 -05:00
Jack Christensen
ec10fdde8b
Core of new connection pool
2019-04-09 21:32:01 -05:00
Jack Christensen
0ebe322ac3
Extract common code from ExecParams and ExecPrepared
2019-04-05 16:10:11 -05:00
Jack Christensen
1715b17abb
Handle too many params in pgconn
2019-04-05 12:09:15 -05:00
Jack Christensen
7ad3625edd
unlock connection when context is pre-canceled
2019-04-05 12:06:59 -05:00
Jack Christensen
408837dcb1
Handle extended protocol with too many arguments
2019-04-05 11:47:31 -05:00
Jack Christensen
c745509c59
Rename test
2019-04-05 11:27:04 -05:00
Jack Christensen
d619d8913e
Remove cancel query logic
2019-04-05 11:04:57 -05:00
Jack Christensen
d2ad2ed5d8
Remove tests context cancel
...
Context cancellation is now fatal so no need to test recovery.
2019-04-05 11:00:35 -05:00
Jack Christensen
0ac82007fb
Use extracted packages with Go modules
2019-04-05 10:59:47 -05:00
Jack Christensen
858d00788a
Use extracted packages with Go modules
2019-04-05 10:59:47 -05:00
Jack Christensen
5c9679850f
Merge pull request #515 from fcelda/replication-allow-query
...
Allow normal queries on replication connections
2019-04-02 18:46:41 -05:00
Jack Christensen
acfac44499
Merge pull request #523 from fzerorubigd/conn-from-pool
...
[stdlib] Add support for creating a DB from pgx.Pool
2019-04-02 18:46:01 -05:00
Jan Vcelak
3e82824ff1
Enforce simple protocol on ReplicationConn
2019-04-01 12:51:03 +02:00
Jack Christensen
ed7d91dc98
Force Go modules for Travis
2019-03-30 17:13:23 -05:00
Jack Christensen
3d9e42d74c
Replace chan based conn locking with bool
...
This is conceptually simpler and will lead to error messages instead of
deadlocks.
2019-03-30 17:09:39 -05:00
Jack Christensen
444bd6deaf
Context cancellation is fatal during query
2019-03-30 16:44:20 -05:00
Jack Christensen
b2fc69d32f
Import pgx travis config
2019-03-30 13:03:28 -05:00
Jack Christensen
08fcc7f273
Add license and readme
2019-03-30 12:59:04 -05:00
Jack Christensen
fbdfccf1f9
Use Go modules
2019-03-30 12:55:56 -05:00
Jack Christensen
97a0ac4ddc
Clarify ChunkReader.Next contract
2019-03-30 12:52:55 -05:00
Jack Christensen
bb06e6b3ff
Decouple github.com/jackc/chunkreader
2019-03-30 12:46:56 -05:00
Jack Christensen
127e997696
Add travis CI
2019-03-30 12:33:04 -05:00
Jack Christensen
b9d0da5558
Add readme, license, and docs
2019-03-30 12:32:39 -05:00
Jack Christensen
16176b5151
Add go module support
2019-03-30 12:26:24 -05:00
Jack Christensen
517cfde605
Add Travis CI
2019-03-30 12:21:36 -05:00