gwenn
fe1150b0cf
Port vtablog
as an example of a writable VTab
2022-04-04 06:24:51 -07:00
gwenn
f04bec2fd5
Updatable eponymous virtual table
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
dcaa67a617
Merge pull request #973 from gwenn/doc_cfg
...
Use #[doc(cfg)]
2021-06-30 18:07:54 +02:00
gwenn
5730b2f952
Fix clippy warnings
2021-06-25 18:57:25 -07:00
gwenn
0312937d6a
Use #[doc(cfg)]
...
Fix #835
2021-06-13 09:17:35 +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
gwenn
0649df96ea
Fix non-autolinks warnings
2020-11-07 12:32:41 +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
Thom Chiovoloni
22121772a2
Deprecate NO_PARAMS in favor of passing an empty array
2020-11-03 19:09:19 -08:00
gwenn
c577a9d801
Lifetime elision
2020-06-01 18:44:02 +02: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
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
Thom Chiovoloni
3c6b57fe1b
Fix vtab::Module lifetime
2020-04-15 10:33:04 -07:00
Thom Chiovoloni
d35dd0e99f
Allow optionally passing an Error parameter to rusqlite::Result
( #678 )
2020-04-06 14:43:06 -07:00
Thom Chiovoloni
3196989f0d
Clarify that the submodules of rusqlite::vtab
are ports ( #672 )
2020-04-06 11:04:45 -07:00
Thom Chiovoloni
6617db59fb
Document which features are required, and add vtab usage examples ( #669 )
2020-04-05 22:15:27 -07:00
gwenn
922228f604
Fix clippy warnings
2020-02-09 11:48:08 +01:00
gwenn
adb904650d
Fix warnings related to deprecated Error::description
2020-01-26 16:57:58 +01:00
gwenn
0cf9ef8514
Fix some clippy warnings
2019-10-13 13:08:33 +02:00
gwenn
d229f0f9e9
Remove #[macro_use] attribute when importing macros
2019-08-09 20:01:44 +02:00
gwenn
ceb1ce4a55
Rustfmt
2019-03-19 20:45:04 +01:00
gwenn
71a2004894
Add Rows::map method
2019-03-10 12:58:20 +01:00
gwenn
6d9ae896b5
Do not panic by default
...
Replace `Row::get` by `Row::get_checked`,
And rename original `Row::get` to `Row::get_unwrap`.
`Stmt::query_map`, `Stmt::query_map_named`, `Stmt::query_row`,
`Conn::query_row` and `Conn::query_row_named` callback parameter must return a `Result`.
2019-02-21 20:48:09 +01:00
gwenn
8862b17340
Fix clippy warnings
2019-02-02 11:37:26 +01:00
gwenn
d874180333
Rust 2018 idioms
2018-12-07 21:57:04 +01:00
gwenn
f04047db01
Rust 2018
2018-10-30 20:15:08 +01:00
gwenn
1598d4bc30
Rustfmt
2018-10-28 08:51:02 +01:00
gwenn
e7e03c3443
Introduce NO_PARAMS constant
...
As suggested here:
https://users.rust-lang.org/t/sql-parameter-values/20469/2
2018-09-16 11:10:19 +02:00
gwenn
c4ae541eac
Take IntoIterator rather than &[&ToSql]
( #312 )
2018-09-16 09:49:23 +02:00
gwenn
5e9c7bac4e
Rustfmt
2018-08-16 18:29:46 +02:00
gwenn
0ccf98d214
Merge remote-tracking branch 'jgallagher/master' into vtab
2018-08-11 13:37:56 +02:00
gwenn
ce9d325ba0
Remove Table
associated type in VTabCursor trait
2018-07-22 10:02:59 +02:00
gwenn
b82a155429
Introduces CreateVTab for non-eponymous VTab
2018-07-22 09:51:06 +02:00
gwenn
669663304e
Refactoring
...
Introduce VTab::destroy.
Let implementation specify the iVersion.
Rename simple_module into read_only_module.
2018-07-16 20:17:53 +02:00
gwenn
fe64d51422
Doc
2018-07-15 10:19:18 +02:00
gwenn
45624dc60b
Clean up
2018-07-14 19:27:45 +02:00
gwenn
ed1bdc0e68
Rustfmt
2018-07-14 19:21:03 +02:00
gwenn
0c371834aa
Remove vtab() function from VTabCursor trait
2018-07-14 19:10:28 +02:00
gwenn
e2df03f474
Remove macros
2018-07-14 18:47:52 +02:00
gwenn
ce39b9a3c0
Introduce VTabConnection and OrderBy
2018-07-09 18:53:52 +02:00
gwenn
ce0c9a6344
Fix clippy warnings
2018-06-28 21:07:05 +02:00
gwenn
6463db906d
Make connect/create return a tuple
2018-06-22 17:20:47 +02:00
gwenn
861e8edb96
Move declare_vtab into Module trait
2018-06-20 20:29:55 +02:00
gwenn
eaee342025
Make connect/create/declare_vtab safe
2018-06-20 20:21:26 +02:00
gwenn
afeb5d4d47
Introduce Module trait to make create_module type safe
2018-06-20 20:01:38 +02:00
gwenn
b8594a0f83
Fix regressions
2018-06-10 19:21:55 +02:00
gwenn
fa64a4d0bf
Draft for carray module in Rust
...
Incomplete support for sqlite3_bind_pointer.
Make Context::set_result return a Result.
Add Values::get_array.
2018-06-10 18:29:38 +02:00
gwenn
b89b574f81
csvtab: use columns
when specified
2018-05-14 19:23:17 +02:00