474 Commits

Author SHA1 Message Date
Jack Christensen
2b0afbb408 Convert point to Codec 2022-01-08 09:33:08 -06:00
Jack Christensen
dcaf102f8e Introduce PlanEncode 2022-01-05 08:59:21 -06:00
Jack Christensen
ac80fa5b33 Remove proposed v5 type system before Codec 2022-01-04 20:04:48 -06:00
Jack Christensen
1a189db041 Remove ValueTranscoder interface 2022-01-04 19:59:32 -06:00
Jack Christensen
b90f92d2d2 Remove obsolute ArrayType 2022-01-04 19:58:40 -06:00
Jack Christensen
80ae29d056 Inline Encoder interface to Codec 2022-01-04 19:56:16 -06:00
Jack Christensen
6a32f938f1 Extract codecDecodeToTextFormat 2022-01-03 21:23:29 -06:00
Jack Christensen
f7c0c31e87 Extract DecodeValue helper 2022-01-03 21:20:52 -06:00
Jack Christensen
ad6ee2bd56 Add circle array 2022-01-03 20:56:12 -06:00
Jack Christensen
eb2c37a983 Convert circle to Codec 2022-01-03 20:53:50 -06:00
Jack Christensen
5c4560eed3 Add box array 2022-01-03 20:30:57 -06:00
Jack Christensen
298a5f0dca Convert box to Codec 2022-01-03 20:27:44 -06:00
Jack Christensen
4b1121c2a9 Convert bool to Codec 2022-01-01 18:18:47 -06:00
Jack Christensen
0c0e28a70a Convert int4 and int8 to new system
Note: purposely disabled some tests and composite support that needs to
be restored later in v5 development.
2022-01-01 17:26:39 -06:00
Jack Christensen
40fb889605 Temporarily remove composite and record support 2022-01-01 11:41:08 -06:00
Jack Christensen
ffa1fdd66e Temporarily remove range type support 2022-01-01 11:32:52 -06:00
Jack Christensen
d2cf33ed40 Add UnmarshalJSON to generated ints 2022-01-01 11:25:26 -06:00
Jack Christensen
0403c34ae3 Prepare for generating tests 2022-01-01 11:22:14 -06:00
Jack Christensen
1b353297d5 Prepare for generating int types 2022-01-01 11:11:31 -06:00
Jack Christensen
6c7f1593e8 Use rake to build generated code 2022-01-01 10:54:54 -06:00
Jack Christensen
93cc21199f All tests passing 2021-12-31 17:54:47 -06:00
Jack Christensen
1516a0d8db pgtype tests pass 2021-12-31 17:51:18 -06:00
Jack Christensen
19ae359e9e Add binary scan plans for int2 2021-12-31 17:03:31 -06:00
Jack Christensen
77b9b59622 Generate text to int scan plans 2021-12-31 13:07:08 -06:00
Jack Christensen
b99d95470f Fix tryBaseTypeScanPlan infinite recursion 2021-12-31 12:32:46 -06:00
Jack Christensen
c39924d0c6 Improvements to ArrayCodec 2021-12-31 12:28:45 -06:00
Jack Christensen
9fc8f9b3a8 Initial passing tests for main pgx package 2021-12-30 18:12:47 -06:00
Jack Christensen
58b7486343 Initial codec support for int2 and int2[] 2021-12-23 13:12:54 -06:00
Jack Christensen
85b08ac663 Fix some previously broken comment links 2021-12-11 13:30:36 -06:00
Jack Christensen
72cc95e4dd Bump module version to v5 2021-12-11 13:29:03 -06:00
Jack Christensen
390bd79757 Add array integration benchmarks 2021-12-11 09:19:11 -06:00
Jack Christensen
d9e53647ec Use ideomatic casing 2021-12-11 09:08:05 -06:00
Jack Christensen
0e293b966c Finish import of pgconn 2021-12-04 14:06:57 -06:00
Jack Christensen
7e13db4538 Finish import of pgtype repo
Fix some tests that broke by merging repos
Tweak readme wording
2021-12-04 13:45:57 -06:00
Jack Christensen
44214b7854 Import to pgx main repo in pgtype subdir 2021-12-04 13:07:54 -06: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
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
57b149e8e9 Remove unused scan float into numeric 2019-04-13 18:06:09 -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
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
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
93aa913677 Fix long standing text array text format null bug 2019-04-13 14:06: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
f756d9d591 Extract scan value to pgtype 2019-04-12 21:31:59 -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
858d00788a Use extracted packages with Go modules 2019-04-05 10:59:47 -05:00
David Bariod
903a7734c5 support binding of []int type to array integer 2019-01-19 11:44:30 -06:00