Jack Christensen
5deea5b971
Convert driver.Valuer's earlier in bind path
...
fixes #449
2018-09-01 21:37:16 -05:00
Jack Christensen
5297846239
pgtype.JSON(B).Value now returns []byte
...
Allows scanning jsonb column into *json.RawMessage.
fixes #409
2018-04-14 09:17:56 -05:00
Jack Christensen
82cd87d502
Support nil pointers to value implementing driver.Valuer
...
fixes #339
2017-10-26 21:37:06 -04:00
Jack Christensen
9c8ef1acdd
Fix pgtype types that can Set database/sql/driver.driver.Valuer
...
Bug was chooseParameterFormatCode would see that type could handle
binary format so binary format would be chosen. But
encodePreparedStatementArgument would see driver.Valuer first and
would encode with that -- which is text mode. So the server would
receive a text format value when expecting a binary format value.
Discovered while investigating #316
2017-09-01 16:00:47 -05:00
Jack Christensen
d49a78dd73
Fix compilation on 32-bit platform
...
fixes #295
2017-08-03 14:17:28 -05:00
Jack Christensen
8f4178b3d3
Use github.com/pkg/errors
2017-06-04 21:30:03 -05:00
Jack Christensen
27ab289096
Use Go casing convention for OID
2017-06-03 11:53:49 -05:00
Jack Christensen
458dd24a9f
Remove unneeded WriteBuf
2017-05-02 21:39:23 -05:00
Jack Christensen
6e64a0c867
Refactor pgio and types to append buffers
2017-05-02 20:38:26 -05:00
Jack Christensen
a5f702c41d
Reduce allocs and copies
2017-04-29 13:21:25 -05:00
Jack Christensen
7b1f461ec3
Add simple protocol suuport with (Query|Exec)Ex
2017-04-10 08:58:51 -05:00
Jack Christensen
5ad2c4e2b9
Add pgtype.Numeric
2017-04-01 23:33:04 -05:00
Jack Christensen
bec9bd261b
Add database/sql support to pgtype
2017-03-18 21:11:43 -05:00
Jack Christensen
1bea9d3f7e
Remove int bound constants
2017-03-18 15:00:41 -05:00
Jack Christensen
9ab59a74a9
Remove oid constants from pgx
2017-03-18 14:59:34 -05:00
Jack Christensen
92cff1d961
Simplify []byte scanning
2017-03-18 14:42:36 -05:00
Jack Christensen
015108be9a
Remove unused code
2017-03-18 14:28:06 -05:00
Jack Christensen
a636ef31a4
Refactor encoding parameters for prepared statements
2017-03-18 14:23:04 -05:00
Jack Christensen
9e289cb186
Remove unused DefaultTypeFormats
2017-03-18 14:09:55 -05:00
Jack Christensen
ad2ce2ce3c
Remove internalNativeGoTypeFormats
2017-03-18 14:02:55 -05:00
Jack Christensen
b9e2f0e814
Remove a lot of unused code
2017-03-18 13:54:42 -05:00
Jack Christensen
19c6689752
Add pgtype.Record and prerequisite restructuring
...
Because reading a record type requires the decoder to be able to look up oid
to type mapping and types such as hstore have types that are not fixed between
different PostgreSQL servers it was necessary to restructure the pgtype system
so all encoders and decodes take a *ConnInfo that includes oid/name/type
information.
2017-03-18 12:01:16 -05:00
Jack Christensen
ba5f97176a
Move not null Oid to pgtype
...
In preparation to ConnInfo implementation.
2017-03-13 21:34:38 -05:00
Jack Christensen
9cd561f1a5
Remove unused code
2017-03-13 20:14:08 -05:00
Jack Christensen
26d57356f7
Remove old Scanner and Encoder system
2017-03-12 17:22:04 -05:00
Jack Christensen
7bb1f3677d
Move hstore to pgtype
...
Also implement binary format
2017-03-12 17:06:06 -05:00
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