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
a27244b3c9
Make the test simpler for easier debug
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
a4dc3dfbd7
Add a test showing a bug in describe/execute combo
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
Austin Bonander
41bf5e30ee
docs(macros): mention interpreting EXPLAIN
output for SQLite
...
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2020-07-23 20:19:08 -07:00
Austin Bonander
4da66c9200
fix(macros): fix checked = false
being ignored
...
for arguments
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2020-07-23 19:53:08 -07:00
Raphaël Thériault
435445fbd0
Edit migrator to make it possible to create static instances
2020-07-23 17:54:05 -04:00
Raphaël Thériault
92646e00b8
Fix migrate! and add migration test
2020-07-23 17:46:27 -04:00
Raphaël Thériault
39b3e4a966
Normalise path resolution accross migrate! and query_file!
2020-07-23 17:11:35 -04:00
Raphaël Thériault
0eb63b7eae
Fix migrate! and improve docs
2020-07-23 16:47:32 -04:00
Raphaël Thériault
8381e87d4a
Document migrate! (and small fixes)
2020-07-23 15:25:13 -04:00
Raphaël Thériault
e5e9665bd9
Add migrate! macro for embedded migrations
2020-07-23 14:22:50 -04:00
Raphaël Thériault
60c3ece671
Edit Migration and Migrator to make embedded migrations possible
2020-07-23 12:57:48 -04:00
Yusuke Tanaka
0890313259
doc: fix wrong links
2020-07-24 00:31:05 +09: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
Austin Bonander
67ad43491d
doc: adjust macros documentation
...
Signed-off-by: Austin Bonander <austin@launchbadge.com>
2020-07-21 22:40:13 -07:00
Austin Bonander
94aa698581
refactor(macros): remove ResultExt and macro_result!()
2020-07-21 21:19:31 -07:00
Jonas Platte
d79335d955
Add an openssl-vendored feature to sqlx-cli
...
… to allow building for musl targets
2020-07-21 08:01:55 -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
6a70780f45
chore: update lockfile
2020-07-20 23:13:05 -07:00
Ryan Leckey
78fe88f51b
style: rustfmt
2020-07-20 23:12:52 -07:00
Ryan Leckey
ae8800ccc4
feat(postgres): add () for VOID in macro resolution
2020-07-20 23:12:43 -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
c7f55f7ed6
chore: update lockfile
2020-07-18 05:43:59 -07:00
Ryan Leckey
96b76dc737
update todo examples to 0.4 and use migrations
...
* update tests/x.py
* add examples/x.py
2020-07-18 05:43:16 -07:00
Ryan Leckey
820618f396
test: fix some doctests under runtime-tokio
2020-07-18 03:27:05 -07:00
Ryan Leckey
14ecf5cbc4
test: make --target a prefix match and add --target-exact the old exact match
2020-07-18 03:26:55 -07:00
Ryan Leckey
9400a81cb0
test: switch tests/x.py to use host rustc for running tests
2020-07-18 03:18:25 -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
9befdc81bf
test: add a regression test for the bugs discovered with #527
2020-07-17 04:56:58 -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
Ryan Leckey
f4eb968c8d
test(sqlite): add DB parameter to Decode invocation
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
Jonas Platte
4c394de70b
Add SQLX_OFFLINE env variable to force metadata usage
2020-07-17 01:12:07 -07:00