Commit graph

595 commits

Author SHA1 Message Date
Ryan Leckey
47d566f5b6 feat: support Done for Any 2020-07-14 04:41:27 -07:00
Ryan Leckey
00137d4a04 feat: add sqlx::Done and return from Executor::execute()
+ Done::rows_affected()

 + Done::last_insert_id()
2020-07-14 04:31:25 -07:00
Ryan Leckey
93cab2a197 test: more pool usage adjustments 2020-07-12 05:02:40 -07:00
Ryan Leckey
8cf3ccc7e9 fix: put back transaction.open flag to stop auto-rollback 2020-07-12 04:42:37 -07:00
Ryan Leckey
d10f299c55 test: tweak in-code examples for latest refactors 2020-07-12 04:30:10 -07:00
Ryan Leckey
ff4dd4c7e7 fix: add a couple missing cfgs for the migrate feature 2020-07-12 04:15:37 -07:00
Joe Grund
d58f20f77a Update column.rs
Skip serialization of `relation_id` and `relation_attribute_no` so they do not appear in `sqlx-data.json`
2020-07-12 03:54:47 -07:00
Ryan Leckey
61e4a4f566 feat: finish v1 of both cli and embedded migrations 2020-07-12 03:43:55 -07:00
Ryan Leckey
b920aa1c55 feat: support user-defined array and pseudo types in postgres 2020-07-12 03:43:55 -07:00
Ryan Leckey
e765287dba refactor: restructure relationship between Pool, Connection, and Options
* Pool::new -> Pool::connect

 * Add Pool::connect_lazy

 * Pool::builder -> PoolOptions::new

 * PoolConnection no longer implements Connection

 * Transaction no longer implements Connection

 * Add ConnectOptions::connect

 * Add Acquire - abstract between &Pool and &mut Connection within one function

 * Remove Connect, move connect to Connection

Co-authored-by: Austin Bonander <austin@launchbadge.com>
2020-07-12 03:43:55 -07:00
Julius de Bruijn
2e3e5187f9 Document better! 2020-07-09 12:32:19 -07:00
Julius de Bruijn
08f55bfc28 Simplify mantissa handling 2020-07-09 12:32:19 -07:00
Julius de Bruijn
47de479454 Conversions from Decimal to PgMoney 2020-07-09 12:32:19 -07:00
Julius de Bruijn
e45e6d4173 Set the write part to use simpler math with u128 2020-07-09 12:32:19 -07:00
Julius de Bruijn
f246d41aed Fixed an overflow with a negative scale 2020-07-09 12:32:19 -07:00
Julius de Bruijn
245d53e484 Test Decimal conversions in my and pg 2020-07-09 12:32:19 -07:00
Julius de Bruijn
95ac38caed Add money conversions to Decimal 2020-07-09 12:32:19 -07:00
Julius de Bruijn
fd837fce09 Support for rust_decimal::Decimal 2020-07-09 12:32:19 -07:00
Julius de Bruijn
e3b3806db5 Handle ParameterStatus in PgStream 2020-07-06 05:56:10 -07:00
Ryan Leckey
699df28088 test(postgres): remove usage of DataRow::len() in unit test 2020-07-05 04:37:53 -07:00
Ryan Leckey
15fc837366 fix: sqlite chrono type match after column metadata changes 2020-07-05 04:29:52 -07:00
Ryan Leckey
8baeb9215a fix: correct a couple places from the recent column metadata changes 2020-07-05 04:28:25 -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
Ryan Leckey
266a583a6b fix: remove reference to accidentally added WIP module 2020-07-04 05:54:36 -07:00
Ryan Leckey
3b503a7764 feat(sqlite): clean up chrono support, add support for NaiveTime and NaiveDate 2020-07-04 05:51:46 -07:00
Ryan Leckey
7d22c0917f Merge remote-tracking branch 'meteficha/felipesere-rebased' 2020-07-04 04:37:11 -07:00
agentsim
7810f7dcdd
Sqlite Collation Support (#446)
* Sqlite Collation Support

Adds a method create_collation to SqliteConnection.
Adds a unit test confirming the collation works as expected.

* Fix formatting

* Address feedback

Co-authored-by: Ryan Leckey <ryan@launchbadge.com>
2020-07-04 04:30:40 -07:00
Ryan Leckey
d112c4d807 feat(sqlite): support expressions and multiple no-data statements in the macros 2020-07-04 04:06:43 -07:00
Ryan Leckey
d209c60eb7 feat(sqlite): add read_only to SqliteConnectionOptions 2020-07-04 02:55:01 -07:00
Ryan Leckey
3c3356675e fix(sqite): emit REAL for float columns in SQLite as the docs use that word a lot more 2020-07-04 02:54:41 -07:00
Austin Bonander
e2c707b447 fix: make Pool::try_acquire() fair only when fair=true in the options 2020-07-03 05:59:20 -07:00
Austin Bonander
15e0a5553a chore: document PoolBuilder::fair() 2020-07-03 05:59:20 -07:00
Austin Bonander
17e88ac1a4 perf: implement pool benchmark, make fairness an option 2020-07-03 05:59:20 -07:00
Austin Bonander
8c2acaa258 fix(pool): prevent calls to acquire() from cutting in line
add a few more checks for `is_closed`
2020-07-03 05:59:20 -07:00
Ryan Leckey
0824723765 fix: handle zero dates in MySQL, emit as Option::None (treat as NULL) 2020-07-03 05:50:06 -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
0b2844bf39 feat(any): implement ColumnIndex<AnyRow> for &str to enable FromRow for the Any driver
closes #464
2020-07-02 23:28:53 -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
20229ea2b9 fix: actually use TryMapRow and MapRow in Query 2020-07-02 23:03: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
c7c46f237b fix(sqlite): argument bind for sqlite is 1-indexed
fixes #467
2020-07-02 22:52:33 -07:00
Ryan Leckey
1a7480774b fix(postgres): after closing a statement, the connection should await CloseComplete 2020-07-02 22:37:04 -07:00