188 Commits

Author SHA1 Message Date
Jack Christensen
d3d80cd2de Merge branch 'rwelin-rw_format' 2020-03-27 16:10:54 -05:00
Jack Christensen
65bb544ba9 Merge branch 'rw_format' of git://github.com/rwelin/pgtype into rwelin-rw_format 2020-03-27 16:10:37 -05:00
Jack Christensen
523cdad66f Truncate nanoseconds in EncodeText for Timestamptz and Timestamp
PostgreSQL has microsecond precision. If more than this precision is
supplied in the text format it is rounded. This was inconsistent with
the binary format.

See https://github.com/jackc/pgx/issues/699 for original issue.
2020-03-27 15:59:54 -05:00
Robert Welin
43bf713180 Use correct format verb for unknown type error 2020-03-27 13:20:33 +00:00
Jack Christensen
9e700ff067 Date.Set parses string 2020-03-09 10:40:40 -05:00
Jack Christensen
8117205a75 Range types Set method supports its own type, string, and nil
Previously Set would always return an error when called on a range type.
Now it will accept an instance of itself, a pointer to an instance of
itself, a string, or nil. Strings are parsed with the same logic as
DecodeText.
2020-03-03 15:25:57 -06:00
Jack Christensen
55a56add23 Set will call Get on src if possible 2020-02-19 11:58:49 -06:00
Jack Christensen
666bd514e2 Add standard nil test to gofrs-uuid.UUID.Set 2020-02-19 10:50:58 -06:00
Jack Christensen
f3816bd1c0 Get implemented on T instead of *T
Methods defined on T are also available on *T. Thought this technically
changes the interface, because *T will be automatically dereferenced as
needed it shouldn't be a breaking change.

See a8802b16cc593842f5c69b0f7cfb0de11d5cd3a8 for similar change.
2020-02-19 10:48:09 -06:00
Jack Christensen
282b7936a2 Release 1.2.0 2020-02-05 11:10:17 -06:00
Jack Christensen
0ab69ce885 Merge branch 'freb-json_marshaling' 2020-01-29 09:26:45 -06:00
Jeffrey Stiles
5f363cb1f0 Add JSON marshalling for Bool, Date, JSON/B, Timestamptz 2020-01-27 16:19:43 -08:00
Jack Christensen
53a5c14d50
Merge pull request #17 from freb/null_unmarshaljson
Support Null Status in UnmarshalJSON
2020-01-25 14:13:00 -06:00
Jeffrey Stiles
06942241c4 Support Null Status in UnmarshalJSON 2020-01-24 16:38:15 -08:00
Jack Christensen
cf87e34792 Add JSON to shopspring-numeric extension 2020-01-24 17:07:41 -06:00
Jack Christensen
b01b35f466 Fix typo in docs 2020-01-24 14:58:59 -06:00
Jack Christensen
0bbaad1348 Add zeronull package for easier NULL <-> zero conversion 2020-01-24 11:23:28 -06:00
Jack Christensen
186f4b3539 Update changelog 2020-01-11 19:15:23 -06:00
Jack Christensen
c7502af68b Add PostgreSQL time type support
fixes #15
2019-12-19 21:35:35 -06:00
Jack Christensen
038f263a44 Add remaining int array conversions 2019-11-27 20:23:43 -06:00
Jack Christensen
52cb969ea1 Merge branch 'JohnnyQQQQ-master' 2019-11-27 20:17:12 -06:00
Jean-Philippe Quéméner
9ff83bc41c feat: add tests for less stricter numeric conversion 2019-11-26 17:31:13 +01:00
Jean-Philippe Quéméner
01ae643a48 feat: make conversion between numeric values and arrays less strict
closes https://github.com/jackc/pgx/issues/642
2019-11-26 17:11:54 +01:00
Jack Christensen
7e1301257e Release 1.0.3 2019-11-16 11:10:32 -06:00
Jack Christensen
be36a7e14b Fix test and avoid change to array signatures
typed_array.go.erb was not updated back in
a8802b16cc593842f5c69b0f7cfb0de11d5cd3a8 when Value, EncodeBinary,
EncodeText, and MarshalJSON were changed to be defined on T instead of
*T. This has been corrected.
2019-11-14 20:40:41 -06:00
Alex Gaynor
0079108e29 Fixes #11 -- support initializing Array types from a slice of the value 2019-11-08 14:59:19 -05:00
Jack Christensen
f711de3591 Release 1.0.2 2019-10-22 20:45:14 -05:00
Jack Christensen
3bc1f8ac57
Merge pull request #10 from jaltavilla/pointer-to-custom-type
Scan into nullable custom types (pointers to pointers).
2019-10-22 20:42:19 -05:00
jaltavilla
af517d68fc Scan into nullable custom types (pointers to pointers). 2019-10-21 17:21:42 -04:00
Jack Christensen
f395b32fa6 Added failing test for pointer to custom type 2019-10-19 11:43:24 -05:00
Jack Christensen
fa5c331c78 Add text format support to bit
fixes #7
2019-09-26 21:12:42 -05:00
Jack Christensen
90d22fb483 Add basic README.md 2019-09-26 21:08:20 -05:00
Jack Christensen
51e58f842b
Merge pull request #5 from quillchat/master
Add tstzrange data type
2019-09-26 21:00:43 -05:00
Jack Christensen
d3b475212c
Merge pull request #4 from alex/patch-1
Added a license -- fixes #3
2019-09-25 09:21:56 -05:00
Alex Gaynor
eb20ab8219 Added a license -- fixes #3 2019-09-20 10:14:48 -04:00
Jack Christensen
9dc453458c Release v1.0.1 2019-09-19 21:57:09 -05:00
Jack Christensen
52ae698572 Fix daterange oid 2019-09-19 21:43:18 -05:00
Andrew Huang
f517670ba5 Add tstzrange data type 2019-09-18 15:01:37 -07:00
Jack Christensen
cf8fe4a477 uuid extension switched to gofrs from satori
Do not encourage library use that has serious outstanding bug:
https://github.com/satori/go.uuid/issues/73
2019-09-14 19:58:54 -05:00
Jack Christensen
a8802b16cc Value, EncodeBinary, EncodeText, and MarshalJSON on T instead of *T
Methods defined on T are also available on *T. This change makes Value
consistent with database/sql Value implementations. It also makes Value,
EncodeBinary, and EncodeText more convenient to use because you can
pass T or *T as an argument to a query.

The MarshalJSON change is even more significant because without it
json.Marshal would generate the "%v" format instead of the implemented
MarshalJSON.

Thought this technically changes the interface, because *T will be
automatically dereferenced as needed it shouldn't be a breaking change.

See: https://github.com/jackc/pgx/issues/538 for initial discussion.
2019-08-27 20:46:16 -05:00
Jack Christensen
b1e25e4ea4 Add format code helpers to ConnInfo 2019-08-25 00:32:11 -05:00
Jack Christensen
7d83f9ba53 Update pgx for tests
Finish previous go mod dependency bounce.
2019-08-24 13:59:25 -05:00
Jack Christensen
ab885b375b OID type should only be used for scanning and encoding values
It was a mistake to use it in other contexts. This made interop
difficult between pacakges that depended on pgtype such as pgx and
packages that did not like pgconn and pgproto3. In particular this was
awkward for prepared statements.

Because pgx depends on pgtype and the tests for pgtype depend on pgx
this change will require a couple back and forth commits to get the
go.mod dependecies correct.
2019-08-24 13:49:12 -05:00
Jack Christensen
4cf1c44817 Fix unknown OID scanning into string and []byte 2019-08-22 18:20:36 -05:00
Jack Christensen
9010c554ed Port 251e6b7730c7b31b600e6fe06162e541f3032604 from pgx v3
commit 251e6b7730c7b31b600e6fe06162e541f3032604
Author: Nicholas Wilson <nicholas.wilson@realvnc.com>
Date:   Wed Jul 24 12:32:43 2019 +0100

    Tidying: make underlyingTimeType consistent with other underlyingFooType

    The first return value is ignored when returning false - so there's no
    point returning an empty time.Time when it can be nil.
2019-08-17 13:33:34 -05:00
Jack Christensen
bcc139a365 Port fc020c24ac9590f6547f8ad1d291fc75b4873a84 from pgx v3
commit fc020c24ac9590f6547f8ad1d291fc75b4873a84
Author: Nicholas Wilson <nicholas.wilson@realvnc.com>
Date:   Wed Jul 24 12:32:18 2019 +0100

    Add support for pgtype.UUID to write into any [16]byte type
2019-08-17 13:30:41 -05:00
Jack Christensen
4e0ed911f5 Import Fix for -0 numeric
From pgx: d678216f468d1fe4dc28649feacd4b30a176769e
2019-06-08 11:45:47 -05:00
Jack Christensen
3294a8cf1f Allow empty hstore keys
See pgx commit: 56f4f0b9d319a910016ce044a53f52fcf986ddc6
2019-05-20 16:26:58 -05:00
Jack Christensen
99fd636b8e Finish mod changes for split 2019-04-20 19:20:51 -05:00
Jack Christensen
4ed0de4755 Splitting pgtype into own repo 2019-04-20 19:14:08 -05:00