Steven Fackler
7729cdae58
Documentation for the postgres module
2013-09-29 19:12:20 -07:00
Steven Fackler
418d1bee28
Inline result indexing stuff
2013-09-29 10:53:44 -07:00
Steven Fackler
8fa7858b07
Make TransactionalPostgresStatement a newtype
2013-09-29 10:40:11 -07:00
Steven Fackler
25cd85e736
Minor cleanup
2013-09-28 23:02:51 -07:00
Steven Fackler
236ad87a8e
Make NaN test more comprehensive
2013-09-28 21:33:55 -07:00
Steven Fackler
380d03ffbe
Kill off Makefile
...
Due to mozilla/rust#9602 , the connection pool test had to be pulled into
the main test file.
2013-09-28 21:19:27 -07:00
Steven Fackler
324809f368
Rustpkg support!
...
Closes #12
2013-09-28 20:36:04 -07:00
Steven Fackler
88bb03119a
Restructure to support rustpkg
2013-09-28 20:30:35 -07:00
Steven Fackler
81af9e9e98
Import Port
2013-09-28 11:14:06 -07:00
Steven Fackler
67c6b3ffee
Visibility fix
2013-09-27 23:00:15 -07:00
Steven Fackler
19c834c2e7
Fixes for new master
2013-09-25 17:03:41 -07:00
Steven Fackler
ce0031c5d0
Restructure Cell wrapping for PostgresConnection
...
It's silly to wrap each individual field in Cell when we can just wrap
everything together.
2013-09-19 21:06:45 -07:00
Steven Fackler
bad3a5e36c
Stop storing query string in statement
...
The query string isn't as useful here since any error at this stage
won't be a syntax issue.
2013-09-18 20:54:47 -07:00
Steven Fackler
498d2e7b26
Simplify connection pool
...
It's going to just be fixed size for now
2013-09-17 23:08:42 -07:00
Steven Fackler
fa472cf312
Restructure conn pool to RAII style
2013-09-17 22:06:47 -07:00
Steven Fackler
3c7c5dce51
More robust pool test
2013-09-16 23:38:27 -07:00
Steven Fackler
65aabf5147
Sketches of a connection pool
2013-09-16 23:03:13 -07:00
Steven Fackler
2f282affe6
Move transaction cleanup to descructor
...
Support for connection pooling, since we'll recover the conn after a
task failure.
2013-09-15 22:35:30 -07:00
Steven Fackler
980fa9b474
Simplify result_format logic
2013-09-15 19:43:46 -07:00
Steven Fackler
3a7f9ac50c
Updated README with error code stuff
2013-09-15 19:26:56 -07:00
Steven Fackler
1858ed41dc
Better error output
2013-09-14 22:56:52 -07:00
Steven Fackler
a00843751e
Parse Notice/Error SQLSTATE codes
...
The enum is stuck inside of an extra module due to mozilla/rust#4375 .
2013-09-14 21:37:20 -07:00
Steven Fackler
f392d6caf1
Use buffered IO
...
Closes #17
2013-09-14 13:08:09 -07:00
Steven Fackler
5654fa5f2a
Fail on incorrect parameter count
2013-09-11 22:33:19 -07:00
Steven Fackler
4ec8130860
Don't fail on unsupported auth methods
2013-09-11 22:02:32 -07:00
Steven Fackler
970b5f657a
Allow custom notice handling
...
It was a tossup between a ~fn and a ~Trait *shrug*
2013-09-11 19:57:26 -07:00
Steven Fackler
db634b5a3c
Get rid of use *
2013-09-08 22:40:08 -07:00
Steven Fackler
9562711af3
TIMESTAMP WITH TIMEZONE support
2013-09-08 21:33:41 -07:00
Steven Fackler
5bb1ec2db7
Remove read_message macros
...
Workaround for mozilla/rust#9049 but probably the right thing to do in
any case.
2013-09-08 20:35:24 -07:00
Steven Fackler
7971e8678d
DNS lookup
2013-09-08 14:26:34 -07:00
Steven Fackler
20b7b5426d
Timestamp support
...
cc #6
2013-09-08 13:27:43 -07:00
Steven Fackler
ce034e3a70
Update to newest master
2013-09-07 15:45:11 -07:00
Steven Fackler
21ce229fe1
Update to work with latest master
...
This is segfaulting for me in places that should not segfault. Not sure
what's going on.
2013-09-07 11:28:26 -07:00
Steven Fackler
1b00801938
Handle asynchronous ParameterStatus
...
Closes #16
2013-09-06 21:56:31 -07:00
Steven Fackler
4eb99e096e
Explicitly set client encoding
...
Postgres will translate data from non-utf8 databases for us
2013-09-05 20:49:19 -07:00
Steven Fackler
a17fe648de
Rename PostgresResult methods to be more clear
2013-09-05 20:31:23 -07:00
Steven Fackler
0a361967ce
Avoid infinite loop
2013-09-04 23:48:02 -07:00
Steven Fackler
8422072d37
Remove savepoint IDs entirely
...
Turns out that Postgres allows nested savepoints with the same name
2013-09-04 23:40:22 -07:00
Steven Fackler
6a696461b9
Simplify savepoint ID logic
...
A savepoint ID is now the "depth" of the savepoint.
2013-09-04 23:32:33 -07:00
Steven Fackler
cf5bd66218
Add nested transaction support
2013-09-04 23:28:44 -07:00
Steven Fackler
c81c207c90
Add methods to look at params and results
2013-09-04 21:51:48 -07:00
Steven Fackler
f8ce356a7a
Types cleanup
2013-09-04 21:30:20 -07:00
Steven Fackler
749aa735f6
Make nice types for parameter and result descs
2013-09-04 21:26:43 -07:00
Steven Fackler
c0d70e90dc
Implement transactional lazy queries
...
Closes #13
2013-09-03 22:42:24 -07:00
Steven Fackler
47d1458eb7
More infrastructure for lazy queries
...
cc #13
2013-09-03 22:20:21 -07:00
Steven Fackler
c2b3768a29
Infrastructure for lazy queries in transactions
...
cc #13
2013-09-03 22:05:28 -07:00
Steven Fackler
91d7c856ee
Clean up tests
...
Removed most of the usage of transactions in the tests, replacing with
temporary tables or SELECT literal queries.
2013-09-03 20:50:02 -07:00
Steven Fackler
9891f597bc
Switch over to new format + clean up matches
2013-09-03 20:07:10 -07:00
Steven Fackler
7990809251
Switch MemReader to BufReader
2013-09-03 19:35:28 -07:00
Steven Fackler
f404527b3a
Add non-transactional test
...
Queries were completely broken outside of transactions for a while
without me realizing.
2013-09-03 00:00:43 -07:00
Steven Fackler
55c0674658
Fill out README
2013-09-02 23:19:03 -07:00
Steven Fackler
a677f62fe2
Remove lazy query support
...
It turns out this only works inside a transaction, so the API will need
to be rethought. Probably PostgresTransaction.prepare will return a
special TransactionalPreparedStatement that has support for it or
something.
2013-09-02 23:09:30 -07:00
Steven Fackler
03e0ab29e2
Add link attribute
2013-09-02 19:08:56 -07:00
Steven Fackler
3d8d35d840
Overload Index for PostgresRow
...
RowIndex has to be implemented for int unfortunately since that's what a
literal ends up resolving to.
2013-09-02 18:53:03 -07:00
Steven Fackler
8ab3c1d04b
Add column name to index lookup
2013-09-02 20:07:08 -04:00
Steven Fackler
57146672ab
Support for "char" type
2013-09-02 18:14:22 -04:00
Steven Fackler
dd6f8eb6b4
Support for CHAR(n)
2013-09-02 17:52:23 -04:00
Steven Fackler
64195b819e
Cleanup types.rs
2013-09-02 17:06:22 -04:00
Steven Fackler
aa37fe31d4
Json and Uuid support
...
cc #6
2013-09-02 16:54:16 -04:00
Steven Fackler
2cc7f0ff84
Support for TEXT type
2013-09-02 16:07:57 -04:00
Steven Fackler
46b4228415
Binary return value support
...
The set of types the driver asks for in binary format is currently hard
coded.
cc #7 , #14
2013-09-02 15:43:48 -04:00
Steven Fackler
1a6d681cbd
Strict type checking in ToSql
...
cc #14
2013-09-02 13:27:25 -04:00
Steven Fackler
043d231476
Remove redundant format specifiers
2013-09-02 01:29:13 -04:00
Steven Fackler
e9245294f0
Store row description in statement
...
Will be useful for FromSql binary formats. CC #7
2013-09-01 14:09:08 -07:00
Steven Fackler
8b787cf8af
Convenience update methods
...
cc #11
2013-09-01 11:06:33 -07:00
Steven Fackler
e93df44149
Switch PostgresResult storage to Deque
2013-09-01 00:18:09 -07:00
Steven Fackler
fa818566f3
Support for lazy query results
...
Closes #13 .
2013-08-31 23:19:44 -07:00
Steven Fackler
6071706e7e
More work towards row limits
...
cc #13
2013-08-31 22:48:49 -07:00
Steven Fackler
e82c887949
Restructure result API for row limits
...
Work towards #13 .
2013-08-31 21:55:44 -07:00
Steven Fackler
0f1d31c4ab
Batch command sequence writes
...
This allows command sequences like Prepare/Describe/Sync to be sent in
fewer TCP packets.
2013-08-31 17:17:15 -07:00
Steven Fackler
557c61d6db
Binary transmission of numeric types
...
It looks like Postgres doesn't guarantee that its floats are IEEE754,
but I don't know if there are any reasonable platforms on which the
format is actually different.
Work towards #7 .
2013-08-31 17:17:06 -07:00
Steven Fackler
f56c519097
Boolean parameters transmitted as binary
...
Work towards #7 .
2013-08-31 17:16:59 -07:00
Steven Fackler
ace9ffcec4
Infrastructure for binary parameter formats
...
Work towards #7 .
2013-08-31 17:16:49 -07:00
Steven Fackler
543af184ab
Moving blocks around for consistency
2013-08-29 02:19:53 -04:00
Steven Fackler
440421e81a
Minor cleanup
2013-08-29 01:44:34 -04:00
Steven Fackler
be080e783f
Stop storing num_params in statement
...
Postgres will check the count for us.
2013-08-29 01:33:27 -04:00
Steven Fackler
30d1a43f4b
Parsing of ErrorResponse and NoticeResponse
...
PostgresDbError::new plays a little fast and loose with the expected
format. Hopefully that's okay.
Closes #4
2013-08-29 00:24:43 -04:00
Steven Fackler
b93bbd7eed
Switched Message enums to struct-like
...
They're now a lot more clear, especially ones like Bind that have tons
of fields.
2013-08-28 23:25:15 -04:00
Steven Fackler
0204d950c4
Log NoticeResponses
...
Progress towards #3 . I think we probably want to have a user
configurable notice handler.
2013-08-28 02:23:36 -04:00
Steven Fackler
27bbf6f7fd
Pull ToSql and FromSql out into their own module
...
Their implementations will become significantly more complicated once we
start handling binary data.
2013-08-28 00:37:06 -04:00
Steven Fackler
604b1ddb4d
Fix for generic type syntax changes
2013-08-28 00:09:50 -04:00
Steven Fackler
44ea118d02
Call methods on transaction object, not conn
2013-08-27 01:45:27 -04:00
Steven Fackler
afd7d8800d
Better transaction syntax
...
Closes #9
2013-08-27 01:40:23 -04:00
Steven Fackler
6afc2cac3f
Fix error handling for prepare, result and query
...
Closes #2
2013-08-27 01:06:53 -04:00
Steven Fackler
594830b296
Closer-to-proper error handling for connect
2013-08-27 00:19:24 -04:00
Steven Fackler
c73e1e93f4
ifmt! -> format!
2013-08-26 22:38:02 -04:00
Steven Fackler
f60d3993b3
Handle conditions in Drop impls
...
Aborting the process is sadface
2013-08-26 03:36:09 -04:00
Steven Fackler
47ef8ea6b1
Add plaintext and MD5 password authentication
2013-08-26 01:08:37 -04:00
Steven Fackler
ceaac705d6
Parameter binding support!
2013-08-24 23:47:36 -04:00
Steven Fackler
9ff747724a
Query support!
2013-08-23 03:13:42 -04:00
Steven Fackler
dd64882d32
Updates and transactions
2013-08-23 01:24:14 -04:00
Steven Fackler
e5c5b783f3
Clean up for extra::url fixes
2013-08-22 22:47:06 -04:00
Steven Fackler
2b617e61b1
Beginnings of Bind support
2013-08-22 03:12:35 -04:00
Steven Fackler
1f127289bb
Fully construct prepared statements
2013-08-22 02:41:26 -04:00
Steven Fackler
11098f4d47
Beginnigs of native Postgres frontend
2013-08-22 01:58:37 -04:00
Steven Fackler
067f2c9f91
Removed sql and sqlite3
...
I'm going to focus on a postgres driver for now
2013-08-18 17:14:22 -04:00
Steven Fackler
5289e69fa7
Some random cleanup
2013-08-17 23:42:40 -04:00
Steven Fackler
4497035fe1
Remove configurable notice handler
2013-08-17 23:30:31 -04:00
Steven Fackler
5b416ce994
Added a quick test of different parameter types
2013-08-17 22:42:12 -04:00
Steven Fackler
2b6cdf3b9a
Proper generic parameters with NULL handling
2013-08-17 22:09:56 -04:00
Steven Fackler
a5aab529c9
Updated for latest master
2013-08-17 18:09:26 -04:00
Steven Fackler
17199139c9
Null support and Makefile
2013-08-04 20:48:48 -04:00
Steven Fackler
d6073039df
Minor cleanup
2013-08-04 02:52:14 -04:00
Steven Fackler
49bed84c81
Query parameters and transactions
2013-08-04 01:21:16 -04:00
Steven Fackler
2c268a9c36
Built out Postgres implementation
2013-08-03 22:17:32 -04:00
Steven Fackler
81190721d0
SqlType impls
2013-07-27 17:41:53 -04:00
Steven Fackler
af2db76953
Proper NULL support
2013-07-27 16:39:10 -04:00
Steven Fackler
762a55b38d
Added parameter binding
...
I'm still not sure about how best to do the bind parameter trait.
2013-07-27 01:43:36 -04:00
Steven Fackler
2ac7379a58
A bit of transaction support
2013-07-26 01:34:02 -04:00
Steven Fackler
c6b7215e01
Added utility methods
2013-07-25 03:10:18 -04:00
Steven Fackler
bbf28171f1
SQLite3 basics
2013-07-25 02:30:39 -04:00