136 Commits

Author SHA1 Message Date
Yuri Astrakhan
68c3083e34
Add #[derive(Clone, Copy... on some bitflags / enum (#1396)
This will make it easier to use them, e.g. I won't need to re-create `FunctionFlags` for registering multiple similar functions.
2023-12-24 08:54:48 +01:00
gwenn
687aeef3b0 Introduce to_sqlite_error
643c0f699f
One small step to support creating loadable extension
2023-06-08 20:01:17 +02:00
gwenn
602a868783 Fix Clippy warnings 2023-06-03 07:18:43 +02:00
gwenn
0c7629ed70 Add new constants introduced by SQLite 3.42.0 2023-05-31 11:06:56 +02:00
gwenn
eb7fbc57d0 Use ParseCallbacks::item_name to fix sqlite3_index_info_* types 2023-03-25 10:19:56 +01:00
gwenn
6d509afe49 Clippy 2022-10-28 19:02:49 +02:00
gwenn
a37489ec93
Merge pull request #1217 from gwenn/modern_vtab
Include vtablog only with modern_sqlite feature
2022-10-05 19:35:52 +02:00
gwenn
7dab08c4b2 Fix clippy warnings 2022-10-02 11:34:58 +02:00
gwenn
79b6fd6e61 Merge remote-tracking branch 'upstream/master' into modern_vtab
# Conflicts:
#	src/vtab/mod.rs
2022-09-02 20:33:21 +02:00
gwenn
6766d6a6cd Remove old_sqlite feature
And associated bindgen_3.6.8.rs
2022-08-30 13:05:47 -07:00
gwenn
6e740d0611 Change default minimal SQLite API version
From 3.6.8 to 3.14.0.
Use `old_sqlite` feature to keep 3.6.8 (or 3.7.16) as the minimal version.
Use `modern_sqlite` for SQLite API > 3.14.0.
Also remove old 3.6.23 and 3.7.7 bindings.
2022-08-30 13:05:47 -07:00
gwenn
2d9621b8ae Include vtablog only with modern_sqlite feature
Make array, csvtab, series module work with either modern_sqlite or buildtime_bindgen
2022-08-17 19:24:42 +02:00
gwenn
618e9a1274 Clean code
Typos, deprecated code usages, ...
2022-05-29 13:33:51 +02:00
gwenn
d9b79a5f9e Fix clippy warnings (derive_partial_eq_without_eq) 2022-05-29 11:32:47 +02:00
gwenn
33e5f127cf Check current SQLite version while registering module 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
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
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
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
406ac6a7fc clippy::must_use_candidate 2022-01-06 04:56:24 -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
43591154b2 clippy:ptr_as_ptr 2022-01-05 19:50:25 +01: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
gwenn
0ce15c546a Fix clippy warnings 2021-12-18 08:42:04 +01: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
ce90b519bb Fix clippy warnings 2021-10-01 20:09:48 +02:00
gwenn
6f4283be94 Iterate on both index constraint and usage 2021-07-29 19:48:34 +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
0312937d6a Use #[doc(cfg)]
Fix #835
2021-06-13 09:17:35 +02:00
Dirk Stolle
c33d6bfad3 fix several typos 2021-05-02 23:03:10 -07: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
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
2319165b59 Fix clippy warnings 2021-01-02 10:49:29 +01:00
gwenn
6fae5d6641 Add/fix rustdoc links 2020-11-22 09:34:03 +01:00
gwenn
3388fd1683 Remove #[non_exhaustive] attribute on IndexConstraintOp 2020-11-07 12:02:33 +01:00
Thom Chiovoloni
65c38bf813 Add #[inline] and #[cold] in far more places 2020-11-04 07:59:23 -08:00
gwenn
2af75d1f13 VTabCursor lifetime should be bound to VTab lifetime
```c
struct sqlite3_vtab_cursor {
  sqlite3_vtab *pVtab;      /* Virtual table of this cursor */
```
It seems that we need to introduce a lifetime on `VTab` trait
to express such constraint:
https://users.rust-lang.org/t/associated-type-with-lifetime-bound/7256
But there may be another/new way to do it.
2020-06-01 09:48:49 +02:00
gwenn
76fc22c653 Fix missing docs 2020-05-21 00:48:06 -07:00
gwenn
ceb9f11de8 Replace pub(crate) by pub(super) visibilty 2020-05-16 10:18:25 +02:00
Thom Chiovoloni
418ef10af2 Add a wrapper for strings allocated on sqlite heap 2020-04-16 08:21:43 -07:00
Thom Chiovoloni
9322b0e881 Update links & copyright statement 2020-04-15 21:37:39 -07:00
Thom Chiovoloni
c9ef5bd63c Make VTab / VTabCursor unsafe trait as implmenting them on the wrong type is unsound 2020-04-15 10:33:04 -07:00