Julius de Bruijn
c9c11c8302
2-tier cache for Postgres
...
This solves a problem when needing to describe a query before executing
it, in cases where the query is more of a dynamic nature and binding its
parameters require the type info.
In this case, the first describe doesn't know the input parameters, so
the parameter type info is inferred from the database. In cases of
`varchar(10)[]` or `json` column types, the parameter type is inferred
to the column type. Now if we then try to use `text[]` or `jsonb` as the
types, the database has already stored different types for these
parameters for the statement, and will error out.
So we'll now only store the statement to the cache when it comes from an
actual execution of the query.
2020-07-24 07:24:23 -07:00
Julius de Bruijn
0c9bea4ab2
Fixing panics for disabled statement cache
2020-07-24 07:24:23 -07:00
Julius de Bruijn
bfa29e521b
Implement Debug for statements
2020-07-24 07:24:23 -07:00
Julius de Bruijn
9839043b6d
Cache column and parameter info in mysql
2020-07-24 07:24:23 -07:00
Julius de Bruijn
590f97df4a
Caching describe
2020-07-24 07:24:23 -07:00
Martin Risell Lilja
eba6f3973d
Remove sneaky 'println!' in sqlite chrono.
2020-07-23 03:36:27 -07:00
ABGH, C
dad1356147
Remove unused phf dependency
2020-07-22 17:58:23 -07:00
Ryan Leckey
e4dc040620
style: rustfmt
2020-07-20 23:53:36 -07:00
Ryan Leckey
ee4d9b5412
fix(postgres): use the element type info from the protocol if available for array element decoding
...
fixes #537
2020-07-20 23:53:18 -07:00
Ryan Leckey
78fe88f51b
style: rustfmt
2020-07-20 23:12:52 -07:00
Ryan Leckey
cd4e8dc1cb
feat(mysql): support configuring the active charset and collation (via an automatic SET NAMES)
2020-07-20 23:07:22 -07:00
Ryan Leckey
cf78472d6d
fix(mysql): gate com_stmt_execute encode on non-empty params, not non-null params
2020-07-20 21:49:30 -07:00
Ryan Leckey
dc0d325738
fix: type annotate a conversion in mysql/str
2020-07-19 19:14:26 -07:00
Raphaël Thériault
41261862d3
Implement DerefMut and AsMut for Json
2020-07-18 21:55:13 -07:00
Ryan Leckey
cdd88b5338
feat: support ancient mysql versions (5.0+)
2020-07-18 21:43:05 -07:00
Ryan Leckey
49ffcf6f46
feat: add PgListener#try_recv to give users a chance to act on lost connection if desired
...
closes #447
2020-07-18 21:05:36 -07:00
Ryan Leckey
47772b0850
docs: add derive docs for sqlx::Type
2020-07-18 20:37:50 -07:00
Ryan Leckey
820618f396
test: fix some doctests under runtime-tokio
2020-07-18 03:27:05 -07:00
Ryan Leckey
9029a345e5
docs: add some module-level information sqlx::database
2020-07-18 03:13:41 -07:00
Ryan Leckey
f345c23e51
fix(mssql): handle multi-chunk packets
...
fixes #523
2020-07-17 06:08:36 -07:00
Ryan Leckey
6fdb0d534f
chore: update dependencies
2020-07-17 05:36:56 -07:00
Ryan Leckey
cc736df4d6
fix(postgres): use Sync over Flush for terminating extended non-query commands; in addition, keep better track of the number of expected readyForQueries
2020-07-17 04:56:39 -07:00
Ryan Leckey
fa40e9e55f
implement support for postgres TIMETZ type
...
Co-authored-by: Julius de Bruijn <julius+github@nauk.io>
2020-07-17 03:22:40 -07:00
Ryan Leckey
e285f0858f
refactor: split up postgres chrono/time modules
2020-07-17 03:22:40 -07:00
Ryan Leckey
e413cd6b0b
docs: fix links in FromRow docs
2020-07-17 03:22:40 -07:00
Julius de Bruijn
99b7017d6c
Conversion from BigDecimal
to PgMoney
2020-07-17 02:00:48 -07:00
OriolMunoz
f75891725f
FromRow derivation docs
2020-07-17 01:04:56 -07:00
Ryan Leckey
6949b84e8c
style: rustfmt
2020-07-15 02:31:57 -07:00
Ryan Leckey
b2ba00f4be
feat(macros): turn on support for JSON in mysql and arrays of JSON in postgres
2020-07-15 02:31:44 -07:00
Ryan Leckey
9b956c0d2c
fix(postgres): support the VOID type, as ()
2020-07-15 02:16:08 -07:00
Ryan Leckey
25b8fc7c04
fix(sqlite): support column types changing per row
2020-07-15 02:05:00 -07:00
Ryan Leckey
dc5fc1b6c1
fix: do not enforce type equality if matching against the NULL type
2020-07-15 02:04:32 -07:00
Ryan Leckey
63f37a78c3
feat(sqlite): add SqliteConnectOptions::filename
2020-07-14 08:45:30 -07:00
Ryan Leckey
793f247604
refactor: PoolOptions::new() takes no parameters and the final .connect method takes the URI
2020-07-14 06:07:29 -07:00
Ryan Leckey
8de2419b14
style: rustfmt
2020-07-14 05:05:50 -07:00
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