Commit Graph

72 Commits (9f6b99e3321fc72a0eac4542098030669cd2b7a2)

Author SHA1 Message Date
Martin Hamrle 9f6b99e332 Cleanups
Cleanups suggested by gometalinter tools.
2016-08-30 20:05:44 +02:00
Jack Christensen 71d8b5b438 Encode / decode named types with compatible underlying type
Handle string, int, int8, int16, int32, int64, uint, uint8, uint16,
uint32, uint64.
2016-07-05 18:01:44 -05:00
Jack Christensen 30cb421551 Add basic record to []interface{} decoding
refs #155
2016-06-21 15:00:47 -05:00
anil1596 e334907105 In func encodeUInt(), case Int8Oid:, changed value to int64(value) and math.MaxInt64 to int64(math.MaxInt64) 2016-06-01 13:00:49 +05:30
John Barker a282d9df90 Cache connection properties in the pool
This is a quick attempt to improve connection startup time by caching
the properties that are loaded when a connection is ready in the pool,
so that further connections don't incur this cost.

I'm not entirely convinced by the interface here, perhaps these 3 items
could live in their own type and that be passed around for clearer code,
but the idea works well.
2016-05-10 18:34:26 -04:00
Jack Christensen 7323d3f5a7 Encode/decode [][]byte to/from bytea[]
fixes #139
2016-04-30 19:07:29 -05:00
Jack Christensen 88acc7e19f Encode and decode between all integer types
fixes #138
2016-04-28 15:28:38 -05:00
Jack Christensen 623ba1eeb1 Add scan to uint16
refs #138
2016-04-27 08:26:59 -05:00
Jack Christensen d62da82ab1 Support decoding inet/cidr to net.IP
fixes #137
2016-04-22 16:00:11 -05:00
Jack Christensen 04e9fbcc55 Fix some golint errors
- Add comments
- Rename variables
- Remove unnecessary "else"
2016-03-29 15:18:09 -05:00
Jack Christensen 05790e007c Fix 32-bit GOARCH
fixes #129
2016-03-23 16:57:31 -05:00
m1kc (Max Musatov) aac1fd86a4 []uint16, []uint32, and []uint64 encoding and decoding. 2016-03-17 12:14:48 +03:00
Nick K 7f9f79656b Fixed typo for uint64 data loss checks' error 2016-03-11 11:54:07 +03:00
Nick K 0ea1a5245c Now throwing errors on uint32/uint64 possible data loss 2016-03-11 11:52:21 +03:00
Nick K e40f08e107 Added uint encoder/decoder 2016-03-04 11:25:28 +03:00
Jack Christensen c6b6d7bad7 Expose encoding and decoding functions 2016-02-15 13:57:11 -06:00
Jack Christensen 30feade829 Fix encodeJson returning err 2016-02-15 12:40:13 -06:00
Jack Christensen 73bd33b215 Do not encode Go float64 to a PostgreSQL float4
The automatic conversion of float64 to float32 could cause loss of
precision.
2015-12-21 13:12:11 -06:00
Blake Gentry 6fc16d96c7 fix copy/paste doc mistakes
refer to the correct field names in docs for for all nullable types
2015-11-29 21:59:42 -08:00
Jack Christensen and Jake Worth c726a51450 Add inet[] and cidr[] support 2015-09-29 13:23:26 -05:00
Jack Christensen 8b296b9d58 Encode from net.IP to inet and cidr 2015-09-09 18:49:20 -05:00
Joseph Glanville 2184ffb5e9 Add support for encoding to UUID from string types 2015-09-10 00:58:51 +10:00
Jack Christensen 4ebb0508b6 Encode dates in binary format
- Also allow NullTime to handle dates
2015-09-08 11:51:28 -05:00
Jack Christensen fff5b9759b Add tests for other types of JSON objects 2015-09-04 13:40:59 -05:00
Joseph Glanville 0013733535 Add JSON/JSONB support 2015-09-04 18:15:46 +10:00
Jack Christensen 063b0062b5 Use map literal for DefaultTypeFormats 2015-09-03 13:44:10 -05:00
Jack Christensen fd39261551 Use binary transcoding for inet/cidr
fixes #87
2015-09-03 11:39:32 -05:00
Jack Christensen 9af068add0 Add cidr support 2015-09-03 09:42:01 -05:00
Jack Christensen d494f83cd1 Add inet support 2015-09-03 09:33:19 -05:00
Samuel Stauffer a56e35ad0a Support decoding of TimestampOid in stdlib driver 2015-08-25 17:33:17 -07:00
Laurent Debacker bc7ca55b45 Fix decoding of ARRAY[]::text[]
The original version could not decode ARRAY[]::text[]. When an empty array was detected, decode1dArrayHeader was not reading enough values off the socket, and subsequent values were incorrectly read.
2015-04-08 16:53:08 -05:00
Jack Christensen c45bb2cfa8 Remove unused text format decoders 2015-04-02 18:06:59 -05:00
Jack Christensen fc484ab5fd Allow NullTime to work with timestamp 2015-03-27 18:14:36 -04:00
Jack Christensen d77e599ce6 Add timestamptz[] support 2014-12-23 18:17:39 -06:00
Karl Seguin 109b55f9de support decoding of []time.Time and []bool 2014-12-21 14:35:38 +07:00
Karl Seguin be663f648c refactor common code for encoding array header 2014-12-21 13:40:45 +07:00
Karl Seguin 67292290cf support for inserting []time.Time into timestamp[] columns 2014-12-21 13:35:39 +07:00
Karl Seguin d1b42d1c8e support inserting into bool[] 2014-12-21 13:01:24 +07:00
Jack Christensen c195d9bb96 Remove unsafe package from float/int conversions 2014-11-21 13:56:07 -06:00
Hari Bhaskaran 161ec8db6d Support writing to postgres 'text' values from both strings as well as
[]byte. If the input is already []byte, this will avoid having the
caller convert to string and then back to []byte. Potentially saves some
allocs.
2014-10-21 12:09:51 -07:00
Jack Christensen 174929c406 Update obsolete documentation refs to TextEncoder and BinaryEncoder 2014-09-19 17:47:47 -05:00
Jack Christensen 274a14fe73 Rename NullHstore value to Hstore
Ensure consistency with other Null* types
2014-09-19 16:35:26 -05:00
Andy Walker 2f1ec582d7 Instead of native map[string]string, use type pgx.Hstore instead 2014-09-19 15:27:15 -05:00
Andy Walker 821605a8dd Adding hstore support. map[string]string will encode to hstores and throw errors on hstores with NULL values, and there is now a NullHstore type that is basically map[string]NullString and will both accept and decode NULL values properly 2014-09-19 15:27:15 -05:00
Andy Walker 0441bcd8e4 spurious return 2014-09-19 15:27:15 -05:00
Jack Christensen 8f81acfb5f Enhance support for custom types
* Add per connection oid to name map
* Global default type format is now based on names not oids
* Add better docs for custom types
2014-09-19 15:27:15 -05:00
Anton Taraev 962bb4d8cd Fix bug with bulid with env: GOOS=linux GOARCH=386
Without this fix not build with env: GOOS=linux GOARCH=386
2014-08-18 02:32:33 +04:00
Jack Christensen e2c9d2f13a Better error messages on decode* for wrong oid 2014-08-08 11:18:46 -05:00
Jack Christensen 0ddf94ef9d Add pgx.Oid serialization 2014-08-08 10:57:33 -05:00
Jack Christensen 4d4a45fc34 Fix error message for too big for int32 2014-08-08 10:39:51 -05:00