Commit Graph

908 Commits (ee001a7caebc75cc51d0068e9109b99d8a20755d)

Author SHA1 Message Date
Jack Christensen ee001a7cae Fix queries with more than 32 columns
fixes #270
2017-05-01 19:46:37 -05:00
Jack Christensen ee0c64864e Fix Travis 2017-05-01 19:32:16 -05:00
Jack Christensen 4c24c635a9 Add pgproto3.Backend 2017-05-01 18:11:55 -05:00
Jack Christensen 280bce7078 Added log adapter for logrus
Also changed standard logger interface to take a map instead of varargs for
extra data.
2017-04-29 21:28:38 -05:00
Jack Christensen 855b735eae Add log adapters for testing and log15
Make LogLevel a type for Stringer interface.
2017-04-29 20:33:52 -05:00
Jack Christensen 353ca7c5c7 Fix travis 2017-04-29 13:38:56 -05:00
Jack Christensen a5f702c41d Reduce allocs and copies 2017-04-29 13:21:25 -05:00
Jack Christensen 932caef600 pgtype DecodeText and DecodeBinary do not copy
They now take ownership of the src argument.

Needed to change Scan to make a copy of []byte arguments as lib/pq apparently
gives Scan a shared memory buffer.
2017-04-29 12:23:51 -05:00
Jack Christensen e8eaad520b Reduce allocations and copies in pgproto3
Altered chunkreader to never reuse memory.

Altered pgproto3 to to copy memory when decoding. Renamed UnmarshalBinary to
Decode because of changed semantics.
2017-04-29 11:55:14 -05:00
Jack Christensen 70b7c9a300 Use flyweight pattern for pgproto3 messages 2017-04-29 11:01:54 -05:00
Jack Christensen 3c7235c68c Remove unused msg_reader.go 2017-04-29 10:46:25 -05:00
Jack Christensen f04c58338b Introduce pgproto3 package
pgproto3 will wrap the message encoding and decoding for the PostgreSQL
frontend/backend protocol version 3.
2017-04-29 10:02:38 -05:00
Jack Christensen e305ece410 Fix travis 2017-04-14 17:37:01 -05:00
Jack Christensen 73471ea3fe Use pgx.ParseConnectionString in test helper
This allows using URI or DSN for database connection information. DSN allows
using unix domain sockets.
2017-04-14 17:21:32 -05:00
Jack Christensen f7d3c4e151 Replace DATABASE_URL with PGX_TEST_DATABASE
PGX_TEST_DATABASE is much less likely to collide with another environment
variable. This is especially valuable when using direnv to automatically set
environment variables.
2017-04-14 17:11:39 -05:00
Jack Christensen cab445ddd2 Add satori-uuid type
Make pgtype.EncodeValueText public
2017-04-14 16:46:39 -05:00
Jack Christensen a8c350c77d Use pointer methods for all struct pgtypes
Now no need to no whether certain interfaces are implemented by struct or
pointer to struct.
2017-04-14 13:08:05 -05:00
Jack Christensen f418255c24 Finish extraction of pgtype test helpers 2017-04-14 12:38:33 -05:00
Jack Christensen e4451b47b2 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 fe7d9d3462 Add MarshalJSON to a few types 2017-04-13 21:58:19 -05:00
Jack Christensen adb54d06ce Tweak timing sensitive test 2017-04-12 18:03:43 -05:00
Jack Christensen 932ab58cf7 Remove ValueReader 2017-04-12 07:46:25 -05:00
Jack Christensen ccfff83d1a Use circle in simple protocol test
line is not supported PG 9.3 and below.
2017-04-11 20:38:18 -05:00
Jack Christensen 76c0b9ee90 Skip line tests on when server version < PG 9.4 2017-04-11 20:16:41 -05:00
Jack Christensen 7b1f461ec3 Add simple protocol suuport with (Query|Exec)Ex 2017-04-10 08:58:51 -05:00
Jack Christensen 54d9cbc743 Add pgtype.Varbit 2017-04-05 07:54:41 -05:00
Jack Christensen 52b58b88a6 Fix pgtype.Inet.AssignTo assigning reference
AssignTo should always assign copy.
Added documentation for AssignTo interface.
2017-04-04 21:13:00 -05:00
Jack Christensen e5c48b17f2 Add pgtype.Macaddr 2017-04-04 21:07:27 -05:00
Jack Christensen 5be6819a8c Add pgtype.Circle
Also rename Point.Vec2 to Point.P to conform to rest of geometric types.
2017-04-04 20:39:48 -05:00
Jack Christensen dc71bedebf Add pgtype.Polygon 2017-04-04 20:30:04 -05:00
Jack Christensen 26e92b12c2 Add pgtype.Uuid 2017-04-04 20:24:01 -05:00
Jack Christensen d14de1d1fc Add path 2017-04-04 08:40:41 -05:00
Jack Christensen 365005d207 Add pgtype.Lseg 2017-04-04 08:16:02 -05:00
Jack Christensen 5394aa9a2b Add pgtype.Line 2017-04-04 08:04:54 -05:00
Jack Christensen 06822bebe0 Add pgtype.Box 2017-04-03 19:47:36 -05:00
Jack Christensen 5a2feadf11 Add pgtype.Point 2017-04-03 17:53:32 -05:00
Jack Christensen c09c356b19 Add pgtype.NumericArray 2017-04-03 07:46:45 -05:00
Jack Christensen 6ca1c1e41e Add pgtype.Numrange 2017-04-03 07:35:19 -05:00
Jack Christensen 9e5e02cc83 Add pgtype TODO notes 2017-04-01 23:44:03 -05:00
Jack Christensen 5ad2c4e2b9 Add pgtype.Numeric 2017-04-01 23:33:04 -05:00
James Lawrence c5d247830c enable sql.Open to support both DSN and URI based connection strings 2017-04-01 08:50:48 -05:00
Jack Christensen 09078d2470 Add interval type 2017-03-31 20:11:18 -05:00
Jack Christensen fffeb1d5dc Add daterange, tsrange, and tstzrange 2017-03-24 14:17:49 -05:00
Jack Christensen 7312fb20e8 Add Int8range
Add code generation for ranges
2017-03-24 13:36:10 -05:00
Jack Christensen d7973d87dd Fix TestParseEnvLibpq when PGSSLMODE is set 2017-03-24 13:27:04 -05:00
Jack Christensen 7eae904eba Add int4range 2017-03-23 18:41:52 -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 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