1472 Commits

Author SHA1 Message Date
Jack Christensen
7bc5af61b8 Update changelog 2017-03-22 08:18:42 -05:00
Terin Stock
1a99c0e5c4 fix(stdlib): lock openFromConnPoolCount while using
Locks the `openFromConnPoolCount` counter while formatting the driver
name and incrementing to avoid a data race of multiple goroutines
modifying the counter and registering the same name. `sql.Register`
panics if a driver name has already been registered.
2017-03-22 08:16:09 -05:00
Jack Christensen
cfba8b0836 Merge pull request #249 from terinjokes/terin/mutex-open-from-conn-pool
fix(stdlib): lock openFromConnPoolCount while using
2017-03-22 08:14:21 -05:00
Terin Stock
a3e7718743
fix(stdlib): lock openFromConnPoolCount while using
Locks the `openFromConnPoolCount` counter while formatting the driver
name and incrementing to avoid a data race of multiple goroutines
modifying the counter and registering the same name. `sql.Register`
panics if a driver name has already been registered.
2017-03-20 14:20:05 -07:00
Jack Christensen
120da8df8f Skip jsonb test if no jsonb type 2017-03-20 08:58:28 -05:00
Jack Christensen
ed8bfa4f42 pgtype tests now require pq 2017-03-20 08:38:06 -05:00
Jack Christensen
db6c5daa70 Run goimports as part of array gen script 2017-03-20 08:00:43 -05:00
Jack Christensen
bec9bd261b Add database/sql support to pgtype 2017-03-18 21:11:43 -05:00
Jack Christensen
5572c002dc Optionally generate binary array format 2017-03-18 17:38:58 -05:00
Jack Christensen
4d9c44fc01 Factor out duplication in AssignTo 2017-03-18 16:54:08 -05:00
Jack Christensen
264823e6ab Remove unneeded idea file 2017-03-18 15:51:16 -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
6f0ec4c470 Renable json tests 2017-03-18 14:53:51 -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
cf70e6b9f4 Add pgtype.HstoreArray
This required restructuring array types to lookup oid of element instead of
hard-coding it due to hstore having a variable oid.
2017-03-18 12:40:54 -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
j7b
94d56e8556 Support pgpass 2017-03-17 15:12:41 -05:00
Jack Christensen
0a12d7a13a Update changelog 2017-03-17 14:58:40 -05:00
Jack Christensen
7f0993da64 Merge pull request #247 from j7b/master
Support pgpass
2017-03-17 14:56:29 -05:00
Jack Christensen
b5bb05877f Add CopyFrom to Tx and ConnPool
fixes #248
2017-03-17 14:35:02 -05:00
Jack Christensen
94749e580f Remove CopyTo 2017-03-17 14:18:25 -05:00
j7b
22c850e45d Support pgpass 2017-03-17 16:59:10 +00:00
Jack Christensen
5eb19bc66a Add *Conn.CopyFrom
This replaces *Conn.CopyTo. CopyTo was named incorrectly. In PostgreSQL
COPY FROM is the command that copies from the client to the server. In
addition, CopyTo does not accept a schema qualified table name. This
commit introduces the Identifier type which handles multi-part names and
correctly quotes/sanitizes them. The new CopyFrom method uses this
Identifier type.

Conn.CopyTo is deprecated.

refs #243 and #190
2017-03-17 08:25:49 -05:00
Jack Christensen
97c01fb524 Update docs for 2.10.0 release v2.10.0 2017-03-17 08:06:00 -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
7ec8d7b343 Fix error message for hstore 2017-03-13 20:23:17 -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
3391818847 Add pgtype GenericText and GenericBinary
Rows.Values uses this for unknown types.
2017-03-11 20:28:14 -06:00
Jack Christensen
aac8fd66f2 Remove Set self support from pgtype
Set having the capability to assign an object of the same type was
inconsistently implemented. Some places it was not implemented at all, some
places it was a shallow copy, some places a deep copy. Given that it doesn't
seem likely to ever be used, and if it is needed it is easy enough to do
outside of the library this code has been removed.
2017-03-11 20:18:56 -06:00
Jack Christensen
5cf4b97681 Document that Decode* must not keep src
- Also fix Bytea.DecodeBinary to not keep src.
2017-03-11 20:12:47 -06:00
Jack Christensen
7da69cd3db Restructure *Rows.Values() to use Get() 2017-03-11 20:07:31 -06: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
3dc509df94 Rename array files 2017-03-11 16:53:07 -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
6c26c3a4a3 Improve replication test reliability
It was failing intermittently when run concurrently.
2017-03-11 11:17:51 -06:00