Commit Graph

31 Commits (5ece2efd4c610fe2c0078f49695d91025ae758fa)

Author SHA1 Message Date
Collin Forsyth f4252a58be correctly Scan type aliases for floating point types 2022-02-05 20:23:39 -06:00
Ivan Daunis 5bca076182 Refactor to interface convert 2021-05-22 11:33:42 -05:00
Ivan Daunis 0977e29341 Support pointers of wrapping structs 2021-05-22 11:33:42 -05:00
Jack Christensen dd160540c4 Use Go 1.13 errors instead of xerrors 2021-03-25 09:08:27 -04:00
Jack Christensen b77cee2a28 Fix scanning int into **sql.Scanner implementor
See https://github.com/jackc/pgx/issues/897.
2020-12-23 11:17:02 -06:00
Jack Christensen 9a3923b6e0 EncodeRow is superceded by CompositeFields 2020-05-12 15:51:27 -05:00
Jack Christensen e51cb1ef09 Add CompositeBinaryBuilder 2020-05-12 14:04:11 -05:00
Jack Christensen 36dbbd983d Add CompositeFields type
This adds support for the text format and removes the need for the
ScanRowValue function.
2020-05-11 17:21:21 -05:00
Jack Christensen a71c179ce3 Extract nullAssignmentError 2020-05-10 12:28:47 -05:00
Jack Christensen 452511dfc5 Rename RecordFieldIter to CompositeBinaryScanner and adjust interface
Use interface similar to bufio.Scanner and pgx.Rows.
2020-05-07 13:38:19 -05:00
Jack Christensen ff9bc5d68d Merge binary package into pgtype package 2020-05-07 10:15:23 -05:00
Jack Christensen 37e976192b ScanRowValue accepts interface{} dst 2020-05-06 14:56:25 -05:00
Maxim Ivanov 53e0f25a4e Make ScanRowValue error message clearer 2020-04-18 19:29:18 +00:00
Maxim Ivanov b88a3e0765 Tighten ScanRowValue input types
ScanRowValue  needs not  Value, but BinaryEncoder
2020-04-18 14:08:31 +01:00
Maxim Ivanov 2e13f2fe76 Move lowlevel binary routines into own package 2020-04-16 21:34:06 +01:00
Maxim Ivanov 3ce29f9e05 Add Composite type for inplace row() values handling
Composite() function returns a private type, which should
be registered with ConnInfo.RegisterDataType for the composite
type's OID.

All subsequent interaction with Composite types is to be done
via Row(...) function. Function return value can be either
passed as a query argument to build SQL composite value out of
individual fields or passed to Scan to read SQL composite value
back.

When passed to Scan, Row() should have first argument of type
*bool to flag NULL values returned from query.
2020-04-13 17:41:44 +01:00
Maxim Ivanov 8ae83b19f7 Add EncodeRow helpers
Also extend example to show how EncodeRow can be used
to create binary encoders for composite type
2020-04-13 00:09:03 +01:00
Maxim Ivanov 368295d3ee Create ROW helper for adhoc decoding of records 2020-04-12 18:40:52 +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
Jack Christensen 9010c554ed Port 251e6b7730 from pgx v3
commit 251e6b7730
Author: Nicholas Wilson <nicholas.wilson@realvnc.com>
Date:   Wed Jul 24 12:32:43 2019 +0100

    Tidying: make underlyingTimeType consistent with other underlyingFooType

    The first return value is ignored when returning false - so there's no
    point returning an empty time.Time when it can be nil.
2019-08-17 13:33:34 -05:00
Jack Christensen bcc139a365 Port fc020c24ac from pgx v3
commit fc020c24ac
Author: Nicholas Wilson <nicholas.wilson@realvnc.com>
Date:   Wed Jul 24 12:32:18 2019 +0100

    Add support for pgtype.UUID to write into any [16]byte type
2019-08-17 13:30:41 -05:00
Jack Christensen f25878662d Use golang.org/x/xerrors 2019-04-20 17:43:44 -05:00
Jack Christensen a5f166bd21 Use github.com/pkg/errors 2017-06-04 21:30:03 -05:00
Jack Christensen b49035fdc1 Add shopspring.Numeric
This adds PostgreSQL numeric mapping to and from
github.com/shopspring/decimal.

Makes pgtype.NullAssignTo public as external types need this functionality.

Begin extraction of pgtype testing functionality so it can easily be used by
external types.
2017-04-14 12:24:44 -05:00
Jack Christensen 85f7df1e81 Factor out duplication in AssignTo 2017-03-18 16:54:08 -05:00
Jack Christensen 8fa9afbb36 Add bytea 2017-03-09 21:07:40 -06:00
Jack Christensen 4254e5f2d2 Add text to pgtype 2017-03-04 21:20:56 -06:00
Jack Christensen 93e1715082 Add inet and cidr to pgtype 2017-03-04 17:33:41 -06:00
Jack Christensen 0f115477de Add float4, float8 and arrays 2017-03-04 13:29:04 -06:00
Jack Christensen a2843aba53 Add tests for pgtype.Int2Array 2017-03-03 19:19:31 -06:00
Jack Christensen ac2414449c 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