1648 Commits

Author SHA1 Message Date
Jack Christensen
2a55a4048a Add QueryResultFormats option 2019-04-13 14:06:48 -05:00
Jack Christensen
93aa913677 Fix long standing text array text format null bug 2019-04-13 14:06:01 -05:00
Jack Christensen
36461eff94 Remove unused method 2019-04-13 12:07:41 -05:00
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
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
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
b78ecf26dc Fix encode empty value 2019-04-12 21:23:57 -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
1715b17abb Handle too many params in pgconn 2019-04-05 12:09:15 -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
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
fzerorubigd
0b62f832b0
[stdlib] Add support for creating a DB from pgx.Pool
Also the configuration used in the Conn structure (used to implement the
driver.Conn interface) stores a ConnConfig which is used only for determining
if the Connection should be used with Simple Protocol or not.
2019-03-28 16:47:54 +01:00
Jan Vcelak
2e26d8df03 Document simple protocol on ReplicationConn 2019-03-25 13:47:48 +01:00
Jack Christensen
31500c15b3
Merge pull request #521 from lukedirtwalker/removeDeadCode
Remove unreachable code
2019-03-23 12:21:22 -05:00
Jack Christensen
9f05424fdd
Merge pull request #493 from nvorobev/rows-affected-for-copyto-copyfrom
Adds RowsAffected for CopyToWriter and CopyFromReader
2019-03-23 12:17:23 -05:00
Jack Christensen
862dcdf751 Merge branch 'bobheadxi-master' 2019-03-23 11:40:34 -05:00
Jack Christensen
a25c985eba Merge branch 'master' of https://github.com/bobheadxi/pgx into bobheadxi-master 2019-03-23 11:37:16 -05:00
Jack Christensen
d287776d97 Use LogLevel type consistently 2019-03-23 11:32:38 -05:00
Jack Christensen
038060776b Use LogLevel type instead of int for conn config
Technically, this is a change in the public interface. But it seems
extremely unlikely that it would cause any issues (and any that do
appear would be trivial to fix).

fixes #516
2019-03-23 11:22:47 -05:00
Jan Vcelak
bbe778863f Remove Conn methods on ReplicationConn
Fixes infinite loop when any of the removed methods is called.
2019-03-18 18:52:53 +01:00
Lukas Vogel
03c00d5e41 Remove unreachable code
The returns can never be reached because the loop is guaranteed to return.
2019-03-18 14:20:24 +01:00
Robert Lin
0a8645df19 Remove test 2019-03-11 00:14:06 -07:00
Robert Lin
9a3e403bdf Add rudementary enum transcode test 2019-03-11 00:07:38 -07:00
Robert Lin
e08a188515 Fix enum handling 2019-03-10 23:38:11 -07:00
Jack Christensen
051e69d512
Merge pull request #513 from sidh/issues/495
Fix PreferSimpleProtocol overwrite
2019-03-08 15:27:02 -06:00
Jack Christensen
fb61dbf363
Merge pull request #511 from platelk/master
Close issue #481 : Give access to the registered driver instance
2019-03-08 15:24:58 -06:00
Jan Vcelak
1edfd3b682 Allow normal queries on replication connections
The replication connection allows executing most of the SQL queries
which are available on non-replication connections.
2019-03-07 12:32:46 +01:00
Ilya Sinelnikov
8fe19f698b Fix PreferSimpleProtocol overwrite
https://github.com/jackc/pgx/issues/495
2019-02-28 19:04:35 +03:00
PLATEL Kévin
74ea479b0c Close issue #481 : Give access to the registered driver instance
Some library use a driver to wrap its behavior and give additional
functionality, as the datadog tracing library
("gopkg.in/DataDog/dd-trace-go.v1/contrib/database/sql")

This commit aims to give access to this instance which can't be
correctly initialized to due private fields without default values (the
configuration map inside the driver)
2019-02-05 11:01:22 +01:00