Jack Christensen
a904e672c1
Uncomment Hstore tests
2017-05-20 08:34:20 -05:00
Jack Christensen
6a2a5e28fd
Fix issues identified by go vet
2017-05-06 19:48:03 -05:00
Jack Christensen
6e64a0c867
Refactor pgio and types to append buffers
2017-05-02 20:38:26 -05:00
Jack Christensen
932caef600
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
73471ea3fe
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
f7d3c4e151
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
cab445ddd2
Add satori-uuid type
...
Make pgtype.EncodeValueText public
2017-04-14 16:46:39 -05:00
Jack Christensen
a8c350c77d
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
f418255c24
Finish extraction of pgtype test helpers
2017-04-14 12:38:33 -05:00
Jack Christensen
e4451b47b2
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
fe7d9d3462
Add MarshalJSON to a few types
2017-04-13 21:58:19 -05:00
Jack Christensen
76c0b9ee90
Skip line tests on when server version < PG 9.4
2017-04-11 20:16:41 -05:00
Jack Christensen
7b1f461ec3
Add simple protocol suuport with (Query|Exec)Ex
2017-04-10 08:58:51 -05:00
Jack Christensen
54d9cbc743
Add pgtype.Varbit
2017-04-05 07:54:41 -05:00
Jack Christensen
52b58b88a6
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
e5c48b17f2
Add pgtype.Macaddr
2017-04-04 21:07:27 -05:00
Jack Christensen
5be6819a8c
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
dc71bedebf
Add pgtype.Polygon
2017-04-04 20:30:04 -05:00
Jack Christensen
26e92b12c2
Add pgtype.Uuid
2017-04-04 20:24:01 -05:00
Jack Christensen
d14de1d1fc
Add path
2017-04-04 08:40:41 -05:00
Jack Christensen
365005d207
Add pgtype.Lseg
2017-04-04 08:16:02 -05:00
Jack Christensen
5394aa9a2b
Add pgtype.Line
2017-04-04 08:04:54 -05:00
Jack Christensen
06822bebe0
Add pgtype.Box
2017-04-03 19:47:36 -05:00
Jack Christensen
5a2feadf11
Add pgtype.Point
2017-04-03 17:53:32 -05:00
Jack Christensen
c09c356b19
Add pgtype.NumericArray
2017-04-03 07:46:45 -05:00
Jack Christensen
6ca1c1e41e
Add pgtype.Numrange
2017-04-03 07:35:19 -05:00
Jack Christensen
5ad2c4e2b9
Add pgtype.Numeric
2017-04-01 23:33:04 -05:00
Jack Christensen
09078d2470
Add interval type
2017-03-31 20:11:18 -05:00
Jack Christensen
fffeb1d5dc
Add daterange, tsrange, and tstzrange
2017-03-24 14:17:49 -05:00
Jack Christensen
7312fb20e8
Add Int8range
...
Add code generation for ranges
2017-03-24 13:36:10 -05:00
Jack Christensen
7eae904eba
Add int4range
2017-03-23 18:41:52 -05:00
Jack Christensen
120da8df8f
Skip jsonb test if no jsonb type
2017-03-20 08:58:28 -05:00
Jack Christensen
db6c5daa70
Run goimports as part of array gen script
2017-03-20 08:00:43 -05:00
Jack Christensen
bec9bd261b
Add database/sql support to pgtype
2017-03-18 21:11:43 -05:00
Jack Christensen
5572c002dc
Optionally generate binary array format
2017-03-18 17:38:58 -05:00
Jack Christensen
4d9c44fc01
Factor out duplication in AssignTo
2017-03-18 16:54:08 -05:00
Jack Christensen
264823e6ab
Remove unneeded idea file
2017-03-18 15:51:16 -05:00
Jack Christensen
92cff1d961
Simplify []byte scanning
2017-03-18 14:42:36 -05:00
Jack Christensen
cf70e6b9f4
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
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
7ec8d7b343
Fix error message for hstore
2017-03-13 20:23:17 -05:00
Jack Christensen
7bb1f3677d
Move hstore to pgtype
...
Also implement binary format
2017-03-12 17:06:06 -05:00
Jack Christensen
3391818847
Add pgtype GenericText and GenericBinary
...
Rows.Values uses this for unknown types.
2017-03-11 20:28:14 -06:00
Jack Christensen
aac8fd66f2
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
5cf4b97681
Document that Decode* must not keep src
...
- Also fix Bytea.DecodeBinary to not keep src.
2017-03-11 20:12:47 -06: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
3dc509df94
Rename array files
2017-03-11 16:53:07 -06:00