Commit Graph

145 Commits (7da69cd3db0dc389d7f0a0cb5e76402093b81e1b)

Author SHA1 Message Date
Jack Christensen 57494a6a0f Expand pgtype.Value interface
- Include and rename ConvertFrom to Set
- Add Get
- Include AssignTo
2017-03-11 19:53:45 -06:00
Jack Christensen 542eac08c6 Add json/jsonb to pgtype 2017-03-11 18:46:51 -06:00
Jack Christensen 743b98b298 Name PG types as words
Though this doesn't follow Go naming conventions exactly it makes names more
consistent with PostgreSQL and it is easier to read. For example, TIDOID becomes
TidOid. In addition this is one less breaking change in the move to V3.
2017-03-11 17:03:23 -06:00
Jack Christensen 6694e0e618 Move Tid to pgtype 2017-03-11 16:48:37 -06:00
Jack Christensen f10ed4ff5d Remove unused function 2017-03-11 16:14:13 -06:00
Jack Christensen fa1c81fec4 Move ACLItem to pgtype 2017-03-11 16:13:05 -06:00
Jack Christensen b0cd63bcf0 Remove unused ScannerV3 2017-03-11 15:44:21 -06:00
Jack Christensen 77c57c780d Add pgtype.ByteaArray
Also fix up quoting array elements for text arrays.
2017-03-11 13:32:32 -06:00
Jack Christensen 1f3e484ca1 pgtype.Encode(Binary|Text) do not write length
To aid in composability, these methods no longer write their own length. This
is especially useful for text formatted arrays and may be useful for future
database/sql compatibility. It also makes the code a little simpler as the
types no longer have to compute their own size.

Along with this, these methods cannot encode NULL. They now return a boolean
if they are NULL. This also benefits text array encoding as numeric arrays
require NULL to be exactly `NULL` while string arrays require NULL to be
`"NULL"`.
2017-03-11 12:45:30 -06:00
Jack Christensen 8162634259 Decode(Text|Binary) now accepts []byte instead of io.Reader 2017-03-10 16:08:47 -06:00
Jack Christensen fa36ad9196 Move "char" to pgtype 2017-03-07 19:39:57 -06:00
Jack Christensen 7b1dbd8558 Move Name to pgtype 2017-03-06 17:55:20 -06:00
Jack Christensen af8519991e Move OID to pgtype 2017-03-05 13:05:49 -06:00
Jack Christensen cb1c05476f Move XID to pgypte 2017-03-05 09:07:07 -06:00
Jack Christensen 575574cf98 Move cid to pgtype 2017-03-04 22:12:03 -06:00
Jack Christensen 12ac0c33b8 Remove unused array code from pgx 2017-03-04 21:23:57 -06:00
Jack Christensen fa57904d6b Add text to pgtype 2017-03-04 21:20:56 -06:00
Jack Christensen b1fc8109db Remove AF_INET fetching system
Also remove old encode/decode inet/cidr code. This removed some functionality
from Rows.Values, but that entire system will soon change anyway.
2017-03-04 18:00:51 -06:00
Jack Christensen 005916166a Remove behavior migrated to pgtype 2017-03-04 17:43:12 -06:00
Jack Christensen 4cdea13f0f Add inet and cidr to pgtype 2017-03-04 17:33:41 -06:00
Jack Christensen 2010bea555 Add float4, float8 and arrays 2017-03-04 13:29:04 -06:00
Jack Christensen 3179e2debc Add timestamp to pgtype 2017-03-04 12:36:24 -06:00
Jack Christensen ffb949054d Add arrays to all other pgtypes 2017-03-04 11:48:53 -06:00
Jack Christensen aabf43a725 Remove types from Decode handled by pgtypes 2017-03-04 09:44:10 -06:00
Jack Christensen 5e997e82f4 Initial proof-of-concept for pgtype
Squashed commit of the following:

commit c19454582b
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Mar 3 15:24:47 2017 -0600

    Add AssignTo to pgtype.Timestamptz

    Also handle infinity for pgtype.Date

commit 7329933610
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Mar 3 15:12:18 2017 -0600

    Implement AssignTo for most pgtypes

commit cc3d1e4af8
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Thu Mar 2 21:19:07 2017 -0600

    Use pgtype.Int2Array in pgx

commit 36da5cc217
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Tue Feb 28 21:45:33 2017 -0600

    Add text array transcoding

commit 1b0f18d99f
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 27 19:28:55 2017 -0600

    Add ParseUntypedTextArray

commit 0f50ce3e83
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 27 18:54:20 2017 -0600

    wip

commit d934f27362
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sun Feb 26 17:14:32 2017 -0600

    WIP - beginning text format array parsing

commit 7276ad33ce
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 22:50:11 2017 -0600

    Beginning binary arrays

commit 917faa5a31
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 19:36:35 2017 -0600

    Fix incomplete tests

commit de8c140cfb
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 19:32:22 2017 -0600

    Add timestamptz null and infinity

commit 7d9f954de4
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 18:19:38 2017 -0600

    Add infinity to pgtype.Date

commit 7bf783ae20
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 17:19:55 2017 -0600

    Add Status to pgtype.Date

commit 984500455c
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 16:54:01 2017 -0600

    Add status to Int4 and Int8

commit 6fe76fcfc2
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 16:40:27 2017 -0600

    Extract testSuccessfulTranscode

commit 001647c1da
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 16:15:51 2017 -0600

    Add Status to pgtype.Int2

commit 720451f06d
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Sat Feb 25 15:56:44 2017 -0600

    Add status to pgtype.Bool

commit 325f700b6e
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 17:28:15 2017 -0600

    Add date to conversion system

commit 4a9343e45d
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 16:28:35 2017 -0600

    Add bool to oid based encoding

commit d984fcafab
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 16:15:38 2017 -0600

    Add pgtype interfaces

commit 0f93bfc2de
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 14:48:34 2017 -0600

    Begin introduction of Convert

commit e5707023ca
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 14:10:56 2017 -0600

    Move bool to pgtype

commit bb764d2129
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 13:45:05 2017 -0600

    Add Int2 test

commit 08c49437f4
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 13:44:09 2017 -0600

    Add Int4 test

commit 1672295222
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 24 08:56:59 2017 -0600

    Add int8 tests

commit 83a5447cd2
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Wed Feb 22 18:08:05 2017 -0600

    wip

commit 0ca0ee7206
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 18:56:52 2017 -0600

    wip

commit d2c2baf4ea
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 18:46:10 2017 -0600

    wip

commit f78371da00
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 17:43:39 2017 -0600

    wip

commit 3366699bea
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 14:07:47 2017 -0600

    wip

commit 66b79e9408
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 13:35:37 2017 -0600

    Extract pgio

commit 8b07d97d13
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 13:20:00 2017 -0600

    wip

commit 62f1adb342
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 12:08:46 2017 -0600

    wip

commit a712d25469
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Mon Feb 20 09:30:52 2017 -0600

    wip

commit 4faf97cc58
Author: Jack Christensen <jack@jackchristensen.com>
Date:   Fri Feb 17 22:20:18 2017 -0600

    wip
2017-03-03 15:33:34 -06:00
Jack Christensen 47eda78ea1 Refactor huge switch statement 2017-02-16 19:44:50 -06:00
Jack Christensen 4d56221868 Do not scan binary values into strings
refs #219 and #228
2017-02-16 19:19:45 -06:00
Jack Christensen 39dad2b795 Merge branch 'master' into v3-experimental 2017-02-04 11:27:12 -06:00
Jack Christensen a52a6bd555 Add PgxScanner interface
Enables types to support database/sql at the same time as pgx.

fixes #232
2017-02-02 20:20:52 -06:00
Jack Christensen 93e5c68f69 Merge branch 'master' into v3-experimental 2016-12-10 12:21:08 -06:00
Jack Christensen e96c105b55 decodeJSONB works for text and binary format 2016-11-23 12:52:04 -06:00
Jack Christensen c952d48a5c Return first err in decodeJSONB
fixes #212
2016-11-23 12:29:21 -06:00
Manni Wood 3beac831cf Adds formatting notes 2016-11-17 22:25:00 -05:00
Manni Wood 7bd2e85f31 Improves names and comments 2016-11-17 22:18:09 -05:00
Manni Wood 09ee8a9b70 Returns AclItem earlier 2016-11-17 22:08:56 -05:00
Manni Wood bce83fd4ba Better names and efficiency 2016-11-17 21:59:05 -05:00
Manni Wood 3906f7c0d0 Casts aclitem earl to avoid O(2n) 2016-11-17 21:45:46 -05:00
Manni Wood 4b430a254e Improves docs around aclitem[] 2016-11-17 21:38:00 -05:00
Manni Wood 323e2b3f78 Adds aclitem helper func tests 2016-11-15 22:22:57 -05:00
Manni Wood 7b3488b088 Makes parseAclItemArray helpers private 2016-11-15 22:14:08 -05:00
Manni Wood 1ebcbab8a3 Removes unneeded XXXs 2016-11-15 22:09:55 -05:00
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