Steven Fackler
835f745be2
Updates for library changes
2014-02-10 19:20:53 -08:00
Steven Fackler
dfb61df672
Don't fail on drop with a desynched stream
2014-02-10 00:20:39 -08:00
Steven Fackler
6e37db330b
Properly handle object cleanup errors
...
Destructors now fail and there's a finish method returning an error.
2014-02-09 23:55:16 -08:00
Steven Fackler
dec566e683
Track stream desynchronization
...
If we hit an IO error talking to the server, message framing has
probably been lost and we shouldn't try to keep talking.
2014-02-09 22:45:26 -08:00
Steven Fackler
d84acfda52
Rename tests module to test
2014-02-09 16:01:09 -08:00
Steven Fackler
0ea80b4c99
Build dynamic and static libs
2014-02-09 15:55:31 -08:00
Steven Fackler
481a4e1c4b
Less reflection
2014-02-09 13:57:51 -08:00
Steven Fackler
b15716cf4e
Up debugging and add doc string
2014-02-08 11:25:24 -08:00
Steven Fackler
e0ec05c9de
Update for collections split
2014-02-08 10:24:21 -08:00
Steven Fackler
26a0cdaae7
Use a Cell for next_portal_id
2014-02-07 18:17:40 -08:00
Steven Fackler
774533e1df
Add a size_hint to result iterator
2014-02-07 18:07:25 -08:00
Steven Fackler
c413633fa9
More error checking
2014-02-06 22:59:43 -08:00
Steven Fackler
e7a2ee8bd8
More updates for upstream changes
2014-02-06 21:37:05 -08:00
Steven Fackler
fdd1f4f88d
Beginnings of fixes for IO API changes
...
It is still very much incorrect in the face of errors, but it's better
2014-02-06 20:58:47 -08:00
Steven Fackler
dbb698b9f3
Rename notification iterator
2014-02-03 00:09:48 -05:00
Steven Fackler
d6aa529474
Move source files to src directory
...
The root was getting too crowded.
2014-02-02 23:28:59 -05:00
Steven Fackler
d567ca8c7a
Restructure directories for rustpkg
...
Turns out the src/postgres indirection isn't necessary.
2013-10-15 13:28:06 -07:00
Steven Fackler
d65d5bcbe2
Add notifications to transactions and pooled conns
2013-10-14 23:34:18 -07:00
Steven Fackler
fef8a35795
Implement asynchronous notification support
...
A decent first pass on #19 , but there really needs to be better support
for polling for notifications than making a query and calling next()
every once in a while.
2013-10-14 22:42:28 -07:00
Steven Fackler
e2ebe60de4
Doc grammar fix
2013-10-14 19:36:01 -07:00
Steven Fackler
ca4356fd4b
Change transaction API to RAII style
2013-10-13 18:58:31 -07:00
Steven Fackler
60a5dbf6a8
Some documentation cleanup
2013-10-12 23:19:57 -07:00
Steven Fackler
4299b1a5a2
Make find_col_named a default method
2013-10-12 23:12:53 -07:00
Steven Fackler
9253635fef
Move pool out of its own directory
...
It's not going to get complicated enough at the moment to require
submodules.
2013-10-12 15:18:50 -07:00
Steven Fackler
c93b299aca
Use temporary schema for PL/pgSQL function
2013-10-12 13:32:48 -07:00
Steven Fackler
4ef339f5b1
Update for PostgreSQL 9.3
...
Errors contain more information.
The notice handler test was rewritten to explicitly generate a notice.
2013-10-12 13:27:59 -07:00
Steven Fackler
53f342a53a
Fixes for Rust changes
2013-10-10 20:50:39 -07:00
Steven Fackler
e50bbd5d5c
Minor Travis config cleanup
2013-10-08 00:18:36 -07:00
Steven Fackler
039d02ed58
Fix tests on Travis
2013-10-08 00:00:58 -07:00
Steven Fackler
8a4cc66cbf
Testing fixes
2013-10-07 23:00:11 -07:00
Steven Fackler
dfd414a603
Fix for latest master
2013-10-07 21:59:21 -07:00
Steven Fackler
942214b55e
Hide message mod from docs
2013-10-05 12:38:33 -07:00
Steven Fackler
91f89976c8
Fix non default database usage
2013-10-04 20:26:52 -07:00
Steven Fackler
12c5ebc34b
Handle errors on initial connect
2013-10-04 19:26:57 -07:00
Steven Fackler
8a738365c7
Add doc root url attribute
2013-10-04 00:01:58 -07:00
Steven Fackler
70028c4267
Add some more documentation after lint fixes
2013-10-03 22:13:58 -07:00
Steven Fackler
5a4ef27311
Fix for new printf
2013-10-01 19:55:17 -07:00
Steven Fackler
b06769bd86
Remove newtype usage
...
Newtype structs can't hide their internals, so it seems best to not use
them.
2013-10-01 00:40:46 -07:00
Steven Fackler
df9a348980
Fixed up example
2013-10-01 00:01:54 -07:00
Steven Fackler
e2260ca15b
Minor cleanup
2013-09-30 08:35:03 -07:00
Steven Fackler
237ae8c16a
Move convenience methods to default methods
2013-09-29 23:44:45 -07:00
Steven Fackler
bba1f87721
Documentation fixes
2013-09-29 22:22:10 -07:00
Steven Fackler
f484d8dceb
Documentation updates
2013-09-29 22:03:11 -07:00
Steven Fackler
83c1349af9
Add back version to avoid warning
2013-09-29 20:00:27 -07:00
Steven Fackler
32f67c5abd
Switch things to newtypes
...
The bug I thought was blocking this wasn't actually.
2013-09-29 19:55:14 -07:00
Steven Fackler
83ad914774
Documentation for everything else
2013-09-29 19:47:30 -07:00
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