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
Jack Christensen
9b9361848d
Expand pgtype.Value interface
...
- Include and rename ConvertFrom to Set
- Add Get
- Include AssignTo
2017-03-11 19:53:45 -06:00
Jack Christensen
7985ca5f87
Add json/jsonb to pgtype
2017-03-11 18:46:51 -06:00
Jack Christensen
666af9ead5
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
44e206ab5b
Rename array files
2017-03-11 16:53:07 -06:00
Jack Christensen
a231c5461f
Move Tid to pgtype
2017-03-11 16:48:37 -06:00
Jack Christensen
2f63514c47
Move ACLItem to pgtype
2017-03-11 16:13:05 -06:00
Jack Christensen
86620c5e91
Add pgtype.ByteaArray
...
Also fix up quoting array elements for text arrays.
2017-03-11 13:32:32 -06:00
Jack Christensen
e654d1f0fc
pgtype.Encode(Binary|Text) do not write length
...
To aid in composability, these methods no longer write their own length. This
is especially useful for text formatted arrays and may be useful for future
database/sql compatibility. It also makes the code a little simpler as the
types no longer have to compute their own size.
Along with this, these methods cannot encode NULL. They now return a boolean
if they are NULL. This also benefits text array encoding as numeric arrays
require NULL to be exactly `NULL` while string arrays require NULL to be
`"NULL"`.
2017-03-11 12:45:30 -06:00
Jack Christensen
361a54abb7
Decode(Text|Binary) now accepts []byte instead of io.Reader
2017-03-10 16:08:47 -06:00
Jack Christensen
bb7122d4a8
Fix typed_array_gen.sh typo
2017-03-09 21:09:36 -06:00
Jack Christensen
8fa9afbb36
Add bytea
2017-03-09 21:07:40 -06:00
Jack Christensen
eea6e5a64c
Move "char" to pgtype
2017-03-07 19:39:57 -06:00
Jack Christensen
94612427ed
Move Name to pgtype
2017-03-06 17:55:20 -06:00
Jack Christensen
b139307f5b
Move OID to pgtype
2017-03-05 13:05:49 -06:00
Jack Christensen
6f9aef67c7
Fix comment on XID
2017-03-05 09:18:50 -06:00
Jack Christensen
603d829611
Extract pguint32
2017-03-05 09:13:25 -06:00
Jack Christensen
8922421ad6
Move XID to pgypte
2017-03-05 09:07:07 -06:00
Jack Christensen
3aad9c08d5
Generalize array template
2017-03-05 08:59:26 -06:00
Jack Christensen
0437c9f5d6
Move cid to pgtype
2017-03-04 22:12:03 -06:00
Jack Christensen
4254e5f2d2
Add text to pgtype
2017-03-04 21:20:56 -06:00
Jack Christensen
93e1715082
Add inet and cidr to pgtype
2017-03-04 17:33:41 -06:00
Jack Christensen
0f115477de
Add float4, float8 and arrays
2017-03-04 13:29:04 -06:00
Jack Christensen
39b60605ae
Add timestamp to pgtype
2017-03-04 12:36:24 -06:00
Jack Christensen
34c5070371
Add arrays to all other pgtypes
2017-03-04 11:48:53 -06:00
Jack Christensen
a2843aba53
Add tests for pgtype.Int2Array
2017-03-03 19:19:31 -06:00
Jack Christensen
c4e08dab42
Add pgtype error cases
2017-03-03 18:39:52 -06:00
Jack Christensen
db69aa6f72
Add tests to more pgtypes
...
Int4, Int8, Date, Timestamptz
2017-03-03 18:23:26 -06:00