Manni Wood
c25e3dd826
Adds Name/NullName types
2016-09-29 00:25:19 -04:00
Manni Wood
cc1ad69c32
Adds NullOid type
...
Oids are rarely null, but they can be: on the right hand
side of a left join, for instance.
This commit takes moves the Oid type def from
messages.go to values.go, so it can live along side the
other types. It removes the special case for testing Oid
and now leverages the TestNullX test instead.
2016-09-20 21:11:30 -04:00
Manni Wood
818dcbf2b6
Adds "char" type
2016-09-17 23:11:59 -04:00
Manni Wood
00bd3062e0
Figures out tid binary wire formatting
2016-09-11 17:33:34 -04:00
Manni Wood
60ab3403ab
Adds Cid/NullCid type
2016-09-05 12:15:34 -04:00
Manni Wood
1061b1f978
Adds Xid type
2016-09-03 18:04:55 -04:00
Manni Wood
7dbfd4bf4b
Switches oid to uint32
2016-09-01 22:55:18 -04:00
Martin Hamrle
9f6b99e332
Cleanups
...
Cleanups suggested by gometalinter tools.
2016-08-30 20:05:44 +02:00
Jack Christensen
04c02cf3d3
Rename Json(b) to JSON(B)
2016-08-02 13:35:52 -05:00
Jack Christensen
214443deb7
Rename Oid to OID
2016-08-02 13:31:55 -05: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
Jack Christensen
7323d3f5a7
Encode/decode [][]byte to/from bytea[]
...
fixes #139
2016-04-30 19:07:29 -05:00
Jack Christensen
e3859aa03e
Test should not panic if no err
2016-04-30 12:43:18 -05:00
Jack Christensen
d62da82ab1
Support decoding inet/cidr to net.IP
...
fixes #137
2016-04-22 16:00:11 -05:00
m1kc (Max Musatov)
aac1fd86a4
[]uint16, []uint32, and []uint64 encoding and decoding.
2016-03-17 12:14:48 +03:00
Jack Christensen
edfdaf15c6
Rows.Scan errors now include which argument caused error
2015-11-20 14:02:49 -06:00
Jack Christensen and Jake Worth
c726a51450
Add inet[] and cidr[] support
2015-09-29 13:23:26 -05:00
Jack Christensen
4987d5425e
Fix JSON encoding of *string
2015-09-21 13:40:47 -05:00
Jack Christensen
8b296b9d58
Encode from net.IP to inet and cidr
2015-09-09 18:49:20 -05:00
Jack Christensen
4ff46becfc
Generalize pointer to string uuid transcoding to any non-varchar/text type
2015-09-09 18:07:05 -05:00
Joseph Glanville
2184ffb5e9
Add support for encoding to UUID from string types
2015-09-10 00:58:51 +10:00
Jonathan Rudenberg
272262536b
Add support for pointers to pointers
...
Using types like **string allows the inner pointer to be nil’ed out,
avoiding the need for NullX types.
Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
2015-09-08 11:52:58 -05: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
Jack Christensen
9d200733b9
Merge common JSON and JSONB
2015-09-04 11:04:51 -05:00
Jack Christensen
7383e240d4
Skip JSON/JSONB tests for older PostgreSQL servers
2015-09-04 09:13:15 -05:00
Joseph Glanville
0013733535
Add JSON/JSONB support
2015-09-04 18:15:46 +10:00
Jack Christensen
f672dd2732
Remove mustPrepare from tests
...
Now that Query/QueryRow always prepares statements when given SQL
text there is no need to test raw SQL and prepared statements of
the same query.
2015-09-03 13:39:28 -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
Jack Christensen
879ca97228
Fix Scanner that does not read entire value
2015-04-09 17:46:58 -05:00
Laurent Debacker
e511c267de
Unit test demonstrating infinite loop
...
Hi, I have just created a unit test demonstrating an infinite loop during cleanup in a defered function. The CPU will just sit at 100% use. I know this is a special case, but it's would be nice if a buggy Scanner doesn't make cleanup functions like rows.Close run indefinitely. Sadly, I'm not sure how to fix/improve this.
2015-04-09 22:10:55 +02:00
Jack Christensen
654508050c
Add failing test for empty array from debackerl
2015-04-08 16:53:08 -05:00
Jack Christensen
3dcb2fcbfc
Add test for empty array between other values
2015-04-08 14:50:57 -05:00
Jack Christensen
92d38b7f37
Add test for empty array decoding
2015-04-08 14:46:14 -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
Jack Christensen
8743d96be4
Fix swapped test names
2014-12-23 17:33:38 -06:00
Karl Seguin
109b55f9de
support decoding of []time.Time and []bool
2014-12-21 14:35:38 +07:00
Jack Christensen
61bf7d841a
Always use bound parameters
...
PostgreSQL has two string syntaxes, one that allows backslash escapes and one
that does not (SQL standard conforming strings). By default PostgreSQL uses
standard conforming strings. QuoteString was only designed for use with
standard conforming strings. If PostgreSQL was configured with certain
combinations of the standard_conforming_strings and backslash_quote settings,
QuoteString may not correctly sanitize strings. QuoteString was only used in
unprepared queries, bound parameters are used for prepared queries.
This commit alters pgx to use always use bound parameters.
As a consequence of never doing string interpolation there is no need to have
separate Text and Binary encoders. There is now only the Encoder interface.
This change had a negative effect on the performance of simple unprepared
queries, but prepared statements should already be used for performance.
fixes #26
https://github.com/jackc/pgx/issues/26
2014-07-18 16:51:11 -05:00
Jack Christensen
f215c8bf5f
Change Scan / decodeX to use ValueReader
...
Also improve Rows.Scan and Rows.Values error handling.
2014-07-12 19:43:27 -05:00
Jack Christensen
1cb3ac91f3
EncodeBinary checks oid of param
2014-07-12 09:46:33 -05:00
Jack Christensen
92b204309c
Remove commented out test
2014-07-12 08:20:06 -05:00
Jack Christensen
6c1c819a5e
Error detection for mismatched types
2014-07-11 16:07:08 -05:00
Jack Christensen
4bdefced66
Add NullTime
2014-07-11 15:25:26 -05:00
Jack Christensen
724adde815
Add NullBool
2014-07-11 15:00:13 -05:00
Jack Christensen
7ca95d7f73
Add NullString
...
Changes EncodeText interface to work for null values in SQL interpolation
and in prepared statements text format.
2014-07-11 14:16:25 -05:00
Jack Christensen
6eac791f51
Encode* should be value, not pointer to value
2014-07-11 11:44:02 -05:00
Jack Christensen
32a368a75b
Add more Null* types
...
* NullFloat32
* NullFloat64
* NullInteger16
* NullInteger32
2014-07-11 11:41:32 -05:00
Jack Christensen
24395d98df
Add more testing of Encode*
...
Handle case where TextEncoder is used to a core type that the driver
could otherwise have handled as binary.
2014-07-11 11:16:12 -05:00
Jack Christensen
566d713285
More tests and bug fixes
2014-07-11 07:50:44 -05:00
Jack Christensen
d7b402cd65
Test SanitizeSql for more types
2014-07-09 08:30:06 -05:00
Jack Christensen
6df06f043d
Remove obsolete tests
2014-07-09 08:11:47 -05:00
Jack Christensen
89bcc0670c
Unify serialization code in values.go
2014-07-09 08:05:03 -05:00