Thom Chiovoloni
6617db59fb
Document which features are required, and add vtab usage examples ( #669 )
2020-04-05 22:15:27 -07:00
gwenn
f71ea05603
Handle text with internal nuls
...
Fix insertion and selection (#657 ).
2020-03-25 19:20:05 +01:00
gwenn
8ddacbb27c
doctest README.md
2020-03-08 15:36:56 +01:00
gwenn
97b2f4cda0
Fix test_execute_select
2020-03-04 20:42:32 +01: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
gwenn
15fc3b4b71
Clippy + rust fmt
2020-02-22 11:50:00 +01:00
gwenn
406cd6d2cf
Merge pull request #630 from gwenn/pr/open-with-vfs
...
add ability to open sqlite connection with specified vfs
2020-02-09 12:54:45 +01:00
gwenn
7d1d6024e9
Factorize code
2020-02-09 12:21:20 +01:00
gwenn
4d58a43b38
Fix compilation errors
2020-02-09 12:08:25 +01:00
gwenn
9e17a0b28e
Merge remote-tracking branch 'upstream/master' into pr/open-with-vfs
...
# Conflicts:
# src/inner_connection.rs
2020-02-09 11:58:49 +01:00
gwenn
922228f604
Fix clippy warnings
2020-02-09 11:48:08 +01:00
gwenn
05e87b8d8d
Add missing constants
2020-02-09 11:47:01 +01:00
gwenn
5565d2e058
Add support to function flags ( #622 )
...
Breaking changes
2020-01-26 18:11:11 +01:00
gwenn
adb904650d
Fix warnings related to deprecated Error::description
2020-01-26 16:57:58 +01:00
gwenn
d1813caa1d
Merge pull request #617 from gwenn/params
...
Fix params macro
2020-01-18 19:29:14 +01:00
gwenn
f8991082da
Fix params macro
...
See #614
2020-01-18 19:04:28 +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
Steven Roose
c162a4516c
Replace deprecated tempdir with tempfile
...
This also removes one dependency on the winapi crate. The current
version of the time crate also depends on winapi, but work is being done
to replace that version with 0.2 to remove the winapi dependency.
2019-11-22 11:12:53 +00:00
gwenn
8302a50fb8
Fix clippy warnings
2019-11-03 11:19:07 +01:00
gwenn
317abe6155
Update README example
2019-11-01 18:27:56 +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
gwenn
15f356e5a7
Merge remote-tracking branch 'jgallagher/master' into cant-open
2019-10-19 10:40:53 +02:00
gwenn
6c838bf544
Ignore test_execute_multiple when no extra check
2019-08-31 09:39:09 +02: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
08e32444c9
Cleanup use statements
2019-08-17 08:18:37 +02:00
gwenn
28a48ec7c1
Check OpenFlags
2019-08-17 08:16:47 +02:00
gwenn
d229f0f9e9
Remove #[macro_use] attribute when importing macros
2019-08-09 20:01:44 +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
208f3c084b
Clippy: fix warnings
2019-07-10 21:10:12 +02:00
Thom Chiovoloni
4356f5a176
Include the name of the column in InvalidColumnType errors
2019-06-25 12:20:11 -07:00
gwenn
147168184f
rustdoc: example for Connection::open file
2019-06-24 20:05:36 +02:00
gwenn
bb7ae7f215
Add binding to sqlite3_create_collation_v2
2019-06-17 19:20:53 +02:00
Joshua C. Randall
1ae02726cf
add ability to open with specified vfs
2019-06-17 10:42:54 +01:00
gwenn
031bffffa5
Add query_row_named for prepared statement.
2019-06-12 19:18:57 +02:00
Thom Chiovoloni
d8074b1ece
impl ToSql for Box<dyn ToSql>. Fixes #500
2019-03-27 19:36:11 -07:00
Konrad Borowski
f5072b8e0f
Allow non-Unicode file names on Unix-like platforms
2019-03-26 10:20:22 +01:00
gwenn
ceb1ce4a55
Rustfmt
2019-03-19 20:45:04 +01:00
gwenn
4703358866
Fix module visibility
2019-03-19 20:43:40 +01: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
gwenn
d94acdc3f4
Merge pull request #476 from gwenn/pragma
...
Ease PRAGMA usage (#273 and #265 )
2019-02-27 18:03:35 +01:00
Thom Chiovoloni
04f900059d
Avoid unnecessary copies/allocations when passing strings to sqlite
2019-02-26 19:47:17 -08:00
gwenn
7be87e950d
Merge remote-tracking branch 'jgallagher/master' into pragma
2019-02-21 21:07:18 +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
1775688ac2
Merge branch 'master' into pragma
2019-02-16 18:52:03 +01:00
gwenn
c1f12c7380
Revert change related to #460
2019-02-16 17:24:56 +01:00
gwenn
d70286e98a
Remove unwrap from examples
2019-02-09 07:16:05 +01:00
gwenn
2c1483f2e7
Merge remote-tracking branch 'jgallagher/master' into fallible-iterator
2019-02-09 06:47:57 +01:00
gwenn
7c5bfb7cc3
Merge pull request #475 from gwenn/db-config
...
Support for sqlite3_db_config #468
2019-02-08 21:38:01 +01:00
gwenn
d93dec52c0
Make Rows
implement FallibleStreamingIterator
2019-02-03 14:01:42 +01:00
gwenn
e9896a7734
Lifetime elision in impl
2019-02-03 11:02:38 +01:00
gwenn
9c00dd01a2
Draft to ease PRAGMA usage ( #273 and #265 )
2019-02-03 09:17:37 +01:00
gwenn
176e4c232b
Support for sqlite3_db_config #468
2019-02-02 15:17:20 +01:00
gwenn
e8e76852bd
Merge remote-tracking branch 'jgallagher/master' into tail
2019-02-02 13:22:40 +01:00
gwenn
c2614b54df
Move InnerConnection in its own module
2019-02-02 12:46:52 +01:00
gwenn
8862b17340
Fix clippy warnings
2019-02-02 11:37:26 +01:00
gwenn
4c4578851b
Remove needless lifetimes
2019-02-02 11:08:04 +01:00
gwenn
0a46a34e3d
Clean examples
...
Remove `extern crate` usages.
Rustfmt.
2019-01-30 20:14:46 +01:00
gwenn
6e0b1e2751
Merge pull request #471 from thomcc/params-macro
...
Add params/named_params macro, and expose ToSql from top level
2019-01-30 18:35:41 +01:00
Thom Chiovoloni
d7c8d43fb4
Add params/named_params macro, and expose ToSql from top level
2019-01-29 15:33:57 -08:00
Thom Chiovoloni
9478c490fb
Make the libsqlite3_sys as ffi
export pub
2019-01-26 14:30:27 -08:00
gwenn
4be7900bab
Rustfmt
2019-01-26 11:02:34 +01:00
gwenn
e4c1f541ae
Expose sqlite3_changes() #460
2019-01-26 11:01:51 +01:00
gwenn
274ea8aec5
Merge remote-tracking branch 'jgallagher/master' into from_handle
2019-01-26 09:59:00 +01:00
Thom Chiovoloni
ec879337af
Add support for querying sqlite_stmt_status
2019-01-24 21:43:39 -08:00
gwenn
dbc4eef657
Session extension ( #459 )
...
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
92a22b7842
sqlite3_db_filename is available in SQLite >= 3.7.10
2019-01-06 14:01:17 +01:00
gwenn
0042f2514f
Introduce Connection::from_handle
2019-01-06 12:58:46 +01:00
gwenn
747a8d36ed
Err partial eq ( #452 )
...
Impl PartialEq for Error
2018-12-19 21:58:33 +01:00
gwenn
5c7104c12f
Improve doc
2018-12-16 11:55:04 +01:00
gwenn
e0db3d16dd
Introduce OptionalExtension
...
Like in Diesel.
2018-12-16 11:15:21 +01:00
gwenn
d874180333
Rust 2018 idioms
2018-12-07 21:57:04 +01:00
gwenn
bcaa929748
Merge remote-tracking branch 'jgallagher/master' into 2018
...
# Conflicts:
# src/lib.rs
# src/statement.rs
2018-11-05 20:04:04 +01:00
gwenn
ccf52b2daa
Replace try!
by ?
2018-11-05 19:09:41 +01:00
gwenn
d44203116a
Merge pull request #426 from gwenn/deprecated
...
Remove deprecated stuff
2018-11-01 11:05:40 +01:00
gwenn
2357acd79e
Remove deprecated stuff
2018-11-01 10:30:18 +01:00
gwenn
495f1d529a
Clippy
2018-11-01 09:40:56 +01:00
gwenn
1262238229
Rustfmt
2018-10-30 20:15:19 +01:00
gwenn
f04047db01
Rust 2018
2018-10-30 20:15:08 +01:00
gwenn
77cb50e000
Check that only one statement is provided ( #397 )
...
Connection.execute
Connection.execute_named
Connection.quer_row
Connection.quer_row_named
2018-10-28 10:29:34 +01:00
gwenn
47d3ac7027
Try to fix test_interrupt #415
...
Use a scalar function to make sure the interrupt is performed
while the statement is running.
2018-10-28 09:54:30 +01:00
gwenn
1598d4bc30
Rustfmt
2018-10-28 08:51:02 +01:00
gwenn
0d08bf5e05
Merge pull request #411 from thomcc/i128_blob
...
Add a feature for storing i128 as blobs.
2018-10-19 21:49:09 +02:00
Thom Chiovoloni
3d82f7199a
Allow getting a ValueRef out of Row and Context, fixes #259
2018-10-18 12:14:38 -07:00
Joe
e109554819
Remove version check when bundled
2018-10-16 01:30:35 +00:00
Thom Chiovoloni
572471c40f
Add a feature for storing i128 as blobs.
...
This is behind the `i128_blob` feature.
Blobs are stored as 16 byte big-endian values, with their most significant bit
flipped. This is so that sorting, comparison, etc all work properly, even with
negative numbers. This also allows the representation to be stable across
different computers.
It's possible that the `FromSql` implementation should handle the case that the
real value is stored in an integer. I didn't do this, but would be willing to
make the change. I don't think we should store them this way though, since I
don't think users would be able to sort/compare them sanely.
Support for `u128` is not implemented, as comparison with i128 values would work
strangely. This also is consistent with `u64` not being allowed, not that I
think that would be reason enough on it's own.
The `byteorder` crate is used if this feature is flipped, as it's quite small
and implements things more or less optimally. If/when `i128::{to,from}_be_bytes`
gets stabilized (https://github.com/rust-lang/rust/issues/52963 ), we should
probably use that instead.
2018-10-08 12:22:28 -07:00
gwenn
7176be2d6d
Merge pull request #408 from thomcc/interrupt_handle
...
Add a method of interrupting a query executing on a separate thread, fixes #407
2018-10-08 18:37:30 +02:00
Thom Chiovoloni
b4565f565a
Add a method of interrupting a query executing on a separate thread, fixes #407
2018-09-26 13:42:30 -07: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
70b59f9c2c
Impossible to execute a pragma in 0.14.0 #400
...
sqlite3_stmt_readonly does not work for PRAGMA.
2018-09-12 22:16:22 +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
c925d1aa97
Rustfmt
2018-08-11 12:48:21 +02:00
gwenn
2a29717c5a
Fix hooks
2018-08-11 11:14:17 +02:00
gwenn
3aca24792c
Merge remote-tracking branch 'jgallagher/master' into vtab
2018-08-05 13:26:45 +02:00
gwenn
7310cac6f5
Use pub(crate)
2018-07-31 22:17:17 +02:00