Jack Christensen
3a90c6c879
Removed TextEncoder and BinaryEncoder
...
Restructured / fixed a lot of tests along the way.
2022-01-22 12:07:35 -06:00
Jack Christensen
8b27725f5b
Convert json and jsonb to Codec
2022-01-18 16:04:25 -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
9fc8f9b3a8
Initial passing tests for main pgx package
2021-12-30 18:12:47 -06:00
Jack Christensen
72cc95e4dd
Bump module version to v5
2021-12-11 13:29:03 -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
Michael Darr
59fa1868a7
Support time durations for simple protocol
...
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-17 09:01:57 -05:00
Jack Christensen
a49f4bb135
Use errors instead of golang.org/x/xerrors
2021-03-25 09:55:12 -04:00
Jack Christensen
38dd42de4b
Support new pgtype format preferences
2020-05-10 14:09:02 -05:00
Jack Christensen
a66b09fbd8
Improve simple protocol / text format
...
Increased data type support for simple protocol. Improved test
coverage of simple protocol. This has the additional advantage of
exercising the text encoders and decoders.
2020-05-08 16:20:15 -05:00
Jack Christensen
be9ceaefe6
Add native Go slice support for strings and numbers to simple protocol
...
[]string, []int16, []int32, []int64, []int, []uint16, []uint32,
[]uint64, []uint, []float32, and []float64 are now supported in the
simple protocol like they are in the normal usage of the extended
protocol.
2020-04-11 09:27:07 -05:00
Jack Christensen
169632e028
Refactor format code choosing
2019-08-25 00:38:50 -05:00
Jack Christensen
6972a57421
pgtype.OID type should only be used for scanning and encoding values
...
It was a mistake to use it in other contexts. This made interop
difficult between pacakges that depended on pgtype such as pgx and
packages that did not like pgconn and pgproto3. In particular this was
awkward for prepared statements.
This is preparation for removing pgx.PreparedStatement in favor of
pgconn.PreparedStatement.
2019-08-24 13:55:57 -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
858d00788a
Use extracted packages with Go modules
2019-04-05 10:59:47 -05:00
Jack Christensen
5deea5b971
Convert driver.Valuer's earlier in bind path
...
fixes #449
2018-09-01 21:37:16 -05:00
Jack Christensen
5297846239
pgtype.JSON(B).Value now returns []byte
...
Allows scanning jsonb column into *json.RawMessage.
fixes #409
2018-04-14 09:17:56 -05:00
Jack Christensen
82cd87d502
Support nil pointers to value implementing driver.Valuer
...
fixes #339
2017-10-26 21:37:06 -04:00
Jack Christensen
9c8ef1acdd
Fix pgtype types that can Set database/sql/driver.driver.Valuer
...
Bug was chooseParameterFormatCode would see that type could handle
binary format so binary format would be chosen. But
encodePreparedStatementArgument would see driver.Valuer first and
would encode with that -- which is text mode. So the server would
receive a text format value when expecting a binary format value.
Discovered while investigating #316
2017-09-01 16:00:47 -05:00
Jack Christensen
d49a78dd73
Fix compilation on 32-bit platform
...
fixes #295
2017-08-03 14:17:28 -05:00
Jack Christensen
8f4178b3d3
Use github.com/pkg/errors
2017-06-04 21:30:03 -05:00
Jack Christensen
27ab289096
Use Go casing convention for OID
2017-06-03 11:53:49 -05:00
Jack Christensen
458dd24a9f
Remove unneeded WriteBuf
2017-05-02 21:39:23 -05:00
Jack Christensen
6e64a0c867
Refactor pgio and types to append buffers
2017-05-02 20:38:26 -05:00
Jack Christensen
a5f702c41d
Reduce allocs and copies
2017-04-29 13:21:25 -05:00
Jack Christensen
7b1f461ec3
Add simple protocol suuport with (Query|Exec)Ex
2017-04-10 08:58:51 -05:00
Jack Christensen
5ad2c4e2b9
Add pgtype.Numeric
2017-04-01 23:33:04 -05:00
Jack Christensen
bec9bd261b
Add database/sql support to pgtype
2017-03-18 21:11:43 -05:00
Jack Christensen
1bea9d3f7e
Remove int bound constants
2017-03-18 15:00:41 -05:00
Jack Christensen
9ab59a74a9
Remove oid constants from pgx
2017-03-18 14:59:34 -05:00
Jack Christensen
92cff1d961
Simplify []byte scanning
2017-03-18 14:42:36 -05:00
Jack Christensen
015108be9a
Remove unused code
2017-03-18 14:28:06 -05:00
Jack Christensen
a636ef31a4
Refactor encoding parameters for prepared statements
2017-03-18 14:23:04 -05:00
Jack Christensen
9e289cb186
Remove unused DefaultTypeFormats
2017-03-18 14:09:55 -05:00
Jack Christensen
ad2ce2ce3c
Remove internalNativeGoTypeFormats
2017-03-18 14:02:55 -05:00
Jack Christensen
b9e2f0e814
Remove a lot of unused code
2017-03-18 13:54:42 -05:00
Jack Christensen
19c6689752
Add pgtype.Record and prerequisite restructuring
...
Because reading a record type requires the decoder to be able to look up oid
to type mapping and types such as hstore have types that are not fixed between
different PostgreSQL servers it was necessary to restructure the pgtype system
so all encoders and decodes take a *ConnInfo that includes oid/name/type
information.
2017-03-18 12:01:16 -05:00
Jack Christensen
ba5f97176a
Move not null Oid to pgtype
...
In preparation to ConnInfo implementation.
2017-03-13 21:34:38 -05:00
Jack Christensen
9cd561f1a5
Remove unused code
2017-03-13 20:14:08 -05:00
Jack Christensen
26d57356f7
Remove old Scanner and Encoder system
2017-03-12 17:22:04 -05:00
Jack Christensen
7bb1f3677d
Move hstore to pgtype
...
Also implement binary format
2017-03-12 17:06:06 -05:00
Jack Christensen
57494a6a0f
Expand pgtype.Value interface
...
- Include and rename ConvertFrom to Set
- Add Get
- Include AssignTo
2017-03-11 19:53:45 -06:00
Jack Christensen
542eac08c6
Add json/jsonb to pgtype
2017-03-11 18:46:51 -06:00
Jack Christensen
743b98b298
Name PG types as words
...
Though this doesn't follow Go naming conventions exactly it makes names more
consistent with PostgreSQL and it is easier to read. For example, TIDOID becomes
TidOid. In addition this is one less breaking change in the move to V3.
2017-03-11 17:03:23 -06:00
Jack Christensen
6694e0e618
Move Tid to pgtype
2017-03-11 16:48:37 -06:00
Jack Christensen
f10ed4ff5d
Remove unused function
2017-03-11 16:14:13 -06:00
Jack Christensen
fa1c81fec4
Move ACLItem to pgtype
2017-03-11 16:13:05 -06:00