663 Commits

Author SHA1 Message Date
Chloe Ross
3885ae6ddf fix: allow queries that select just void to pass through macros as () instead of struct { _1: () } 2020-07-31 04:14:48 -07:00
Jannik Obermann
67142259e4 Fix #580 + Add test 2020-07-31 04:14:32 -07:00
吴翱翔
96f4a43bb8 style: rustfmt 2020-07-29 07:39:31 -07:00
吴翱翔
c6fa9047b9 Remove rust_decimal unnecessary num-traits 2020-07-29 07:39:31 -07:00
Martin Tomasi
002929ed2e Added missing target for query logger 2020-07-29 07:37:58 -07:00
Jonas Platte
960e71202b Don't include postgres OIDs in query cache 2020-07-29 07:28:14 -07:00
foldu
bd1d9f45f3 Fix create_if_missing docs 2020-07-27 04:03:30 -07:00
Julius de Bruijn
0ed8e3f610 Add missing compatible implementation for Vec<BitVec> 2020-07-27 03:36:44 -07:00
Julius de Bruijn
1a59d3308a Pg: Implementing BIT and VARBIT using BitVec 2020-07-27 03:36:44 -07:00
Ryan Leckey
7bc3133f70 feat: add an optional query logger (using log) 2020-07-26 23:55:36 -07:00
Ryan Leckey
3d7ac03e52 style: rustfmt 2020-07-26 22:30:45 -07:00
Ryan Leckey
4fec7db789 test(mysql, uuid): add some tests to prove UUIDs work in MySQL 2020-07-26 22:30:32 -07:00
Kaleb Elwert
e0ace861c5
Allow MigrationSource to be implemented externally (#511) 2020-07-26 20:23:44 -07:00
Joshua Koudys
05ffcb312d
Uuid support for MySQL (#536)
* feat: uuid decoder for mysql, patterned on postgres

* feat: Add uuid on mysql encoding

* fix: encode after converting to bytes

* fix: use the byte decoder on uuids

* fix: remove unused import

* feat: Adds mysql encoding/decoding support for Hyphenated uuid

* fix: uncommented feature flag line

* fix: unresolved import

* fix: use sqlx string type for binary uuid

Co-authored-by: Ian Hume <Humeian@me.com>
2020-07-26 19:45:06 -07:00
Ryan Leckey
ec0e84d8ac feat(mysql): support reading and writing BIT via unsigned integers
e.g., BIT(64) is u64 and BIT(2) is u8
2020-07-26 19:42:32 -07:00
Ryan Leckey
7b132d1dbc refactor(mysql): store max_size in MySqlTypeInfo – prepare for an eventual future where emit bool for TINYINT(1) 2020-07-26 19:37:58 -07:00
Ryan Leckey
c454e1ea35 style: remove unused import 2020-07-26 18:05:55 -07:00
Ryan Leckey
f298eb3cf1 Merge remote-tracking branch 'raftario/embedded-migrations' 2020-07-26 18:03:59 -07:00
Ryan Leckey
b61c0821ab style: rustfmt 2020-07-24 08:07:44 -07:00
Julius de Bruijn
8eb8661945 Allow decoding a YEAR value as uint from MySQL 2020-07-24 08:05:54 -07:00
Ryan Leckey
40f0a22765 Merge remote-tracking branch 'magurotuna/doc-links' 2020-07-24 07:33:27 -07:00
Ryan Leckey
08d2c79279 feat(postgres): expose PgTypeKind 2020-07-24 07:28:59 -07:00
Ryan Leckey
e575501a39 feat: add Executor::prepare, a hook into the automatic statement preparation life-cycle 2020-07-24 07:24:23 -07:00
Julius de Bruijn
e8a4c54ac7 Allow setting caching per-query 2020-07-24 07:24:23 -07:00
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
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
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
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
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