Commit Graph

410 Commits (4e7aa59d64ffbf2559b5960757b95a245a74401c)

Author SHA1 Message Date
Jack Christensen f861d83a17 Fix range types not clearing unbounded or empty 2022-02-08 16:48:17 -06:00
Jack Christensen 0306ce3a19 Fix scanning negative ints into Int64Scanner 2022-02-08 14:13:06 -06:00
Jack Christensen 1334d45d71 Parse array header to empty slices instead of nils 2022-02-08 11:35:40 -06:00
Jack Christensen bcc0af3f56 Fix scan empty array into multi-dimension slice 2022-02-08 11:12:05 -06:00
Jack Christensen 7193e48923 Restore multi-dimensional slices
Move ArrayCode to use pgtype wrapper pattern as well
2022-02-08 10:07:40 -06:00
Jack Christensen 02372f1c3c Add DecodeValue to composites 2022-02-05 15:12:09 -06:00
Jack Christensen 3a94113118 Add composite to arbitrary struct encoding and decoding 2022-02-05 14:24:34 -06:00
Jack Christensen 727fc19cb7 Another error message improvement 2022-02-05 13:10:58 -06:00
Jack Christensen 28ea2cd190 Better error messages 2022-02-05 13:05:23 -06:00
Jack Christensen 6ebf54b62b Fix EnumCodec caching and add tests 2022-02-05 09:57:40 -06:00
Jack Christensen 288080c58c Add test documenting typed nil json encoding
Encoded into json null not SQL NULL.
2022-02-05 09:34:39 -06:00
Jack Christensen 0355d2ffea Add Float8range
PostgreSQL doesn't define float8range out of the box though it can
easily be created by the user. However, it is still convenient to treat
a numrange as a float8range.
2022-02-05 08:54:38 -06:00
Jack Christensen a74ebc9e51 pgtype.Numeric implements Float64Valuer 2022-02-05 08:39:53 -06:00
Jack Christensen a280f4db8a Float4 and Float8 implement Int64 Scanner and Valuer 2022-02-03 20:19:52 -06:00
Jack Christensen ba4583cf4c Add range array types 2022-02-02 08:47:56 -06:00
Jack Christensen cebe44ee85 Restore range support 2022-02-02 08:40:42 -06:00
Jack Christensen 11223497b3 Restore record support 2022-01-31 20:42:12 -06:00
Jack Christensen ef7114a8ce Add DecodeValue and DecodeDatabaseSQLValue for ArrayCodec 2022-01-31 20:39:50 -06:00
Jack Christensen 558748ef9c ArrayCodec contains element DataType 2022-01-29 16:41:07 -06:00
Jack Christensen b5bf9d7bb9 Move LoadDataType to pgx.Conn 2022-01-29 16:32:05 -06:00
Jack Christensen f5c3eeb813 Initial rebuilt composite support 2022-01-29 15:43:18 -06:00
Jack Christensen dc77e7c2da Add QueryRow warning to DriverBytes 2022-01-29 08:17:50 -06:00
Jack Christensen 47345e0d1e ArrayHeader.EncodeBinary doesn't need ci parameter 2022-01-25 20:21:28 -06:00
Jack Christensen 551d26ca41 Change ArrayHeader.ElementOID to uint32 2022-01-25 20:19:02 -06:00
Jack Christensen 0ddf9e3b4b Try wrapping scan target before sql.Scanner
This allows wrappers to directly avoid the slow sql.Scanner interface.
2022-01-22 18:40:46 -06:00
Jack Christensen 5ed95dcd1c Expose wrap functions on ConnInfo
- Remove rarely used ScanPlan.Scan arguments
- Plus other refactorings and fixes that fell out of this change.
- Plus rows Scan now handles checking for changed type.
2022-01-22 17:50:19 -06:00
Jack Christensen 322bfedc60 Remove old SQL scanner integration 2022-01-22 16:20:37 -06:00
Jack Christensen aedf7d63e5 Expose try wrap functions in ConnInfo 2022-01-22 16:19:32 -06:00
Jack Christensen 2b395f3730 pgtype.DataType.Codec can never be nil 2022-01-22 12:21:16 -06:00
Jack Christensen db95cee40c Remove pgtype.Value interface 2022-01-22 12:18:40 -06:00
Jack Christensen 4cf6dc9447 Remove BinaryEncoder and TextEncoder 2022-01-22 12:16:02 -06:00
Jack Christensen 3a90c6c879 Removed TextEncoder and BinaryEncoder
Restructured / fixed a lot of tests along the way.
2022-01-22 12:07:35 -06:00
Jack Christensen eb0a4c9626 Replace some old database/sql compatibility 2022-01-22 11:21:12 -06:00
Jack Christensen ad785d8134 Remove TypeValue interface 2022-01-22 10:56:56 -06:00
Jack Christensen 8d2c87b5e5 Remove old typed array code gen 2022-01-22 10:54:54 -06:00
Jack Christensen 740263c0d4 Convert UUID to Codec 2022-01-22 10:53:47 -06:00
Jack Christensen b9b5e35d0f Convert numeric to Codec 2022-01-22 09:31:59 -06:00
Jack Christensen 0056156904 Add time array 2022-01-21 16:51:53 -06:00
Jack Christensen 61b4fb7689 Convert time to Codec 2022-01-21 16:50:30 -06:00
Jack Christensen c8b8764401 Allow scanning tid to string 2022-01-20 20:59:36 -06:00
Jack Christensen 5ca29a014e Add tid array 2022-01-20 20:41:56 -06:00
Jack Christensen 7a3bc454e0 Convert TID to Codec 2022-01-20 20:40:37 -06:00
Jack Christensen b10eb89fe4 Use wrapper to treat fmt.String as pgtype.TextValuer 2022-01-20 20:22:53 -06:00
Jack Christensen 06f4e47750 Add macaddr array 2022-01-20 20:10:43 -06:00
Jack Christensen 97443487ce Convert macaddr to Codec 2022-01-20 20:07:09 -06:00
Jack Christensen b2e5c4ff6e Add "char" array 2022-01-20 18:00:43 -06:00
Jack Christensen bcf4931a7e Convert "char" to Codec 2022-01-20 17:58:57 -06:00
Jack Christensen 99fb8cf2f3 Convert timestamp and timestamptz to Codec 2022-01-18 21:49:38 -06:00
Jack Christensen 8b27725f5b Convert json and jsonb to Codec 2022-01-18 16:04:25 -06:00
Jack Christensen 8728acfca6 Add polygon array 2022-01-18 12:05:28 -06:00
Jack Christensen abd7e98f31 Convert polygon to Codec 2022-01-18 12:04:17 -06:00
Jack Christensen 11d96fb928 Add path array 2022-01-18 11:52:44 -06:00
Jack Christensen 5ff0ad548b Convert path to Codec 2022-01-18 11:51:08 -06:00
Jack Christensen 0ae8de35c8 Add lseg array 2022-01-18 11:39:58 -06:00
Jack Christensen 869213a315 Convert lseg to Codec 2022-01-18 11:38:35 -06:00
Jack Christensen 97d8a408ea Add line array 2022-01-18 11:30:39 -06:00
Jack Christensen 06593ffb10 Convert line to Codec 2022-01-18 11:29:19 -06:00
Jack Christensen bff036b366 Add interval array support 2022-01-15 18:48:10 -06:00
Jack Christensen 77e4b01553 Convert Interval to Codec 2022-01-15 18:46:28 -06:00
Jack Christensen 5472ce9f10 Reorder Box functions 2022-01-15 18:45:42 -06:00
Jack Christensen 67720623f8 Extract plan wrapper concept 2022-01-15 18:43:52 -06:00
Jack Christensen a6863a7dd2 Convert Hstore to Codec 2022-01-15 17:47:37 -06:00
Jack Christensen 313254c75d Convert float4 and float8 to Codec 2022-01-15 11:12:06 -06:00
Jack Christensen 05598d4ca6 Convert inet and cidr to codec 2022-01-15 09:48:21 -06:00
Jack Christensen f743007fb4 Restore array support to pgxtype.LoadDataType 2022-01-11 20:49:20 -06:00
Jack Christensen ae9be0b99e Replace EnumType with EnumCodec 2022-01-11 20:46:10 -06:00
Jack Christensen b57e0c419b Convert Date to Codec 2022-01-10 21:02:20 -06:00
Jack Christensen f4a9d84e32 Add CID, OID, and XID arrays 2022-01-09 00:41:25 -06:00
Jack Christensen eec82c9433 Replace CID, OID, OIDValue, and XID with Uint32 2022-01-09 00:35:49 -06:00
Jack Christensen b26618ac95 Prevent try underlying type from acting on a value
This is necessary to prevent infinite recursion where a base type is
wrapped and then unwrapped.
2022-01-09 00:25:20 -06:00
Jack Christensen ad79dccd99 Builtin types are automatically wrapped if necessary 2022-01-08 23:44:53 -06:00
Jack Christensen 8aaf235595 Standardize scanner and valuer for int types 2022-01-08 21:41:08 -06:00
Jack Christensen dc05bd9fee Remove old code gen 2022-01-08 20:51:44 -06:00
Jack Christensen 6be0c3f6b2 Remove convertToBoolForEncode 2022-01-08 20:51:28 -06:00
Jack Christensen 6cb3439492 Fix encode plan names 2022-01-08 18:35:54 -06:00
Jack Christensen f573cde09c Convert bytea to Codec 2022-01-08 18:33:08 -06:00
Jack Christensen c6f3e03a61 BoolCodec EncodePlan actually plans 2022-01-08 17:01:32 -06:00
Jack Christensen f5347987a6 Add bit and varbit array support 2022-01-08 16:53:15 -06:00
Jack Christensen 17513d175a Convert bit and varbit to Codec 2022-01-08 16:49:58 -06:00
Jack Christensen 1eee7987e1 Use TextCodec for aclitem type 2022-01-08 16:24:05 -06:00
Jack Christensen 313569db56 Remove useless allocations 2022-01-08 13:38:56 -06:00
Jack Christensen 4aff33603d Remove useless receivers 2022-01-08 13:37:23 -06:00
Jack Christensen 6a6878bafd Fix Box, Circle, and Point NULL 2022-01-08 13:29:47 -06:00
Jack Christensen 58d2d8e453 Add name array 2022-01-08 13:16:09 -06:00
Jack Christensen fcc9dcc960 Convert text to Codec
This also entailed updating and deleting types that depended on Text.
2022-01-08 13:13:26 -06:00
Jack Christensen a7d4a22001 Add point array support 2022-01-08 09:37:40 -06:00
Jack Christensen 2b0afbb408 Convert point to Codec 2022-01-08 09:33:08 -06:00
Jack Christensen dcaf102f8e Introduce PlanEncode 2022-01-05 08:59:21 -06:00
Jack Christensen ac80fa5b33 Remove proposed v5 type system before Codec 2022-01-04 20:04:48 -06:00
Jack Christensen 1a189db041 Remove ValueTranscoder interface 2022-01-04 19:59:32 -06:00
Jack Christensen b90f92d2d2 Remove obsolute ArrayType 2022-01-04 19:58:40 -06:00
Jack Christensen 80ae29d056 Inline Encoder interface to Codec 2022-01-04 19:56:16 -06:00
Jack Christensen 6a32f938f1 Extract codecDecodeToTextFormat 2022-01-03 21:23:29 -06:00
Jack Christensen f7c0c31e87 Extract DecodeValue helper 2022-01-03 21:20:52 -06:00
Jack Christensen ad6ee2bd56 Add circle array 2022-01-03 20:56:12 -06:00
Jack Christensen eb2c37a983 Convert circle to Codec 2022-01-03 20:53:50 -06:00
Jack Christensen 5c4560eed3 Add box array 2022-01-03 20:30:57 -06:00
Jack Christensen 298a5f0dca Convert box to Codec 2022-01-03 20:27:44 -06:00
Jack Christensen 4b1121c2a9 Convert bool to Codec 2022-01-01 18:18:47 -06:00
Jack Christensen 0c0e28a70a Convert int4 and int8 to new system
Note: purposely disabled some tests and composite support that needs to
be restored later in v5 development.
2022-01-01 17:26:39 -06:00
Jack Christensen 40fb889605 Temporarily remove composite and record support 2022-01-01 11:41:08 -06:00
Jack Christensen ffa1fdd66e Temporarily remove range type support 2022-01-01 11:32:52 -06:00
Jack Christensen d2cf33ed40 Add UnmarshalJSON to generated ints 2022-01-01 11:25:26 -06:00
Jack Christensen 0403c34ae3 Prepare for generating tests 2022-01-01 11:22:14 -06:00
Jack Christensen 1b353297d5 Prepare for generating int types 2022-01-01 11:11:31 -06:00
Jack Christensen 6c7f1593e8 Use rake to build generated code 2022-01-01 10:54:54 -06:00
Jack Christensen 93cc21199f All tests passing 2021-12-31 17:54:47 -06:00
Jack Christensen 1516a0d8db pgtype tests pass 2021-12-31 17:51:18 -06:00
Jack Christensen 19ae359e9e Add binary scan plans for int2 2021-12-31 17:03:31 -06:00
Jack Christensen 77b9b59622 Generate text to int scan plans 2021-12-31 13:07:08 -06:00
Jack Christensen b99d95470f Fix tryBaseTypeScanPlan infinite recursion 2021-12-31 12:32:46 -06:00
Jack Christensen c39924d0c6 Improvements to ArrayCodec 2021-12-31 12:28:45 -06:00
Jack Christensen 9fc8f9b3a8 Initial passing tests for main pgx package 2021-12-30 18:12:47 -06:00
Jack Christensen 58b7486343 Initial codec support for int2 and int2[] 2021-12-23 13:12:54 -06:00
Jack Christensen 85b08ac663 Fix some previously broken comment links 2021-12-11 13:30:36 -06:00
Jack Christensen 72cc95e4dd Bump module version to v5 2021-12-11 13:29:03 -06:00
Jack Christensen 390bd79757 Add array integration benchmarks 2021-12-11 09:19:11 -06:00
Jack Christensen d9e53647ec Use ideomatic casing 2021-12-11 09:08:05 -06:00
Jack Christensen 0e293b966c Finish import of pgconn 2021-12-04 14:06:57 -06:00
Jack Christensen 7e13db4538 Finish import of pgtype repo
Fix some tests that broke by merging repos
Tweak readme wording
2021-12-04 13:45:57 -06:00
Jack Christensen 44214b7854 Import to pgx main repo in pgtype subdir 2021-12-04 13:07:54 -06:00
Jack Christensen 1b8f0016e9 Split pgtype into own repo 2019-04-20 19:20:00 -05:00
Jack Christensen cc3461e65d Use golang.org/x/xerrors 2019-04-20 17:43:44 -05:00
Jack Christensen efb333df6b Fix go modules
Wow. This is fun. Sure is easy to get modules wrong when upgrading a v2+
project.
2019-04-20 17:41:08 -05:00
Jack Christensen 66625e6489 Prepare takes context
Also remove PrepareEx. It's primary usage was for context. Supplying
parameter OIDs is unnecessary when you can type cast in the query SQL.
If it does become necessary or desirable to add options back it can be
added in a backwards compatible way by adding a varargs as last
argument.
2019-04-20 11:47:16 -05:00
Jack Christensen 57b149e8e9 Remove unused scan float into numeric 2019-04-13 18:06:09 -05:00
Jack Christensen 5cc4796c96 Test domains when registered and unregistered
Fix bug assigning to unknown type.
2019-04-13 17:09:51 -05:00
Jack Christensen a6bdd8fd49 Hard code standard PostgreSQL types
Instead of needing to instrospect the database on connection preload the
standard OID / type map. Types from extensions (like hstore) and custom
types can be registered by the application developer. Otherwise, they
will be treated as strings.
2019-04-13 16:45:52 -05:00
Jack Christensen 6c0de9ff37 More transcoding type tests
Text every combination of text and binary arguments and text and binary
results.
2019-04-13 14:17:04 -05:00
Jack Christensen 93aa913677 Fix long standing text array text format null bug 2019-04-13 14:06:01 -05:00
Jack Christensen c53c9e6eb5 Remove simple protocol and one round trip query options
It is impossible to guarantee that the a query executed with the simple
protocol will behave the same as with the extended protocol. This is
because the normal pgx path relies on knowing the OID of query
parameters. Without this encoding a value can only be determined by the
value instead of the combination of value and PostgreSQL type. For
example, how should a []int32 be encoded? It might be encoded into a
PostgreSQL int4[] or json.

Removal also simplifies the core query path.

The primary reason for the simple protocol is for servers like PgBouncer
that may not be able to support normal prepared statements. After
further research it appears that issuing a "flush" instead "sync" after
preparing the unnamed statement would allow PgBouncer to work.

The one round trip mode can be better handled with prepared statements.

As a last resort, all original server functionality can still be accessed by
dropping down to PgConn.
2019-04-13 11:39:01 -05:00
Jack Christensen f756d9d591 Extract scan value to pgtype 2019-04-12 21:31:59 -05:00
Jack Christensen b78ecf26dc Fix encode empty value 2019-04-12 21:23:57 -05:00
Jack Christensen 072391f4a8 Initial pass at fixing pgtype tests
Many still failing, but at least it compiles now.
2019-04-12 16:58:42 -05:00
Jack Christensen 858d00788a Use extracted packages with Go modules 2019-04-05 10:59:47 -05:00
David Bariod 903a7734c5 support binding of []int type to array integer 2019-01-19 11:44:30 -06:00
maxarchx b1a17cf284 Apply UUID string length check before parsing 2018-11-30 15:13:43 +05:00
Jack Christensen e44f0f24c4
Merge pull request #454 from regeda/macaddr-array
macaddr array is introduced
2018-09-01 22:46:13 -04:00
Jack Christensen 302c74f214 Fix: do not silently ignore assign NULL to *string
AssignTo can only assign NULL to a **string. Previous code tried to
assign nil to a *string, which did nothing. Correct behavior is to
detect this as an error.
2018-09-01 18:40:42 -05:00
Anthony Regeda b0702cf2b1
macaddr-array macaddr array is introduced 2018-09-01 16:06:20 +03:00
Damir Vandic fa045b7a4b Add the type of the value in all decode error messages 2018-06-04 21:02:20 +02:00
Tarik Demirci 1149b0f015
Allow setting nil to pgtype.Bool 2018-05-17 12:22:48 +02:00
Anthony Regeda 88c559bbcd
numeric_with_uint64 numeric array supports both types int64 and uint64 2018-04-24 16:31:31 +03:00
Jack Christensen 5297846239 pgtype.JSON(B).Value now returns []byte
Allows scanning jsonb column into *json.RawMessage.

fixes #409
2018-04-14 09:17:56 -05:00
Jack Christensen cb4431028c Fix precision loss for test format geometric types
fixes #399
2018-03-17 10:26:03 -05:00
Jack Christensen a07b87eb8b Skip line test of PG 9.3 2018-03-08 08:05:54 -05:00
Jack Christensen b0c9bbbf71 Update shopspring decimal integration test
New version of shopspring/decimal improves precision. This broke a test.
2018-03-08 07:40:25 -05:00
Jack Christensen 55ca9db5d5 Skip test based on missing line type
Instead of explicit server version checking. Ubuntu installed version
string is not parsable by go-version. e.g.

10.2 (Ubuntu 10.2-1.pgdg16.04+1)
2018-02-16 21:39:19 -06:00
Jack Christensen a680463718 Import encoding/json package 2018-01-13 18:14:42 -06:00
Jack Christensen 6ca9b1279e Merge branch 'patch-1' of https://github.com/eruca/pgx into eruca-patch-1 2018-01-13 18:12:35 -06:00
Iurii Krasnoshchok 90de4adfa7 Add support for bpchar type 2018-01-02 12:29:40 +01:00
eruca de72a2c730
UnmarshalJSON for Int8 missing 2017-12-29 21:09:22 +08:00
Jack Christensen 4fb47ac8c9
Merge pull request #371 from ferhatelmas/gofmt-simplify
Run gofmt with simplify flag
2017-12-23 10:32:44 -06:00
Jack Christensen 21dad60cf7 Add test for record with unknown OID 2017-12-23 10:24:09 -06:00
ferhat elmas 763deea17e Run gofmt with simplify flag 2017-12-21 23:45:26 +01:00
Iurii Krasnoshchok 0bc891e780 Return error on unknown oid while decoding record instead of panic 2017-12-20 14:47:52 +01:00
Jack Christensen 5e08a4a5f1 Add support for bit type 2017-11-18 21:13:34 -06:00
Jack Christensen 5785eea828 Fix missing interval mapping 2017-11-17 09:37:57 -06:00
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