Manni Wood
6ec7e84dbf
Handles parse error for aclitem[]
2016-11-15 22:05:52 -05:00
Manni Wood
5712d02e1b
Gets tricky acl parsing working
2016-11-15 21:53:22 -05:00
Manni Wood
9b8e3043ba
Handles empty aclitems
2016-11-12 12:46:31 -05:00
Manni Wood
104c01df21
Handles aclitem lists of 1+
2016-11-12 12:28:31 -05:00
Manni Wood
7d7bc87396
Moves sql outside of struct
2016-11-12 12:01:03 -05:00
Manni Wood
36bdbd7cb1
Parses actual return string
...
...but only handles aclitem[] size 1
2016-11-12 11:56:04 -05:00
Manni Wood
a80ef6d35f
Actually takes the first arg
2016-11-12 11:46:07 -05:00
Manni Wood
c9292c44e6
Adds aclitem[] len 1 ability
2016-11-12 11:42:07 -05:00
Manni Wood
df033d499f
Adds a tricky user to test
...
This allows us to test aclitem encoding
with tricky SQL identifiers. The user actually
has to exist, or the aclitem will be incorrect.
2016-10-27 21:57:46 -04:00
Manni Wood
f73791c6c9
Adds NullAclItem
2016-10-27 21:33:56 -04:00
Manni Wood
b198efdcef
Merge branch 'master' into add-name
2016-10-01 13:57:21 -04:00
Manni Wood
c8575984d8
Removes name length convenience method
2016-10-01 13:46:48 -04:00
Jack Christensen
f7b6b3f077
Handle json/jsonb in binary to support CopyTo
...
fixes #189
2016-10-01 11:01:54 -05:00
Manni Wood
ca96431b5e
Fixes a documentation typo
2016-09-29 00:36:56 -04:00
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
256cbf0010
Adds example column to pgx.Char doc
2016-09-19 20:48:31 -04:00
Manni Wood
88ac6ff200
Reformats "char" comment a bit
2016-09-19 20:43:03 -04:00
Manni Wood
94203a55ad
Adds same comment fix about binary settings as on master
2016-09-19 20:40:13 -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
72084ad1b5
Gets Tid parsing working
2016-09-11 10:02:27 -04:00
Manni Wood
55bd3a9134
Adds binary tid decode
2016-09-10 20:37:02 -04:00
Manni Wood
57b3037e96
Adds tid oid
2016-09-10 14:49:39 -04:00
Manni Wood
60ab3403ab
Adds Cid/NullCid type
2016-09-05 12:15:34 -04:00
Manni Wood
7adabc9b93
Improves documentation of Xid type
2016-09-05 10:59:24 -04:00
Manni Wood
30d16e722e
Merge branch 'master' into add-xid
2016-09-05 10:24:10 -04:00
Manni Wood
99bfc154f0
Makes Oid casting consistent
...
Also fixes uint32 encoding in a few places.
2016-09-03 18:19:33 -04:00
Manni Wood
1061b1f978
Adds Xid type
2016-09-03 18:04:55 -04:00
Martin Hamrle
9f6b99e332
Cleanups
...
Cleanups suggested by gometalinter tools.
2016-08-30 20:05:44 +02:00
Jack Christensen
e47373227b
Rename Uuid to UUID
2016-08-02 16:21:32 -05: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
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
Jack Christensen
fb55203324
Add support for varchar[]
2014-07-31 13:35:44 -05:00
Jack Christensen
e29574d447
Add support for integer, float and text arrays
...
Restructure internals a bit so pgx/stdlib can turn off binary encoding and
receive text back for array types.
2014-07-26 15:03:52 -05: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
a12b7ed6c1
Handle Scanning null into core types
...
Return error instead of panic.
2014-07-12 22:07:21 -05:00
Jack Christensen
aff5043df9
Added a lot of documentation
2014-07-12 21:17:38 -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
546a2fc670
NullX Scan check oids
2014-07-12 11:41:23 -05:00
Jack Christensen
1cb3ac91f3
EncodeBinary checks oid of param
2014-07-12 09:46:33 -05:00
Jack Christensen
ed2b3b3b49
Add timestamp support
...
But not to NullTime because of text vs binary encoding difficulties.
You really should never use timestamp anyway.
2014-07-12 09:33:49 -05:00
Jack Christensen
6c1c819a5e
Error detection for mismatched types
2014-07-11 16:07:08 -05:00
Jack Christensen
95301ea276
Correct Null* docs
2014-07-11 15:25:40 -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
d7529600e0
Rename QueryResult to Rows
...
This helps conform closer to database/sql
2014-07-11 08:21:29 -05:00
Jack Christensen
566d713285
More tests and bug fixes
2014-07-11 07:50:44 -05:00
Jack Christensen
eb8b2a16ff
Add/fix comments
2014-07-09 08:10:32 -05:00
Jack Christensen
c4db9d3547
Remove remaining array code
2014-07-09 08:05:36 -05:00
Jack Christensen
89bcc0670c
Unify serialization code in values.go
2014-07-09 08:05:03 -05:00