Commit Graph

1172 Commits

Author SHA1 Message Date
gwenn
fedf6b41ae Use sqlite_error_code where possible 2022-04-07 09:15:55 +02:00
Nikolai Vazquez
b0993a1d99 Add Error methods to get SQLite error values 2022-04-06 20:27:01 -04:00
gwenn
33e5f127cf Check current SQLite version while registering module 2022-04-04 06:24:51 -07:00
gwenn
6e0684b69f Rustfmt 2022-04-04 06:24:51 -07:00
gwenn
106e46c424 Actually test DELETE, INSERT, UPDATE on vtablog 2022-04-04 06:24:51 -07:00
gwenn
aa511ea337 Fix clippy warning 2022-04-04 06:24:51 -07:00
gwenn
fe1150b0cf Port vtablog as an example of a writable VTab 2022-04-04 06:24:51 -07:00
gwenn
762321c15e Introduce macro to avoid code duplication 2022-04-04 06:24:51 -07:00
gwenn
f04bec2fd5 Updatable eponymous virtual table 2022-04-04 06:24:51 -07:00
gwenn
3787f432a4 Add support to updatable virtual tables 2022-04-04 06:24:51 -07:00
Thom Chiovoloni
624c3a2d05 Small doc grammar fix 2022-04-04 00:20:33 -07:00
Thom Chiovoloni
46def6d67e Improve the docs for opening the connection a bit 2022-04-03 22:08:50 -07:00
gwenn
af8cd1caec
Merge pull request #1152 from thomcc/expose-changes
Expose `sqlite3_changes` (or `sqlite3_changes64` if available)
2022-04-04 06:36:10 +02:00
Thom Chiovoloni
9699b4a210 Fix non-bundled tests against macOS system SQLite 2022-04-03 11:12:38 -07:00
Thom Chiovoloni
899784379b
Expose sqlite3_changes (or sqlite3_changes64 if available) 2022-04-03 08:13:27 -07:00
gwenn
5e2c103a0c
Add some missing wrappers (#1139)
* Add some missing wrappers:

sqlite3_value_subtype
sqlite3_result_subtype
sqlite3_changes64
sqlite3_db_readonly
sqlite3_txn_state
sqlite3_stmt_isexplain
sqlite3_vtab_config
sqlite3_index_info.idxFlags
sqlite3_index_info.colUsed
sqlite3_index_info.idxStr
sqlite3_vtab_collation

* Mark series VTab as innocuous and csv as direct only
2022-03-17 19:58:02 +01:00
gwenn
69a40526d5 Introduce SqlInputError with offset 2022-03-13 17:31:07 +01:00
Thom Chiovoloni
74e4fa008e Make the example code in the crate docs be the same as the README 2022-03-10 13:07:06 -08:00
Thom Chiovoloni
2ec0b2e8fe Implement Params for tuples of ToSql up to size 16, and touch up docs 2022-03-10 13:07:06 -08:00
gwenn
65668a46e4 Add constants introduced by SQLite 3.38.0
SQLITE_STMTSTATUS_FILTER_MISS
SQLITE_STMTSTATUS_FILTER_HIT
SQLITE_INDEX_CONSTRAINT_LIMIT
SQLITE_INDEX_CONSTRAINT_OFFSET
2022-02-26 09:55:17 +01:00
link2xt
81795e90b4 Uncomment config::DbConfig::SQLITE_DBCONFIG_RESET_DATABASE 2022-01-16 16:16:39 +00:00
gwenn
34b9519c3e
Merge pull request #1050 from gwenn/clippy_send
Fix clippy warning
2022-01-16 09:00:07 +01:00
gwenn
d6d8adb54e
Merge pull request #1096 from thomcc/limit-cleanup
Move Limits enum from libsqlite3-sys into rusqlite
2022-01-09 15:37:49 +01:00
Thom Chiovoloni
d67c0e09dd Remove the SQLite version check 2022-01-09 01:57:13 -08:00
Thom Chiovoloni
9cbe5a5e89
Move Limits enum from libsqlite3-sys into rusqlite 2022-01-08 16:45:35 -08:00
gwenn
cc4f059d9b Merge remote-tracking branch 'origin/master' into ptr_as_ptr 2022-01-06 18:20:01 +01:00
gwenn
e1fd731cb0 clippy::unseparated_literal_suffix 2022-01-06 05:07:27 -08:00
gwenn
c10e2f39ef clippy::single_match_else 2022-01-06 04:56:59 -08:00
gwenn
68f41d6e9e clippy::semicolon_if_nothing_returned 2022-01-06 04:56:42 -08:00
gwenn
406ac6a7fc clippy::must_use_candidate 2022-01-06 04:56:24 -08:00
gwenn
bcfe99578b clippy::map_unwrap_or 2022-01-06 04:55:27 -08:00
gwenn
576a8a96f6 clippy::default_trait_access 2022-01-06 04:55:07 -08:00
gwenn
b5aa6f7984 clippy::redundant_closure_for_method_calls 2022-01-06 04:54:51 -08:00
gwenn
48975e015f clippy::let_underscore_drop 2022-01-06 04:54:39 -08:00
gwenn
01c4be82c8 clippy::doc_markdown 2022-01-06 04:54:10 -08:00
gwenn
6f8e509763 Oops 2022-01-05 20:12:52 +01:00
gwenn
43591154b2 clippy:ptr_as_ptr 2022-01-05 19:50:25 +01:00
Thom Chiovoloni
230c76fe66 Fix a minor clippy complaint from nightly clippy 2022-01-04 21:15:18 -08:00
Thom Chiovoloni
519684a744 cleanup unlock_notify code a bit 2022-01-04 21:15:18 -08:00
trevyn
c759bc7527 Consolidate to FromSqlError::InvalidBlobSize (breaking) 2022-01-02 18:24:56 -08:00
trevyn
7f09d295ba Add ToSql/FromSql for [u8; N] 2022-01-02 18:24:56 -08:00
Nicholas Bishop
94cd2cbf6b Fix markdown rendering of Connection::transaction doc
This fixes `DropBehavior::Commit` being rendered as `DropBehavior: :Commit`.
2021-12-30 15:45:23 -05:00
gwenn
f177ee1c72 Sync series with official source 2021-12-22 19:49:33 +01:00
gwenn
0ce15c546a Fix clippy warnings 2021-12-18 08:42:04 +01:00
gwenn
4ceb290235 Fix rollback_hook doc 2021-12-11 12:10:01 +01:00
Thom Chiovoloni
287b0ea08b Undo transition to edition 2021, prep release 0.26.3 2021-12-08 17:06:01 -08:00
gwenn
28da7a2ad9 Fix clippy warning
warning: this implementation is unsound, as some fields in `Connection` are `!Send`
   --> src/lib.rs:339:1
339 | unsafe impl Send for Connection {}
2021-12-04 10:07:56 +01:00
gwenn
934e0c709e Fix callbacks lifetime 2021-12-01 04:28:09 -08:00
gwenn
612158507e Fix callbacks lifetime 2021-12-01 04:28:09 -08:00
gwenn
30f8c8c502 Fix callbacks lifetime 2021-12-01 04:28:09 -08:00
gwenn
9acc6f85f0 Rustfmt 2021-11-28 09:41:54 +00:00
gwenn
e65fd1e8e4 Ignore dcl_type case 2021-11-28 09:38:24 +00:00
gwenn
19d0887179 Add new SQLITE_OPEN_EXRESCODE flag 2021-11-28 09:08:52 +00:00
Lukas Himbert
289b4e45b2 implement FromSql for chrono::DateTime<FixedOffset> 2021-11-22 21:09:25 -08:00
Lukas Himbert
53e74a3f09 preserve offset when writing chrono::DateTime<FixedOffset> 2021-11-22 21:09:25 -08:00
Daan Schutte
ca41531f6f Add missing import 2021-11-22 09:10:37 -08:00
Daan Schutte
40fbc5ca10 Include varying positional param types in docs 2021-11-22 09:10:37 -08:00
gwenn
5d42ba7c29
Merge pull request #912 from Genomicsplc/fix-needless-update-warning
silence clippy::needless-update warning in vtab module creation functions
2021-10-23 16:57:45 +02:00
gwenn
b1257cdb79 Fix error: docs for unsafe trait missing # Safety section 2021-10-21 19:50:03 +02:00
gwenn
99aded446d Fix error: the item TryInto is imported redundantly 2021-10-21 19:48:38 +02:00
gwenn
2f508e7a38 Fix error: the item TryFrom is imported redundantly 2021-10-21 19:20:44 +02:00
gwenn
ce90b519bb Fix clippy warnings 2021-10-01 20:09:48 +02:00
Toby Murray
8a88ba647c 'restricts' -> 'restrictions' 2021-09-23 06:49:58 -07:00
Thom Chiovoloni
b612c6d727 Make load_extension unsafe 2021-09-06 16:28:04 -07:00
Paweł Kubrak
ca37ea2569 Add as_type_or_null to ValueRef 2021-08-17 19:21:59 -07:00
Thom Chiovoloni
e92e8a0924 Use a generic ToSql param in pragma functions 2021-08-01 11:12:08 -07:00
gwenn
9eb97aa9dd
Merge pull request #970 from gwenn/time-fmt
Fix FromSql impl for OffsetDateTime
2021-07-31 11:41:55 +02:00
gwenn
0241350af3 Check Rfc3339 before stripping Z
So that "2013-10-07T08:23:19Z" and "2013-10-07T08:23:19.120Z" are
correctly parsed.
2021-07-31 11:05:42 +02:00
gwenn
7e74952e2e
Merge pull request #1006 from gwenn/constraints_and_usages
Iterate on both index constraint and usage
2021-07-31 10:01:37 +02:00
gwenn
b3f8c283f1 Merge remote-tracking branch 'upstream/master' into time-fmt 2021-07-30 21:24:51 +02:00
gwenn
6f4283be94 Iterate on both index constraint and usage 2021-07-29 19:48:34 +02:00
Thom Chiovoloni
db914abd00 Make the empty placeholder params be Send + Sync 2021-07-28 13:45:28 -04:00
gwenn
187d1fec07 Merge remote-tracking branch 'upstream/master' into remove_check_macro
# Conflicts:
#	src/blob/pos_io.rs
2021-07-27 18:36:44 +02:00
gwenn
01b52990da
Merge pull request #988 from gwenn/error_handle
Retrieve error message from database connection handle
2021-07-27 18:31:42 +02:00
gwenn
569893531e
Merge pull request #987 from gwenn/checked_memory_handle
[Cosmetic] Replace some usages of checked_memory_handle
2021-07-27 18:20:02 +02:00
gwenn
50097e1e44 Fix unused import 2021-07-27 18:17:07 +02:00
Jiahao XU
0241cb0388 Fix the typename used in doc for VTab and VTabCursor
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2021-07-25 22:30:44 -04:00
gwenn
2dea70304d Retrieve error message from database connection handle 2021-07-04 16:53:40 +02:00
gwenn
7ddf1316a2 Replace some usages of checked_memory_handle
In tests which return Result, we don't need to unwrap.
2021-07-04 16:04:13 +02:00
gwenn
7056e656ac Remove check macro
Can be replaced by a simple function and ? operator.
2021-07-04 15:52:31 +02:00
gwenn
1970b60109 Add minimal test for cache_flush 2021-07-03 17:03:58 +02:00
gwenn
653e64ab98 Access to sqlite3_db_cacheflush via Connection
Fix #984
2021-07-03 16:41:55 +02:00
Thom Chiovoloni
15d3ae30e3 Add a helper function for getting the byte data from a value ref regardless of if its Text or Blob 2021-07-02 17:12:05 -07:00
gwenn
dcaa67a617
Merge pull request #973 from gwenn/doc_cfg
Use #[doc(cfg)]
2021-06-30 18:07:54 +02:00
gwenn
0c348c9eb0 Fix clippy warning 2021-06-28 19:05:37 +02:00
gwenn
5730b2f952 Fix clippy warnings 2021-06-25 18:57:25 -07:00
gwenn
b14e326181 Use format_description macro 2021-06-14 21:34:05 +02:00
gwenn
fc9f03c1ca Make tests more succint by using Rfc3339 string 2021-06-14 20:49:59 +02:00
gwenn
2ddbebad97 Merge remote-tracking branch 'origin/master' into doc_cfg 2021-06-14 20:19:23 +02:00
gwenn
781d5b9fdd
Merge pull request #975 from gwenn/authorizer
Fix AuthContext / Authorization visibility
2021-06-14 19:54:22 +02:00
gwenn
83e8c96ae9 Fix InnerConnection::authorizer visibility 2021-06-14 19:26:09 +02:00
gwenn
73fd16958e Fix missing docs 2021-06-13 10:57:01 +02:00
gwenn
a2756ffbb0 Fix AuthContext / Authorization visibility
Fix #972
Breaking change: Action is not visible from root anymore
2021-06-13 10:46:00 +02:00
gwenn
9cdf80f3ca Fix InnerConnection decode_result / changes
Fix #931
2021-06-13 10:39:36 +02:00
gwenn
0312937d6a Use #[doc(cfg)]
Fix #835
2021-06-13 09:17:35 +02:00
gwenn
bcf28fec35 Fix FromSql impl for OffsetDateTime
Fix test doc
2021-06-12 18:54:29 +02:00
gwenn
125f5dfbde Fix FromSql impl for OffsetDateTime
Use time 0.3.0-alpha-1
2021-06-12 18:29:01 +02:00
gwenn
5baaa9a224 Fix FromSql impl for OffsetDateTime
Reveal bugs
2021-06-12 12:04:10 +02:00
gwenn
78e4036f90 Fix FromSql impl for OffsetDateTime
See 'Missing datetime format support' #968
2021-06-11 21:42:02 +02:00
dubiousjim
8770e7d443
Add bundle-sqlcipher and bundle-ssl (#860)
Co-authored-by: Thom Chiovoloni <chiovolonit@gmail.com>
2021-06-02 12:07:56 -07:00
Thom Chiovoloni
a2d48a8c15
Add a function to return the path of a Connection (#963) 2021-05-29 22:48:48 -07:00
gwenn
df02910660
Implement AsRef<Statement> for Row(s) (#887) 2021-05-26 14:51:28 +02:00
Nick Hynes
48e7561af9
Add support for authorizer hook (#946)
Co-authored-by: Thom Chiovoloni <chiovolonit@gmail.com>
2021-05-23 11:55:07 -07:00
gwenn
1985e78fa6
Fix clippy warnings (#959)
Fix clippy warnings
2021-05-13 08:58:46 +02:00
Thom Chiovoloni
cdce75328e Fix build on some older versions of Rust 2021-05-08 22:56:19 -07:00
gwenn
cd40cc330b
Rustfmt (#956) 2021-05-07 19:39:53 +02:00
Dirk Stolle
c33d6bfad3 fix several typos 2021-05-02 23:03:10 -07:00
Nick Hynes
b8b1138fcf Add Statement::parameter_name 2021-04-26 01:16:10 -07:00
gwenn
6c956bb270
Test that extra_check feature works with RETURNING statements (#932)
Test that extra_check feature works with RETURNING statements
2021-04-04 12:47:21 +02:00
gwenn
517ef2beae
Prepare release 0.25.0 (#930)
rusqlite 0.25.0
libsqlite3-sys 0.22.0
Also fix missing README for libsqlite3-sys crate
And fix a typo.
2021-04-03 20:07:53 +02:00
gwenn
c4b398f468
Doctest column name reference (#918)
* Doctest column name reference
* Document rusqlite assumption on column name reference
And move doctest as a test.
* Document when columns metadata should be extracted.
* Rustfmt doc (wrap_comments)
2021-04-03 11:03:50 +02:00
Nick Hynes
ecbc0aa767
Leniently parse rfc3339 timezones (#928) 2021-04-03 10:56:11 +02:00
gwenn
ed3bfbdf9d
Silent some clippy warnings (#924)
* allow(clippy::upper_case_acronyms) for rust enum entries that match
  SQLite constants.
* allow(clippy::needless_return) for collation_needed_callback until we
  find a way to propagate the error.
2021-03-25 21:06:46 +01:00
Joshua C. Randall
1b8af31f32 silence clippy::needless-update warning whe the ffi bindings specify exactly the set of sqlite3_module fields we explicitly list 2021-03-08 20:19:25 +00:00
gwenn
c9cc639080 Add tests adapted from official SQLite tests 2021-03-06 12:55:25 +01:00
gwenn
73bf68f851 Merge remote-tracking branch 'upstream/master' into series 2021-03-06 12:38:10 +01:00
Thom Chiovoloni
bd736b2634 Fix nightly non_fmt_panic warning 2021-03-02 18:19:11 -08:00
gwenn
e1eed94bef Fix clippy warnings
Allow `unnecessary_wraps` for `check_update` and `check_no_tail`.
Remove `check_readonly` (`sqlite3-parser` may help).
2021-02-28 13:19:58 +01:00
gwenn
5e79126a60 Rustfmt 2021-02-28 12:58:59 +01:00
gwenn
1acd753a63 Sync series with official source 2021-02-28 12:43:46 +01:00
Thom Chiovoloni
19b0772f3f Make it clear bind_in is not public, and inline functions passing large arrays by value to avoid too much copying 2021-01-31 16:18:48 -08:00
gwenn
91d6ce7a52 Fix unstable tests when machine is slow 2021-01-30 12:55:00 +01:00
gwenn
4f175d5748 Fix DateTime format 2021-01-29 22:03:50 +01:00
gwenn
afcdc2b43a Use most concise syntax for params 2021-01-19 21:16:08 +01:00
gwenn
70742651b1 Fix CI build
clippy::unnecessary_wraps is not stable yet
2021-01-02 13:43:12 +01:00
gwenn
2319165b59 Fix clippy warnings 2021-01-02 10:49:29 +01:00
gwenn
e154ccb606
Rename get_raw to get_ref_unwrap and get_raw_checked to get_ref (#838)
* test `From<FromSqlError> for Error`
* Rename get_raw to get_ref_unwrap and get_raw_checked to get_ref
2020-12-22 21:34:30 +01:00
Thom Chiovoloni
73f59a3a38
Merge pull request #866 from phiresky/pass-context-to-aggregate 2020-12-19 12:47:13 -08:00
phiresky
0221266f2e make init return result 2020-12-19 12:15:18 +01:00
phiresky
7c83680231 fix lints 2020-12-18 23:11:23 +01:00
phiresky
d4f8242d0c format 2020-12-18 13:54:38 +01:00
phiresky
9d2e936eb8 formatting and tests 2020-12-18 13:53:13 +01:00
phiresky
eff747b756 format 2020-12-18 13:52:07 +01:00
phiresky
25c817413b pass context to finalize function 2020-12-18 13:30:11 +01:00
phiresky
1309c563c7 add get_connection method to function context 2020-12-18 13:24:03 +01:00
phiresky
2cffca874c pass context to aggregate init function 2020-12-18 13:11:39 +01:00
Mahmoud Al-Qudsi
73754bbe24 [docs] Document default busy_timeout/busy_handler
Include a note in the documentation for both `busy_handler()` and
`busy_timeout()` explaining the current default behavior (with a
disclaimer indicating that this behavior should not be relied upon as it
is an implementation detail that may change).
2020-12-02 17:20:50 -06:00
Mahmoud Al-Qudsi
2dab6d8364 [docs] Fix over-long monospacing of SQLITE_BUSY 2020-12-02 17:06:46 -06:00
gwenn
3aeb5d7e08 Remove obsolete doc section
`FromSql` / `ToSql` are now implemented for i64 and usize
2020-11-22 09:37:52 +01:00
gwenn
32ee895b63 Remove some usages of params! / NO_PARAMS 2020-11-22 09:37:00 +01:00
gwenn
6fae5d6641 Add/fix rustdoc links 2020-11-22 09:34:03 +01:00
kud1ing
7beba0c6eb Document that optional() requires import of rusqlite::OptionalExtension
Document that `optional()` requires import of `rusqlite::OptionalExtension`.
2020-11-20 18:09:47 -08:00
gwenn
0649df96ea Fix non-autolinks warnings 2020-11-07 12:32:41 +01:00
gwenn
9ae66e363e
Merge pull request #840 from gwenn/IndexConstraintOp
Remove #[non_exhaustive] attribute on IndexConstraintOp
2020-11-07 12:20:15 +01:00
gwenn
3388fd1683 Remove #[non_exhaustive] attribute on IndexConstraintOp 2020-11-07 12:02:33 +01:00
gwenn
47ec0e1d8f Fix create_collation
The xDestroy callback is not called if the sqlite3_create_collation_v2() function fails.
2020-11-07 11:54:59 +01:00
gwenn
bbd1ff5fb0 Try to fix CI build 2020-11-05 22:24:55 +01:00
gwenn
549ceb59e2 Try to fix CI build 2020-11-05 22:21:02 +01:00
gwenn
da94f8eba6 Make tests return Result 2020-11-05 22:14:00 +01:00
Thom Chiovoloni
65c38bf813 Add #[inline] and #[cold] in far more places 2020-11-04 07:59:23 -08:00