2734 Commits

Author SHA1 Message Date
Jack Christensen
9f774761ba Fix TestConnLocking 2019-04-20 10:59:50 -05:00
Jack Christensen
005c404c23 Remove CopyFromReader tests
Equivalent functionality is in pgconn.PgConn.CopyFrom.
2019-04-20 10:02:51 -05:00
Jack Christensen
427cfe1c16 Remove unnecessary mux 2019-04-19 16:23:06 -05:00
Jack Christensen
2978a7440a Use pgconn for more conn status 2019-04-19 16:18:47 -05:00
Jack Christensen
3710e52a9a Add named error for conn busy 2019-04-19 16:16:55 -05:00
Jack Christensen
ae73ca2da1 Update to more effecient pgconn 2019-04-19 15:55:45 -05:00
Jack Christensen
7bb6c2f3e9 Unify locked and closed into status
No longer panic on locking busy conn
2019-04-19 15:52:12 -05:00
Jack Christensen
16412e56e2 0 alloc context to deadline 2019-04-19 14:43:09 -05:00
Jack Christensen
2383561e4d Use 0-alloc pgproto3/v2 2019-04-18 23:17:28 -05:00
Jack Christensen
9d30dad837 Do not buffer results in benchmarks 2019-04-18 22:52:07 -05:00
Jack Christensen
b6e5b74e2c Reuse one MultiResultReader per connection
Using a PgConn while locked now panics. i.e. You must Close any
ResultReader or MultiResultReader.
2019-04-18 22:50:36 -05:00
Jack Christensen
bc139fadb5 Reuse one ResultReader per connection 2019-04-18 22:01:47 -05:00
Jack Christensen
e948dc3246 Reuse buffer for writing 2019-04-18 21:51:58 -05:00
Jack Christensen
53dd8bf77c Travis fix 2019-04-16 21:29:41 -05:00
Jack Christensen
0174907e04 Fix travis unix domain socket test 2019-04-16 20:58:10 -05:00
Jack Christensen
5044e8473a Add SCRAM authentication 2019-04-16 20:46:57 -05:00
Jack Christensen
244e114435 Add SCRAM authentication 2019-04-16 20:41:38 -05:00
Jack Christensen
abdd5a4a50 Drop travis testing for 9.3 and add for 11 2019-04-13 18:59:54 -05:00
Jack Christensen
6c1be9b220 Add pool configuration
MaxConns is only knob at moment
2019-04-13 18:55:02 -05:00
Jack Christensen
1b7ff4d774 Remove unused config field 2019-04-13 18:15:02 -05:00
Jack Christensen
78eda7d567 Remove unused scan float into numeric 2019-04-13 18:06:09 -05:00
Jack Christensen
57b149e8e9 Remove unused scan float into numeric 2019-04-13 18:06:09 -05:00
Jack Christensen
affd192c6c Tweak example to run on Travis 2019-04-13 18:01:39 -05:00
Jack Christensen
7c1ff89703 Comment out broken example so go test ./... can run 2019-04-13 17:13:48 -05:00
Jack Christensen
4e79a104f7 Test domains when registered and unregistered
Fix bug assigning to unknown type.
2019-04-13 17:09:51 -05:00
Jack Christensen
5cc4796c96 Test domains when registered and unregistered
Fix bug assigning to unknown type.
2019-04-13 17:09:51 -05:00
Jack Christensen
bd85fe870d Hard code standard PostgreSQL types
Instead of needing to instrospect the database on connection preload the
standard OID / type map. Types from extensions (like hstore) and custom
types can be registered by the application developer. Otherwise, they
will be treated as strings.
2019-04-13 16:45:52 -05:00
Jack Christensen
a6bdd8fd49 Hard code standard PostgreSQL types
Instead of needing to instrospect the database on connection preload the
standard OID / type map. Types from extensions (like hstore) and custom
types can be registered by the application developer. Otherwise, they
will be treated as strings.
2019-04-13 16:45:52 -05:00
Jack Christensen
95058dc476 Use Go modules on Travis CI 2019-04-13 15:33:33 -05:00
Jack Christensen
dac6bfdc61 Fix up some of the examples 2019-04-13 14:31:16 -05:00
Jack Christensen
a0f487bc09 More transcoding type tests
Text every combination of text and binary arguments and text and binary
results.
2019-04-13 14:17:04 -05:00
Jack Christensen
6c0de9ff37 More transcoding type tests
Text every combination of text and binary arguments and text and binary
results.
2019-04-13 14:17:04 -05:00
Jack Christensen
2a55a4048a Add QueryResultFormats option 2019-04-13 14:06:48 -05:00
Jack Christensen
ea65a92de9 Fix long standing text array text format null bug 2019-04-13 14:06:01 -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
7fbae064bb 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
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