131 Commits

Author SHA1 Message Date
Jack Christensen
a3e05ea29f Fix TestHstoreArrayTranscode 2017-05-20 08:42:39 -05:00
Jack Christensen
97a927bb03 Fix TestIntervalNormalize 2017-05-20 08:39:53 -05:00
Jack Christensen
6ba93d4e54 Fix TestNumericNormalize 2017-05-20 08:38:27 -05:00
Jack Christensen
4c51d6af82 Test &pgtype.QChar 2017-05-20 08:36:40 -05:00
Jack Christensen
fe36df4fff Uncomment Hstore tests 2017-05-20 08:34:20 -05:00
Jack Christensen
45b67f9b95 Fix issues identified by go vet 2017-05-06 19:48:03 -05:00
Jack Christensen
6b906ca870 Refactor pgio and types to append buffers 2017-05-02 20:38:26 -05:00
Jack Christensen
ab21bc4ec7 pgtype DecodeText and DecodeBinary do not copy
They now take ownership of the src argument.

Needed to change Scan to make a copy of []byte arguments as lib/pq apparently
gives Scan a shared memory buffer.
2017-04-29 12:23:51 -05:00
Jack Christensen
fa68e44e5f Use pgx.ParseConnectionString in test helper
This allows using URI or DSN for database connection information. DSN allows
using unix domain sockets.
2017-04-14 17:21:32 -05:00
Jack Christensen
851479b0d3 Replace DATABASE_URL with PGX_TEST_DATABASE
PGX_TEST_DATABASE is much less likely to collide with another environment
variable. This is especially valuable when using direnv to automatically set
environment variables.
2017-04-14 17:11:39 -05:00
Jack Christensen
f0e9337d8f Add satori-uuid type
Make pgtype.EncodeValueText public
2017-04-14 16:46:39 -05:00
Jack Christensen
d94f8daeb1 Use pointer methods for all struct pgtypes
Now no need to no whether certain interfaces are implemented by struct or
pointer to struct.
2017-04-14 13:08:05 -05:00
Jack Christensen
e380de7cd1 Finish extraction of pgtype test helpers 2017-04-14 12:38:33 -05:00
Jack Christensen
b49035fdc1 Add shopspring.Numeric
This adds PostgreSQL numeric mapping to and from
github.com/shopspring/decimal.

Makes pgtype.NullAssignTo public as external types need this functionality.

Begin extraction of pgtype testing functionality so it can easily be used by
external types.
2017-04-14 12:24:44 -05:00
Jack Christensen
92474ef292 Add MarshalJSON to a few types 2017-04-13 21:58:19 -05:00
Jack Christensen
e76cf5617f Skip line tests on when server version < PG 9.4 2017-04-11 20:16:41 -05:00
Jack Christensen
7ff405ff84 Add simple protocol suuport with (Query|Exec)Ex 2017-04-10 08:58:51 -05:00
Jack Christensen
68fd815778 Add pgtype.Varbit 2017-04-05 07:54:41 -05:00
Jack Christensen
c31fe24693 Fix pgtype.Inet.AssignTo assigning reference
AssignTo should always assign copy.
Added documentation for AssignTo interface.
2017-04-04 21:13:00 -05:00
Jack Christensen
3631b076fe Add pgtype.Macaddr 2017-04-04 21:07:27 -05:00
Jack Christensen
d99d09b0d1 Add pgtype.Circle
Also rename Point.Vec2 to Point.P to conform to rest of geometric types.
2017-04-04 20:39:48 -05:00
Jack Christensen
6a0b41e50a Add pgtype.Polygon 2017-04-04 20:30:04 -05:00
Jack Christensen
8cbf667b8e Add pgtype.Uuid 2017-04-04 20:24:01 -05:00
Jack Christensen
f4bdd8300f Add path 2017-04-04 08:40:41 -05:00
Jack Christensen
d8a778811e Add pgtype.Lseg 2017-04-04 08:16:02 -05:00
Jack Christensen
2fc89c69e9 Add pgtype.Line 2017-04-04 08:04:54 -05:00
Jack Christensen
dccbbc6a40 Add pgtype.Box 2017-04-03 19:47:36 -05:00
Jack Christensen
0079bd5095 Add pgtype.Point 2017-04-03 17:53:32 -05:00
Jack Christensen
cc873a0bcf Add pgtype.NumericArray 2017-04-03 07:46:45 -05:00
Jack Christensen
066562fc89 Add pgtype.Numrange 2017-04-03 07:35:19 -05:00
Jack Christensen
f7191d3a56 Add pgtype.Numeric 2017-04-01 23:33:04 -05:00
Jack Christensen
d25c346d6d Add interval type 2017-03-31 20:11:18 -05:00
Jack Christensen
94971db9e2 Add daterange, tsrange, and tstzrange 2017-03-24 14:17:49 -05:00
Jack Christensen
a021a7717a Add Int8range
Add code generation for ranges
2017-03-24 13:36:10 -05:00
Jack Christensen
be04ad7b21 Add int4range 2017-03-23 18:41:52 -05:00
Jack Christensen
0e51991aaa Skip jsonb test if no jsonb type 2017-03-20 08:58:28 -05:00
Jack Christensen
4645475800 Run goimports as part of array gen script 2017-03-20 08:00:43 -05:00
Jack Christensen
6f9ef694d0 Add database/sql support to pgtype 2017-03-18 21:11:43 -05:00
Jack Christensen
3acd3d8546 Optionally generate binary array format 2017-03-18 17:38:58 -05:00
Jack Christensen
85f7df1e81 Factor out duplication in AssignTo 2017-03-18 16:54:08 -05:00
Jack Christensen
0f92da1f24 Remove unneeded idea file 2017-03-18 15:51:16 -05:00
Jack Christensen
d516894475 Simplify []byte scanning 2017-03-18 14:42:36 -05:00
Jack Christensen
df8f8e17cf Add pgtype.HstoreArray
This required restructuring array types to lookup oid of element instead of
hard-coding it due to hstore having a variable oid.
2017-03-18 12:40:54 -05:00
Jack Christensen
6e21cb00fe 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
b31d409dc2 Move not null Oid to pgtype
In preparation to ConnInfo implementation.
2017-03-13 21:34:38 -05:00
Jack Christensen
937368fd5f Fix error message for hstore 2017-03-13 20:23:17 -05:00
Jack Christensen
f9e5879072 Move hstore to pgtype
Also implement binary format
2017-03-12 17:06:06 -05:00
Jack Christensen
45b33519d7 Add pgtype GenericText and GenericBinary
Rows.Values uses this for unknown types.
2017-03-11 20:28:14 -06:00
Jack Christensen
a79b498533 Remove Set self support from pgtype
Set having the capability to assign an object of the same type was
inconsistently implemented. Some places it was not implemented at all, some
places it was a shallow copy, some places a deep copy. Given that it doesn't
seem likely to ever be used, and if it is needed it is easy enough to do
outside of the library this code has been removed.
2017-03-11 20:18:56 -06:00
Jack Christensen
b94ccae4c9 Document that Decode* must not keep src
- Also fix Bytea.DecodeBinary to not keep src.
2017-03-11 20:12:47 -06:00