102 Commits

Author SHA1 Message Date
Jack Christensen
3f02d66ae0 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
4e334054dd Fix ranges with text format where end is unbounded
fixes #342
2017-11-04 14:03:46 -05:00
Jack Christensen
5ab54cb24f 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
6618ea669e Use named value instead of literal 2017-11-04 13:37:47 -05:00
Jack Christensen
5ba28cf2c5 Add support for array of enum
fixes #338
2017-10-17 20:31:11 -05:00
Jack Christensen
3453586e89 Add UnmarshalJSON to a few types 2017-09-29 15:26:37 -05:00
Jack Christensen
2e630dddf9 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
703ce85513 Generate UUIDArray from template
- Fix error in Set
- Specifically handle untyped nil
2017-08-29 14:33:25 -05:00
Kelsey Francis
2dfcf74f62 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
9ee71598ee Merge pull request #306 from cyberdelia/rows
Add more ColumnType support
2017-08-22 14:21:47 -05:00
Timothée Peignier
43c2b979d0 Add more ColumnType support 2017-08-18 18:22:08 -07:00
Wei Congrui
f18a22e066 Fix numeric EncodeBinary bug 2017-08-18 15:20:39 +08:00
Jack Christensen
10fa3a6497 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
a5f166bd21 Use github.com/pkg/errors 2017-06-04 21:30:03 -05:00
Jack Christensen
654adbdd4a Use Go casing convention for CID/TID/XID/CIDR 2017-06-03 12:01:49 -05:00
Jack Christensen
01fa5960b2 Use Go casing convention for ACLItem 2017-06-03 11:58:40 -05:00
Jack Christensen
aab8b77215 Use Go casing convention for JSON(B) 2017-06-03 11:57:14 -05:00
Jack Christensen
496c5a4dff Use Go casing convention for UUID 2017-06-03 11:54:57 -05:00
Jack Christensen
2140814606 Use Go casing convention for OID 2017-06-03 11:53:49 -05:00
Jack Christensen
071de0b674 Fix shopsprint-numeric test 2017-05-20 09:46:06 -05:00
Jack Christensen
1f1677ba5e Ensure shopspring-numeric tests run 2017-05-20 09:44:15 -05:00
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