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
Evgeniy A. Dushistov
d16748ac9f
adding ability to work with sqlite compiled with -DSQLITE_OMIT_DECLTYPE
...
fix #751
2020-06-01 06:31:27 +03:00
gwenn
8cb5b2e585
Document Rows::map and FallibleStreamingIterator impl
...
See
https://www.reddit.com/r/rust/comments/gov817/rusqlite_only_getting_ok_entries_from_query_map/
```
let mut stmt = self
.db
.prepare("SELECT tag FROM tags WHERE tags.entry_id = ?1")?;
let tags = stmt.query(params![id])?;
tags
.map(|res| res.get(0))
.collect()
```
2020-05-24 20:53:52 +02:00
gwenn
e664f82630
Add still missing docs in session module
2020-05-21 00:48:06 -07:00
gwenn
5ebba26a7e
Add missing docs in session module
2020-05-21 00:48:06 -07:00
gwenn
76fc22c653
Fix missing docs
2020-05-21 00:48:06 -07:00
Martin Habovstiak
8a08dff115
Clippy reports redundant closures even in cases in which removing the
...
closure is impossible. See
https://github.com/rust-lang/rust-clippy/issues/5594
Allow this lint until the issue is resolved in clippy or the compiler.
2020-05-21 00:47:52 -07:00
Martin Habovstiak
c5b2efc099
impl TryFrom<&Row<'_>> for (...)
...
This change implements `TryFrom<&Row>` for tuples up to 16 fields. This
is a convenience function that can be used to map rows more easily.
The change includes tests for 1-tuple, 2-tuple and 16-tuple.
2020-05-21 00:47:52 -07:00
gwenn
5565ae5629
Merge pull request #735 from gwenn/extended_result_codes
...
Activate extended result codes asap
2020-05-17 09:53:25 +02:00
gwenn
0060ff8a44
Activate extended result codes asap
2020-05-16 11:01:30 +02:00
gwenn
ceb9f11de8
Replace pub(crate) by pub(super) visibilty
2020-05-16 10:18:25 +02:00
Thom Chiovoloni
12cb228c9c
Fix SqliteMallocString::from_str on arm32
2020-04-23 13:58:50 -07:00
Thom Chiovoloni
d88fe1c1b1
Remove parameter count caching -- should be cheap (if statically linked at least...)
2020-04-16 12:05:56 -07:00
Thom Chiovoloni
a776f460e8
Cache param count and make statement cache more effective
2020-04-16 12:05:56 -07:00
Thom Chiovoloni
6485b324d7
Name fields of RawStatement
2020-04-16 12:05:56 -07:00
Thom Chiovoloni
1207a7cc06
Make clippy behave slightly more reasonably
2020-04-16 08:21:43 -07: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
45fd77ee43
UnlockNotification should hold mutex when calling condvar
2020-04-15 13:52:19 -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
Thom Chiovoloni
3c6b57fe1b
Fix vtab::Module lifetime
2020-04-15 10:33:04 -07:00
Thom Chiovoloni
2327d3b774
Fix format string error in rusqlite::trace::log
2020-04-14 12:23:15 -07:00
Thom Chiovoloni
abbab7216a
Better docs and cleaner SmallCString
2020-04-14 10:26:41 -07:00
Thom Chiovoloni
ac30e169ae
Use SmallCString in most places
2020-04-14 10:26:41 -07:00
Thom Chiovoloni
552416039e
Optimize named params via caching and use of smallvec
2020-04-14 10:26:41 -07:00
Thom Chiovoloni
cf9b6e9ae2
Avoid relying on sqlite to justify str::from_utf8_unchecked
2020-04-14 09:31:29 -07:00
Thom Chiovoloni
1b27ce0541
Docs for new aux api
2020-04-14 08:06:37 -07:00
Thom Chiovoloni
2ef3628dac
Actually fix auxdata api...
2020-04-14 08:06:37 -07:00
Thom Chiovoloni
71b2f5187b
Ensure type use for auxdata is repr(C)
2020-04-14 08:06:37 -07:00
Thom Chiovoloni
38aea89809
Remove implementations of std::error::Error::description
2020-04-12 12:06:53 -07:00
Thom Chiovoloni
5a8108bd86
Implement source
and not cause
for FromSqlError
2020-04-12 12:06:53 -07:00
gwenn
611c8e8b02
Rustfmt
2020-04-11 22:18:22 -07:00
gwenn
4dbfdc85fe
Fix ValueRef::from_value
...
Handle text with internal nuls (#657 )
2020-04-11 22:18:22 -07:00
Thom Chiovoloni
e04426176f
Merge pull request #693 from thomcc/unchecked-transaction
...
Allow opting out of compile-time transaction checking
2020-04-10 10:06:37 -07:00
Thom Chiovoloni
d408e3bcd2
Allow opting out of compile-time transaction checking
2020-04-09 12:39:40 -07:00
Konrad Borowski
c8078dfd1f
Allow non-Unicode file names on Unix-like platforms
2020-04-09 10:35:38 +02:00
Thom Chiovoloni
ca13698273
Revert "Merge pull request #499 from xfix/unix-invalid-unicode"
...
This reverts commit 061748e1f5
, reversing
changes made to cf3cdecf12
.
2020-04-08 10:38:32 -07:00
Thom Chiovoloni
061748e1f5
Merge pull request #499 from xfix/unix-invalid-unicode
...
Allow non-Unicode file names on Unix-like platforms
2020-04-08 10:30:50 -07:00
Thom Chiovoloni
cf3cdecf12
Merge pull request #684 from thomcc/internal-unsafe
...
Clean up internal unsafe code
2020-04-08 10:15:03 -07:00
Thom Chiovoloni
f5c20abaa1
Remove unused vtab_v3 feature while I'm here
2020-04-07 14:28:03 -07:00
Thom Chiovoloni
8f7fc7d976
Avoid using MaybeUninit for pointers
2020-04-07 10:04:18 -07:00
Thom Chiovoloni
53c99f940e
Fix up conventions around unsafe in internal functions
2020-04-07 10:04:18 -07:00
Thom Chiovoloni
c0df911946
Avoid rust-analyzer bug in InnerConnection::new ( #686 )
...
This is a workaround for a false error rust-analyzer gives in
InnerConnection::new. I'm guessing it's because it does some weird
feature stuff. It doesn't change any semantics, but makes working in
`rusqlite` much nicer when using rust-analyzer.
2020-04-07 08:58:41 -07:00
Thom Chiovoloni
5ef73f6c8c
Implement std::error::Error::source instead of cause ( #683 )
2020-04-06 18:12:22 -07:00
Thom Chiovoloni
76336369ed
Fix regression with <Cow<'_, _> as ToSql> ( #681 )
2020-04-06 17:00:15 -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
9b040da029
Add Rows::{mapped,and_then}
to get an Iterator out of a Rows i… ( #676 )
2020-04-06 13:01:39 -07:00
Thom Chiovoloni
0394e114d0
Return an error instead of panicing when parameter count is wron… ( #675 )
...
Fixes #671
2020-04-06 12:47:35 -07:00
Thom Chiovoloni
6f6f7ffd9f
Add #[non_exhaustive]
to enums that might get new variants. ( #673 )
...
This just using them in patterns without a catchall. I left things alone
that seem very unlikely to change (`Value`, `ValueRef`, `DatabaseName`,
etc...). This might help reduce the number of breaking changes we need
(rusqlite is still pre-1.0 so it doesn't really matter that much, but
breaking changes complicate the story around when we can cut releases).
2020-04-06 12:01:39 -07:00
Thom Chiovoloni
3196989f0d
Clarify that the submodules of rusqlite::vtab
are ports ( #672 )
2020-04-06 11:04:45 -07:00