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
Thom Chiovoloni
7574124233
Format code in doc comments for good measure
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
f0990c38bf
Fix stale doc
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
a312582d11
Ensure empty array Params impl can trigger Error::InvalidParameterCount when needed
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
22121772a2
Deprecate NO_PARAMS in favor of passing an empty array
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
2461ebf62f
Update documentation
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
032aea73b8
Overhaul query API, removing the need for the _named
variants of all functions, and rusqlite::NO_PARAMS
2020-11-03 19:09:19 -08:00
Thom Chiovoloni
c45446ba73
Seal the RowIndex
trait (technically breaking, but unlikely to break anybody)
2020-11-03 19:09:19 -08:00
gwenn
b9ccb252ef
Merge pull request #824 from gwenn/progress_handler
...
Expose query progress information
2020-11-03 18:14:36 +01:00
Thom Chiovoloni
1aeea123dd
Silence clippy's complaint about unelided lifetime in session.rs
2020-11-02 19:34:09 -08:00
gwenn
1103febb1e
Test Batch iterator
2020-10-31 11:11:12 +01:00
gwenn
f3c2b63836
Get rid of fallible iterator trait
2020-10-31 10:47:44 +01:00
gwenn
73323b6b92
Remove Iterator implementation for Batch
...
If Batch implements both `Iterator` and `FaillibleIterator`, `next`
method is ambiguous and must be qualified...
2020-10-29 20:06:47 +01:00
gwenn
b73ca079a8
Implement Iterator for Batch
2020-10-29 20:01:46 +01:00
gwenn
5f5943435e
Remove lazy_static block where possible
2020-10-29 19:51:51 +01:00
Nick Hynes
749266cae9
Reduce required lifetime in create_scalar_function
2020-10-28 23:33:00 -07:00
gwenn
d1ec46182f
Fix Clippy warning
2020-10-28 21:26:36 +01:00
gwenn
b448d95510
Merge remote-tracking branch 'upstream/master' into progress_handler
2020-10-28 21:21:19 +01:00
gwenn
76ad2bf19c
Rustfmt
2020-10-28 21:12:29 +01:00
gwenn
5ce81024c8
Introduce Batch fallible iterator
2020-10-28 21:10:13 +01:00
gwenn
e1072b7f75
Reduce required lifetime
...
Revert lifetime change on table_filter
2020-10-28 20:16:53 +01:00
gwenn
926977846f
Reduce required lifetime
...
Extends #825 to
- create_collation
- commit_hook
- rollback_hook
- update_hook
- table_filter
2020-10-28 19:20:05 +01:00
Tim Hutt
b0ade73f43
Add ToSql implementations for u64 and usize
2020-10-26 23:28:25 -07:00
gwenn
9c954b8cb5
Rustfmt
2020-10-25 12:28:03 +01:00
gwenn
49325296a9
Expose query progress information
...
Add unit tests
2020-10-25 12:20:15 +01:00
gwenn
f5c83af863
Expose query progress information
2020-10-25 11:58:47 +01:00
Tim Hutt
8841187717
Silence clippy
2020-10-24 09:52:05 -07:00
Tim Hutt
f264873999
Cargo format
2020-10-24 09:52:05 -07:00
Tim Hutt
ebcec59969
Implement From/ToSql for more types
...
This implements `FromSql` for `u64`, `usize` and `f32`, and `ToSql` for `f32`.
I also updated the documentation to describe how it currently works, and changed the implementation to use `try_from` for integral casts rather rather than custom code.
Test added.
2020-10-24 09:52:05 -07:00
gwenn
6ae9802fa3
Feature ptr_offset_from #41079 available in 1.47
2020-10-08 21:12:46 +02:00
Thom Chiovoloni
084d1f535d
Replace lru-cache with hashlink
2020-10-06 00:10:22 -07:00
Thom Chiovoloni
587fdeb185
Add write_all_at
for compatibility with FileExt, improve docs a little
2020-10-04 15:48:10 -07:00
Thom Chiovoloni
d61fe36237
Improve pos io test coverage
2020-10-04 15:48:10 -07:00
Thom Chiovoloni
67ee5a0586
Add test coverage for positional blob io
2020-10-04 15:48:10 -07:00
Thom Chiovoloni
7cd909fc14
Add positional blob i/o and adjust blob i/o example docs
2020-10-04 15:48:10 -07:00
gwenn
799b5d3f7b
Rustfmt
2020-10-04 07:39:35 +02:00
gwenn
d2dcc2d987
Fix clippy warning
2020-10-04 07:38:52 +02:00
Michael Sproul
d7e0536b41
Add must_use
attribute to iterators
2020-09-02 16:15:25 +10:00
gwenn
2a7b11320f
Fix clippy warnings
2020-08-17 20:07:56 +02:00
gwenn
a4691db6d0
pragma_update fails with ExecuteReturnedResults
...
Ideally, while executing a batch, we should fail if it contains a SELECT
statement. But currently there is no way to make the distinction between
a SELECT and a PRAGMA which both updates and returns a row.
So we fail only when `extra_check` feature is activated.
2020-08-17 19:30:24 +02:00
Nikhil Benesch
b83d22e2b7
Upgrade to time v0.2 and put it behind a feature flag
...
This also removes the usage of time in the crate's top-level
documentation example, as was done for the README in #625 .
Fix #653 .
2020-07-24 11:28:19 -07:00
Tim
83c038107d
Fix order of parameters in InvalidParameterCount message
...
This prints a message like `Error: Wrong number of parameters passed to query. Got 7, needed 8`, but the numbers were the wrong way around - i.e. it should have printed `Got 8, needed 7` in this case.
2020-07-01 08:38:50 -07:00
Thom Chiovoloni
f79a9ca3ef
Publically expose Map
2020-06-29 09:36:13 -07:00
gwenn
024e2e6bf0
Merge pull request #773 from gwenn/execute_batch
...
Implement our own sqlite3_exec
2020-06-28 06:18:56 +02:00
gwenn
dd886578d2
Implement our own sqlite3_exec
...
Should fix issue related to unlock notify: #767
Caveat: many CString allocated.
2020-06-26 19:35:14 +02:00
gwenn
4114c94585
Clippy
2020-06-26 19:22:20 +02:00
gwenn
57db338537
Rustfmt
2020-06-25 09:45:49 -07:00
gwenn
f37519ad51
Replace execute_batch usages by execute
...
Because execute_batch does not support unlock_notify
2020-06-25 09:45:49 -07:00
Thom Chiovoloni
1c9e381a21
Clippy fixes
2020-06-07 19:18:46 -07:00
Thom Chiovoloni
f7a573e44a
Don't implement Into<RawStatement> for Statement
2020-06-07 19:18:46 -07:00
gwenn
7b08dc9ad5
Try to explain why we need a map function
...
To tranform the fallible streaming iterator.
2020-06-02 19:05:09 +02:00
gwenn
c577a9d801
Lifetime elision
2020-06-01 18:44:02 +02:00
gwenn
52a80f95f7
Merge pull request #754 from gwenn/phantom_data
...
Fix some PhantomData declarations
2020-06-01 11:48:02 +02:00
gwenn
265020e589
Fix some PhantomData declarations
...
Specify the expected type instead of () even if only the lifetime
matters
2020-06-01 10:11:34 +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
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