2
0
Commit Graph

102 Commits

Author SHA1 Message Date
Jack Christensen f6d37536c4 Detect erroneous JSON(B) encoding
JSON(B) automatically marshals any value. Avoid marshalling values of
pgtype.JSON and pgtype.JSONB. The caller certainly meant to call on a
pointer.

See https://github.com/jackc/pgx/issues/350 for discussion.

refs #350
2017-11-04 19:09:24 -05:00
Jack Christensen 425fbe1c88 Fix ranges with text format where end is unbounded
fixes #342
2017-11-04 14:03:46 -05:00
Jack Christensen d6cd3b1962 Add String method to pgtype.BoundType
Character representation is much easier to read than numeric.
2017-11-04 13:47:03 -05:00
Jack Christensen e16749774d Use named value instead of literal 2017-11-04 13:37:47 -05:00
Jack Christensen ab9a1af65b Add support for array of enum
fixes #338
2017-10-17 20:31:11 -05:00
Jack Christensen 63f58fd32e Add UnmarshalJSON to a few types 2017-09-29 15:26:37 -05:00
Jack Christensen 47c0e9cbac Fix decoding row with same type values
Row decoding was reusing and returning connection owned values for
decoding. Instead allocate new value each time.

fixes #313
2017-08-29 15:38:45 -05:00
Jack Christensen 4e26b04d6e Generate UUIDArray from template
- Fix error in Set
- Specifically handle untyped nil
2017-08-29 14:33:25 -05:00
Kelsey Francis 1e36edf4b0 Add UUIDArray type
Also change UUID.Set() to convert nil to NULL in order for
UUIDArray.Set() to support converting [][]byte slices that contain nil.
2017-08-27 19:36:53 -07:00
Jack Christensen 5e91defb41 Merge pull request #306 from cyberdelia/rows
Add more ColumnType support
2017-08-22 14:21:47 -05:00
Timothée Peignier 0f84f73c7b Add more ColumnType support 2017-08-18 18:22:08 -07:00
Wei Congrui ce654ad1e1 Fix numeric EncodeBinary bug 2017-08-18 15:20:39 +08:00
Jack Christensen d2a8d4ddca Return error on MarshalJSON of status Undefined
Previously "undefined" was returned as a value. While this is a
valid JavaScript value, it is not valid JSON.
2017-08-12 16:40:18 -05:00
Jack Christensen 8f4178b3d3 Use github.com/pkg/errors 2017-06-04 21:30:03 -05:00
Jack Christensen 8712627257 Use Go casing convention for CID/TID/XID/CIDR 2017-06-03 12:01:49 -05:00
Jack Christensen 24fb04edb5 Use Go casing convention for ACLItem 2017-06-03 11:58:40 -05:00
Jack Christensen 6688466123 Use Go casing convention for JSON(B) 2017-06-03 11:57:14 -05:00
Jack Christensen 3bdc94cee2 Use Go casing convention for UUID 2017-06-03 11:54:57 -05:00
Jack Christensen 27ab289096 Use Go casing convention for OID 2017-06-03 11:53:49 -05:00
Jack Christensen b8c043780d Fix shopsprint-numeric test 2017-05-20 09:46:06 -05:00
Jack Christensen 104192725a Ensure shopspring-numeric tests run 2017-05-20 09:44:15 -05:00
Jack Christensen dc753bf2a3 Fix TestHstoreArrayTranscode 2017-05-20 08:42:39 -05:00
Jack Christensen aa2bc93e31 Fix TestIntervalNormalize 2017-05-20 08:39:53 -05:00
Jack Christensen 6529b91111 Fix TestNumericNormalize 2017-05-20 08:38:27 -05:00
Jack Christensen ace282df66 Test &pgtype.QChar 2017-05-20 08:36:40 -05:00
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