Ryan Leckey
699df28088
test(postgres): remove usage of DataRow::len() in unit test
2020-07-05 04:37:53 -07:00
Ryan Leckey
250b4d8e10
feat(any): update Any to support the new column metadata
2020-07-05 04:23:10 -07:00
Ryan Leckey
8d188c5f1a
feat: expose column information on Row
...
- add database-specific Column types: MySqlColumn, PgColumn, etc.
- add Row::columns() -> &[DB::Column]
- add Row::column(I) and Row::try_column(I)
2020-07-05 03:48:36 -07:00
Julius de Bruijn
83380eedbb
Renaming as_bigdecimal to to_bigdecimal.
...
Following the Rust guidelines
2020-07-03 03:57:20 -07:00
Julius de Bruijn
0a4de7038d
Remove the money compat functions from i64
2020-07-03 03:57:20 -07:00
Julius de Bruijn
744a4aa255
Make PgMoney as Copy
2020-07-03 03:57:20 -07:00
Julius de Bruijn
b3db51cdfc
Implement a proper type for money
2020-07-03 03:57:20 -07:00
Julius de Bruijn
0c01ca966c
Support for money type in Postgres
...
Reading is possible as `i64`, presenting the number of cents with the
default setting. The fractional precision depends on the `lc_monetary`
setting. By default the setting gives a fractional precision of 2.
Writing works with `i32`, `i64` or a numeric type such as `BigDecimal`.
When using an integer to write, it is not possible to represent cents.
Writing `123` to a money field stores a value of 12300.
When writing with a numeric type, cents can be represented. Reading
should still be done to an integer and if needed, converted to a numeric
type in the application to get the correct fractional precision.
2020-07-03 03:57:20 -07:00
Ryan Leckey
65222a62aa
style: rustfmt
2020-07-03 02:13:02 -07:00
Ryan Leckey
c82cf8f030
refactor(postgres, interval): clean up PgInterval a touch, remove any extra methods for now
2020-07-03 01:46:33 -07:00
Ryan Leckey
4c5ea7af77
Merge remote-tracking branch 'dimtion/pginterval'
2020-07-02 23:35:05 -07:00
Ryan Leckey
222cd688a4
feat(sqlite): enable configuration of journal_mode and foreign_keys and default to WAL and ON
2020-07-02 23:18:14 -07:00
Ryan Leckey
5d6516da68
fix: re-add MapRow and TryMapRow to fix HRTB normalization when more than one driver is in-use
2020-07-02 23:00:46 -07:00
Ryan Leckey
1a7480774b
fix(postgres): after closing a statement, the connection should await CloseComplete
2020-07-02 22:37:04 -07:00
Ryan Leckey
0b34545608
Revert "refactor: remove several blanket impls to allow more customization"
...
This reverts commit eb26e9f557bdefc2baa9eb4a89717dfabb55e5a1.
2020-06-27 18:54:50 -07:00
Loïc Carr
523f650340
feat(postgres) Add support for std::time::Duration, time::Duration & chrono::Duration
2020-06-27 17:42:46 -07:00
Loïc Carr
71cb68b2f4
feat(postgres) Create bindings for PgInterval
2020-06-27 17:36:06 -07:00
Julius de Bruijn
2115d02cb0
Move pg-specific socket options to its options.
...
Makes tcp connections explicit.
2020-06-27 05:34:23 -07:00
Julius de Bruijn
bcc42644e6
Do not do compile-time checks on pg socket
2020-06-27 05:34:23 -07:00
Julius de Bruijn
0ccfab1f25
Decide host parameter between host and socket
...
- If starts with a leading `/`, use socket
- If not, use host
2020-06-27 05:34:23 -07:00
Julius de Bruijn
868dc3dd5b
MySQL UDS Support
...
- Adds support for Unix Domain Sockets on MySQL
- Allows setting the socket path in PostgreSQL connection options
- ... and MySQL connection options
2020-06-27 05:34:23 -07:00
Ryan Leckey
b7ec7bbd3e
refactor: allow non-Send adding to arguments crate-local
2020-06-27 04:06:22 -07:00
Ryan Leckey
eb26e9f557
refactor: remove several blanket impls to allow more customization
2020-06-27 04:05:23 -07:00
Julius de Bruijn
745a32ab60
Close pg statements correctly
2020-06-25 12:26:44 +02:00
Julius de Bruijn
f969798cb6
Document new connection string params
2020-06-25 11:57:55 +02:00
Julius de Bruijn
2c2a277666
Caching methods in Connection
2020-06-25 10:44:05 +02:00
Julius de Bruijn
eba82e3fc1
LRU caching for SQLite
2020-06-24 19:46:32 +02:00
Julius de Bruijn
5d64310004
LRU caching for PostgreSQL
2020-06-24 19:01:54 +02:00
Zachery Gyurkovitz
84e8ed0d4c
fix: bigdecimal decoding ob1 for positive weight multiples of 4
2020-06-23 13:10:03 -07:00
Ryan Leckey
f85920acaf
fix(postgres): ignore more harmless messages in execute
2020-06-21 22:09:00 -07:00
Ryan Leckey
4448c0e629
feat: add should_flush and only spawn on drop for PoolConnection if we need to flush
2020-06-21 03:55:31 -07:00
Ryan Leckey
d76002e110
postgres: ignore more messages during execution if they are deemed not relevant
2020-06-21 03:55:31 -07:00
Ryan Leckey
6cfe5ac811
refactor: tweak type name display to use TypeInfo::name
2020-06-21 03:55:31 -07:00
Ryan Leckey
aaa475cc33
refactor: move Decode::accepts to Type::compatible
2020-06-21 03:55:31 -07:00
Ryan Leckey
e10c7c723f
refactor: remove impl of Encode::produces where it doesn't make sense
...
produces is meant as a value-dependent override, it only makes sense
currently for MSSQL or in generic contexts
2020-06-13 10:18:04 -07:00
Ryan Leckey
c2ce35fc06
fix(postgres): update usage of Digest
2020-06-13 08:54:52 -07:00
Ryan Leckey
c9f3e1adca
feat(postgres): add support for built-in range types and allow derives to handle custom range types
...
Co-authored-by: Caio <c410.f3r@gmail.com>
2020-06-12 15:33:19 -07:00
Ryan Leckey
fedd883d91
style: rustfmt
2020-06-12 15:33:19 -07:00
Caio
d4329e98d4
refactor: prepare to support postgres ranges
...
- Remove Type bound from Encode + Decode which removes the defaults
for produces() and accepts(). This allows custom type implementations
to be more flexible.
2020-06-12 15:33:19 -07:00
Ryan Leckey
1dac0b5c29
fix(postgres): invert the type description logic to allow all "simple" type categories
...
closes #379
2020-06-10 04:21:09 -07:00
Ryan Leckey
ec1cfc11e6
refactor(core): rename try_stream2 to try_stream (after removal of conflicting async-stream package)
2020-06-09 23:15:54 -07:00
Ryan Leckey
e1d22a1840
fix(core): async-stream crate seems to lose the stream if the stream owns the object we are streaming
...
hand-rolled a copy of the idea behind AsyncStream and things seem to work
2020-06-09 02:16:47 -07:00
Ryan Leckey
c9eef8b030
fix(postgres): failure to detect errors on postgres 9.5
2020-06-07 05:09:51 -07:00
Daniel Akhterov
c050611bac
fix: remove DatebaseError impl for stringprep::Error and panic instead
2020-06-07 02:34:41 -07:00
Daniel Akhterov
362a546484
feat(postgres): make sure username is ran through saslprep before sending to server
2020-06-07 02:34:41 -07:00
Ryan Leckey
ef2527ff3e
feat(mssql): fix a few bugs and implement Connection::describe
2020-06-07 02:00:31 -07:00
Ryan Leckey
2a272bdd59
feat(mssql): setup type tests for MSSQL and add support for all the int types
2020-06-07 02:00:13 -07:00
Ryan Leckey
c64122c03f
feat(mssql): implement parameterized queries
2020-06-07 02:00:13 -07:00
Austin Bonander
e3dbd58bf2
PgConnection: use more obvious/safer query for ping()
2020-06-05 20:13:20 -07:00
rage311
a0d1106f90
Added quotes to listen/unlisten channel names to honor case sensitivity and be consistent with 'listen_all()'
2020-06-05 19:50:44 -07:00