298 Commits

Author SHA1 Message Date
Maxim Ivanov
368295d3ee Create ROW helper for adhoc decoding of records 2020-04-12 18:40:52 +01:00
Maxim Ivanov
71ed747f3a Add example of CompositeType handling with ScanRowValue helper 2020-04-12 17:36:39 +01:00
Maxim Ivanov
ff95f82f70 Add ScanRowValue helper function
ScanRowValue is useful when reading ROW() values with
known field types as well as composite types. It accepts
pgtype.Value arguments, where ROW() fields are written to
on successfull scan.
2020-04-12 12:26:12 +01:00
Maxim Ivanov
9a869c8359 Refactor record field binary decoder preparation 2020-04-11 11:08:53 +01:00
Maxim Ivanov
087df120bb Refactor lowlevel record field iteration 2020-04-11 10:38:23 +01:00
Jack Christensen
98c9ec4f7b
Merge pull request #23 from lbcjbb/clean-go-mod-file
Clean go.sum file to remove old version of pgx v3
2020-04-07 19:49:44 -05:00
Jean-Baptiste Bronisz
1fcc71410c
Clean go.sum file to remove old version of pgx v3 2020-04-06 19:45:25 +02:00
Jack Christensen
9016875cae Add JSON support to ext/gofrs-uuid 2020-04-02 14:01:16 -05:00
Jack Christensen
ef5f8b54af Update dependencies 2020-03-30 11:30:37 -05:00
Jack Christensen
b26cd22378 Update changelog for v1.3.0 2020-03-30 11:18:27 -05:00
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