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
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
afcdc2b43a
Use most concise syntax for params
2021-01-19 21:16:08 +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
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
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
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
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
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
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
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
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
gwenn
611c8e8b02
Rustfmt
2020-04-11 22:18:22 -07:00
Thom Chiovoloni
53c99f940e
Fix up conventions around unsafe in internal functions
2020-04-07 10:04:18 -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
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
0c0d45f714
Add APIs allowing separate parameter binding and statement execu… ( #668 )
2020-04-06 10:44:00 -07:00
gwenn
f71ea05603
Handle text with internal nuls
...
Fix insertion and selection (#657 ).
2020-03-25 19:20:05 +01:00
Thom Chiovoloni
8c574be1e3
Revert "don't truncate text columns that contain nul bytes"
...
This reverts commit 004c8f23d4
.
2020-03-24 10:58:09 -07:00
Damien Elmes
004c8f23d4
don't truncate text columns that contain nul bytes
2020-03-23 22:03:31 -07:00
gwenn
1fb00e99b7
Fix error while executing ALTER statement
...
`execute_bacth` should be used for DDL.
`execute` should still work except when `extra-check` feature is
activated.
2020-03-04 20:26:31 +01:00
Thom Chiovoloni
c70d148542
Remove most of the code using feature=bundled
as a version check
2020-01-14 08:11:36 -08:00
gwenn
8302a50fb8
Fix clippy warnings
2019-11-03 11:19:07 +01:00
gwenn
ca5eccfe95
Check that even when sqlite_stmt
is null, there is no panic.
2019-10-30 20:09:27 +01:00
gwenn
edfd7658c3
Segmentation fault on prepare_cached
with an empty query
...
With an empty query is prepared, sqlite3 returns no error but a null pointer.
And then `sqlite3_sql` returns null.
Which make `CStr::from_ptr` crash.
2019-10-29 19:24:18 +01:00
Vlad-Shcherbina
81d26ccadb
Fix typo in docs
2019-09-01 12:41:51 +03:00
gwenn
c6a5fd402c
Merge remote-tracking branch 'jgallagher/master' into tail
2019-08-31 09:30:25 +02:00
gwenn
bcd26ca062
Merge remote-tracking branch 'jgallagher/master' into tail
...
# Conflicts:
# src/inner_connection.rs
# src/lib.rs
2019-08-26 20:41:15 +02:00
gwenn
00d50199a2
Check SQL query passed to execute
...
When `extra_check` feature is activated:
Fail when query has a column count > 0
Or when query is readonly.
2019-08-26 20:21:23 +02:00
gwenn
4db226c0df
Memory leak when using Statement.expanded_sql ( #553 )
...
Memory leak when using Statement.expanded_sql
2019-07-28 08:53:26 +02:00
gwenn
f0ae7b6e9b
Do not assume sqlite3_column_text
is valid UTF-8.
...
Fix Statement::value_ref
2019-07-24 20:08:31 +02:00
gwenn
bd5506899d
Revert last commit
2019-07-23 18:29:50 +02:00
gwenn
f78ac1f2cf
Do not assume sqlite3_column_text
is valid UTF-8.
...
Fix Statement::value_ref
2019-07-22 21:07:53 +02:00
gwenn
031bffffa5
Add query_row_named for prepared statement.
2019-06-12 19:18:57 +02:00
gwenn
38e92159fb
Introduce Statement::columns
...
Return Columns name and type. (#494 )
2019-03-19 20:33:36 +01:00
gwenn
71a2004894
Add Rows::map method
2019-03-10 12:58:20 +01:00
gwenn
59a44cfae5
Merge remote-tracking branch 'jgallagher/master' into fallible-iterator
2019-03-10 11:12:14 +01:00
Thom Chiovoloni
04f900059d
Avoid unnecessary copies/allocations when passing strings to sqlite
2019-02-26 19:47:17 -08: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
8abaf6eefe
Fix rustdoc examples
2019-02-09 06:38:24 +01:00