Jack Christensen
7d97dca9b1
Remove unused function
2014-07-09 08:23:38 -05:00
Jack Christensen
6ae7f63d00
Remove UnexpectedColumnCountError
2014-07-09 08:18:09 -05:00
Jack Christensen
009cdfa0b1
Use Scan and Encode* instead of ValueTranscoders
2014-07-09 07:56:48 -05:00
Jack Christensen
43dcd47a92
Move to Scan interface
...
Remove SelectValue
2014-07-05 18:23:19 -05:00
Jack Christensen
5b345e80e1
Remove SelectValueTo
...
Benchmarks revealed that it is no longer performant enough to pull
its own wait. Using go_db_bench to copy JSON results to HTTP responses
it was ~20% *slower* for ~4BK responses and less than 10% faster for
+1MB responses.
The the performance problem was in io.CopyN / io.Copy. io.Copy
allocates a 32KB buffer if it doesn't have io.WriterTo or io.ReaderFrom
available. This extra alloc on every request was more expensive than
just reading the result into a string and writing it out to the response
body.
Tests indicated that if MsgReader implemented a custom Copy that used a
shared buffer it might have a few percent performance advantage. But the
additional complexity is not worth the performance gain.
2014-07-05 09:32:47 -05:00
Jack Christensen
b27d828311
Add RowReader.CopyBytes
...
Implement SelectValueTo in terms of RowReader.CopyBytes
2014-07-05 07:51:32 -05:00
Jack Christensen
7083c51689
Finish migration to writeBuf
2014-07-04 13:34:27 -05:00
Jack Christensen
81cc33f1ed
Use writeBuf more
2014-07-04 13:29:23 -05:00
Jack Christensen
9ab8fb4877
Partially migrate to writeBuf
2014-07-04 13:27:24 -05:00
Jack Christensen
b25aea5c52
MsgReader no longer uses double buffering
2014-07-04 13:08:37 -05:00
Jack Christensen
78b8e0b6f2
Safely handle bad reads of QueryResult
2014-06-30 19:01:36 -05:00
Jack Christensen
718c4dfdc8
Add *RowReader.ReadInt64
2014-06-30 08:14:13 -05:00
Jack Christensen
d30ef1b8b9
Replace SelectFunc with Query as core
2014-06-28 17:07:31 -05:00
Jack Christensen
b6ac3ef2b0
Rename Execute to Exec
2014-06-27 14:56:27 -05:00
Jack Christensen
aeb6cea1cf
Replace binary.Read
...
It does memory allocs that can be avoided by passing a slice directly to
binary.BigEndian.*
2014-06-27 08:20:15 -05:00
Jack Christensen
e8f367ede4
Use flyweight for DataRowReader
2014-06-27 08:00:32 -05:00
Jack Christensen
84dd626bcc
Make MessageReader a type of bytes.Buffer
2014-06-26 18:12:30 -05:00
Jack Christensen
3706b9519f
Do not defer in rxMsgHeader
...
Slightly faster.
2014-06-26 08:39:29 -05:00
Jack Christensen
aa6e9d0ddf
Improve prepared statement performance
...
* Do not use bufio.Writer - use net.Conn directly
* Use byte slice instead of bytes.Buffer when building query message
* Use binary.BigEndian.* instead of binary.Write
2014-06-23 18:26:15 -05:00
Jack Christensen
7d0e178424
Determine automatically if Host is socket
...
Instead of requiring user to specify either Host or Socket unify these fields.
It can be automatically determined whether it is a socket or not.
2014-06-21 12:53:38 -05:00
Jack Christensen
d9522a4741
Inform database/sql when connections die
2014-06-20 16:33:51 -05:00
Jack Christensen
7a8e80ac0d
Make Conn Close idempotent
...
* die (which is called by Close) now closes underlying connection
2014-06-20 14:50:36 -05:00
Jack Christensen
247fd3be53
Fix CommandTag RowsAffected for INSERT
2014-06-20 13:38:01 -05:00
Jack Christensen
4efa61bf5b
Prepare returns *PreparedStatement
2014-06-20 10:47:31 -05:00
Jack Christensen
cc445627b0
Expose DataRowReader FieldDescriptions
2014-06-20 10:46:47 -05:00
Jack Christensen
772c6ca7d7
Remove MessageWriter
2014-06-19 18:10:04 -05:00
Jack Christensen
3b9a1ce659
ValueTranscoder EncodeTo now receives io.Writer
2014-06-19 17:48:26 -05:00
Jack Christensen
884252675e
Handle ValueTranscoder EncodeTo returns error on bad type
...
Instead of panicking
2014-06-19 08:03:14 -05:00
Jack Christensen
5fe3dd7ecf
Reduce nesting in message loops
2014-06-17 16:39:44 -05:00
Jack Christensen
928612917d
Fix a couple go vet discovered issues
2014-06-11 07:59:43 -05:00
Jack Christensen
b982aeb102
Improve logging some more
2014-06-05 17:36:40 -05:00
Jack Christensen
ad88123f9c
Improve logging
2014-06-04 09:31:54 -05:00
Jack Christensen
cbddbb423e
Replace logging functionality with log15
...
gopkg.in/inconshreveable/log15.v2
2014-06-02 19:47:09 -05:00
Jack Christensen
f119d5221c
Add CommandTag
2014-05-19 09:32:31 -05:00
Jack Christensen
bc2a120301
Add constants for transaction isolation levels
2014-05-19 08:25:34 -05:00
Jack Christensen
f9a2501100
Rename ConnectionPool to ConnPool
2014-05-17 13:40:50 -05:00
Jack Christensen
1ff653ae15
Rename ConnectionParameters to ConnConfig
2014-05-17 13:38:13 -05:00
Jack Christensen
4eb597d20b
Rename pgx.Connection to pgx.Conn
2014-05-17 13:11:30 -05:00
Jack Christensen
70e461b769
Renamed conn* to connection*
2013-04-20 11:55:13 -05:00
Jack Christensen
58ae1855cb
Extract Connection.SelectAll* to own file
2013-04-20 11:34:52 -05:00
Jack Christensen
e27511a4c5
Extract Connection.Select* to own file
2013-04-20 11:30:06 -05:00
Jack Christensen
0b1ac12c0e
Added basic null handling
...
* Connection.SelectRows leaves null values empty
* Select* and SelectAll* now error on null
refs #4
2013-04-20 11:14:01 -05:00
Jack Christensen
ee25d4a03a
Rename Select to SelectFunc to conform to Go standard lib style
2013-04-19 16:35:44 -05:00
Jack Christensen
bf86100fec
Rename Query to SelectRows
2013-04-19 16:18:11 -05:00
Jack Christensen
9a5c299563
Added Select to process rows as they come over the wire
...
This was accomplished by promoting private query function to
public Select.
fixes #12
2013-04-19 16:10:14 -05:00
Jack Christensen
310c7f5fd8
go fmt
2013-04-19 15:48:45 -05:00
Jack Christensen
fa4c70907c
Rename pgx.conn to pgx.Connection
2013-04-17 08:26:01 -05:00
Jack Christensen
d306d42afb
Added conn.Execute to run arbitrary SQL without a result set
...
fixed #13
2013-04-16 20:13:06 -05:00
Jack Christensen
cbf03821e1
Revert making query methods automatically escape arguments.
...
Must now call SanitizeSql explicitly.
This was necessary because go supports variadic arguments but not
totally optional arguments. So it would require something to
always be passed in.
2013-04-16 19:55:01 -05:00
Jack Christensen
8392883350
Added SQL parameter sanitization
...
fixes #3
2013-04-15 20:22:28 -05:00