Commit Graph

1191 Commits

Author SHA1 Message Date
gwenn
b61c570cdd
Merge pull request #621 from gwenn/dbconfig
Add missing DbConfig entries
2020-01-26 17:36:15 +01:00
gwenn
e266211c48 Add missing DbConfig entries 2020-01-26 17:03:48 +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
gwenn
ea7f0da6ae
Merge pull request #613 from thomcc/modern_sqlite
Separate the `modern_sqlite` and `bundled` features.
2020-01-14 20:40:39 +01:00
Thom Chiovoloni
585797b4d6 Add FromSql for Box<str>, Rc<str> and Arc<str> 2020-01-14 08:26:16 -08:00
Thom Chiovoloni
c70d148542 Remove most of the code using feature=bundled as a version check 2020-01-14 08:11:36 -08:00
arthurprs
cae86b2bfe Fix i32 overflow in Connection::busy_timeout 2019-12-28 20:18:10 +01: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
9484f5c15e
Merge pull request #588 from gwenn/session
Session
2019-11-02 15:21:55 +01:00
gwenn
de9f06f142 Fix ChangesetIter::start_strm
The input reference must still be alive after the function returns
2019-11-02 14:53:32 +01:00
gwenn
fb9fb3790c Fix segfaut by using a cursor instead of a slice. 2019-11-02 10:42:13 +01:00
gwenn
317abe6155 Update README example 2019-11-01 18:27:56 +01:00
gwenn
0693d5f6ce Reactivate session feature
And fix partially x_input.
2019-11-01 09:57:56 +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
8eb844b0c9 Paste relevant section from SQLite documantation 2019-10-29 20:26:35 +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
ec52d44939
Merge pull request #578 from gwenn/cant-open
Cant open
2019-10-19 11:20:56 +02:00
gwenn
15f356e5a7 Merge remote-tracking branch 'jgallagher/master' into cant-open 2019-10-19 10:40:53 +02:00
gwenn
22bdd80b92 Ignore mutex_atomic clippy lint
> This lint cannot detect if the mutex is actually used for waiting
before a critical section.
2019-10-19 10:10:17 +02:00
gwenn
0cf9ef8514 Fix some clippy warnings 2019-10-13 13:08:33 +02:00
Will Dowd
49f48a5c56 Parse Option<T> into Value/ValueRef where applicable 2019-09-27 16:02:37 -04:00
gwenn
104188055e
Merge pull request #568 from gwenn/column_name
Make `column_name()` public and forward all column methods in Row and Rows
2019-09-02 18:29:52 +02:00
Vlad-Shcherbina
81d26ccadb
Fix typo in docs 2019-09-01 12:41:51 +03:00
gwenn
9ce3b82570 Make column_name returns a Result 2019-08-31 12:17:48 +02:00
gwenn
4ffdb07f31 Merge remote-tracking branch 'jgallagher/master' into twistedfall 2019-08-31 10:00:33 +02:00
gwenn
941e36be9d Merge remote-tracking branch 'jgallagher/master' into twistedfall 2019-08-31 09:55:24 +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
Pro
a8d34da2d5 Use the correct (larger) lifetime of the returned column-related references in Row, Rows and Column 2019-08-22 16:53:16 +02:00
Pro
2a8339bda7 Forward all column related methods in Row and Rows 2019-08-22 16:38:43 +02:00
Pro
d46eb23364 Make column_name() public
Changes it's interface to Option<&str> to accommodate for out of bounds index
2019-08-22 16:38:43 +02:00
Pro
692b4b67dc Use expect() instead of unwrap() for string conversion 2019-08-22 16:38:31 +02:00
gwenn
dfcc4511ea Fix Clippy warning 2019-08-17 08:19:19 +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
dcc43fa445 Fix warnings 2019-08-09 20:06:31 +02:00
gwenn
e4fecf7fb8 Rustfmt 2019-08-09 20:03:46 +02:00
gwenn
d229f0f9e9 Remove #[macro_use] attribute when importing macros 2019-08-09 20:01:44 +02:00
Kornel
010794e091 Conversion from FromSqlError to Error
Fixes #555
2019-08-04 21:24:50 +01: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
701389605d Do not assume sqlite3_column_text is valid UTF-8
Fix impact on features
2019-07-24 20:46:53 +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
30b41bed20 Make Module impl Send
Also introduce a dedicated feature for series virtual table.
2019-07-11 19:21:54 +02:00
gwenn
208f3c084b Clippy: fix warnings 2019-07-10 21:10:12 +02:00
Thom Chiovoloni
3aca84c67d
Merge pull request #541 from thomcc/include-column-name-in-type-error
Include the name of the column in InvalidColumnType errors
2019-06-25 18:08:05 -07:00
gwenn
ef036e383c
Merge pull request #539 from gwenn/window-func
Add binding to `sqlite3_create_window_function`
2019-06-25 21:40:21 +02:00
Thom Chiovoloni
4356f5a176 Include the name of the column in InvalidColumnType errors 2019-06-25 12:20:11 -07:00
gwenn
c275cd29e0 Fix tests 2019-06-25 20:47:32 +02:00
gwenn
f1198dd9ff Add binding to sqlite3_create_window_function 2019-06-25 20:33:49 +02:00
gwenn
147168184f rustdoc: example for Connection::open file 2019-06-24 20:05:36 +02:00
gwenn
f6199df9f9 Add binding to sqlite3_collation_needed 2019-06-18 19:03:13 +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
gwenn
ec319b32bb
Merge pull request #526 from gwenn/fix-nightly-build
Fix nightly build
2019-06-02 09:28:34 +02:00
gwenn
bb70718ca1 Fix nightly build
error[E0277]: the type
`std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>`
may contain interior mutability and a reference may not be safely
transferrable across a catch_unwind boundary
2019-06-02 09:04:47 +02:00
gwenn
93b5c10816 Fix warning: the item X is imported redundantly 2019-06-02 08:36:16 +02:00
gwenn
860cf69660 [ci skip] Fix rustdoc
"impl ToSql for NaiveDateTime" documentation is slightly inconsistent
with behavior #519
2019-05-11 13:05:15 +02:00
Richard Dodd
6c837a3f51 Fix other failing case 2019-04-26 15:30:49 +01:00
Richard Dodd (dodj)
5430715982
Fix error when building with uuid and functions features. 2019-04-26 15:15:07 +01:00
Simon Bernier St-Pierre
c42175a424 add support for Uuid 2019-04-08 14:19:42 -04: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
80205da623 Rustfmt + clippy 2019-03-21 19:13:55 +01:00
gwenn
98ca4ad6f4 Try to fix CI builds 2019-03-19 21:01:30 +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
ac0baecfe2
Merge pull request #478 from gwenn/fallible-iterator
Make `Rows` implement `FallibleStreamingIterator`
2019-03-10 13:13:34 +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
5ba6909921 Add optional support for rust-url 2019-03-09 19:16:37 -08: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
32881d7a76 Unify callback parameter signature 2019-02-21 21:14:55 +01: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
fcaf5b9dd8 Fix typos 2019-02-21 18:55:51 +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
364e885b89 Fix warning 2019-02-14 20:53:00 +01:00
gwenn
6ce5c9ddcc Suggest users to use PRAGMA function instead 2019-02-14 20:24:16 +01:00
gwenn
333cc49523
Merge pull request #481 from gwenn/rm-unwrap
Remove unwrap from examples
2019-02-10 09:05:35 +01:00
gwenn
a8b9142d47 Fix Blob example 2019-02-09 08:54:53 +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
1b3a917ac8 Fix nightly warning 2019-02-09 06:42:33 +01:00
gwenn
8abaf6eefe Fix rustdoc examples 2019-02-09 06:38:24 +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
519ef9dc84 Fix rustdoc warnings 2019-02-02 15:18:11 +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
f695f185c2 Fix/suppress warning 'deprecated' 2019-02-02 11:10:58 +01:00
gwenn
20fed1956e Rename some static variables 2019-02-02 11:10:08 +01:00
gwenn
be98290bbd Replace assert! by assert_eq! 2019-02-02 11:09:00 +01:00
gwenn
4c4578851b Remove needless lifetimes 2019-02-02 11:08:04 +01:00
gwenn
62d5ffe678 Fix some enum representation 2019-02-02 11:04:46 +01:00
gwenn
0a46a34e3d Clean examples
Remove `extern crate` usages.
Rustfmt.
2019-01-30 20:14:46 +01:00
gwenn
dbc48fcde9
Merge pull request #470 from rainhead/master
Derive Debug for Transaction
2019-01-30 19:08:53 +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
ef757240c1 Use rusqlite::ffi instead of extern crate libsqlite3_sys 2019-01-29 14:59:41 -08:00
Peter Abrahamsen
a160f360d0 Test that Transaction can be removed from an Rc 2019-01-29 11:01:09 -08:00
Peter Abrahamsen
65c6bff73b
Derive Debug for Transaction 2019-01-26 21:29:42 -08:00
Thom Chiovoloni
9478c490fb Make the libsqlite3_sys as ffi export pub 2019-01-26 14:30:27 -08:00
gwenn
18b8c390ab
Merge pull request #467 from gwenn/changes
Expose sqlite3_changes()
2019-01-26 11:40:24 +01: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
94d5fe55c8 Cargo fix 2019-01-26 10:55:14 +01:00
gwenn
36846387be
Merge pull request #463 from thomcc/safe-get-aux
Make get_aux safe by storing the TypeId with the data.
2019-01-26 10:28:51 +01:00
gwenn
274ea8aec5 Merge remote-tracking branch 'jgallagher/master' into from_handle 2019-01-26 09:59:00 +01:00
Thom Chiovoloni
b6539a0fbf Make get_aux safe by storing the TypeId 2019-01-26 00:52:50 -08:00
gwenn
2603cce5db Rustfmt 2019-01-26 08:17:45 +01:00
gwenn
9b973d01b1 Test parameters binding 2019-01-26 08:17:23 +01:00
Thom Chiovoloni
ec879337af Add support for querying sqlite_stmt_status 2019-01-24 21:43:39 -08:00
gwenn
35e319a62a Fix unused imports in context and session tests 2019-01-20 19:41:33 +01: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
9381e5a11b
Merge pull request #449 from gwenn/catch_unwind
Callbacks must not be able to unwind into sqlite code
2018-12-16 18:10:55 +01:00
gwenn
c926a8a850
Merge pull request #448 from gwenn/i128
Fix compilation error with `functions` and `i128` features
2018-12-16 17:55:48 +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
bd9b850c43 Callbacks must not be able to unwind into sqlite code 2018-12-16 09:40:14 +01:00
gwenn
9dfc56811b Fix compilation error with functions and i128 features 2018-12-16 08:19:54 +01:00
gwenn
75c0fe349a Add xShadowName only if bundled or vtab_v3 activated 2018-12-15 11:53:41 +01:00
gwenn
287e2f5dbc Fix vtab modules
`xShadowName` added
2018-12-15 10:51:02 +01:00
gwenn
d874180333 Rust 2018 idioms 2018-12-07 21:57:04 +01:00
gwenn
dc49b28520 Fix some clippy warnings 2018-12-06 19:00:55 +01:00
gwenn
626118ce07 Merge remote-tracking branch 'jgallagher/master' into 2018 2018-12-06 18:50:21 +01:00
gwenn
000566811f Clippy 2018-11-22 16:53:44 +01:00
gwenn
2b8eee2b83 Fix Timespec FromSql implementations (#431)
Make sure SQLite built-in CURRENT_TIMESTAMP output is
supported.
2018-11-22 16:50:10 +01:00
gwenn
3a178d6d17 Check chrono FromSql implementations
Make sure SQLite built-in CURRENT_DATE/TIME/TIMESTAMP output is
supported.
2018-11-22 16:43:19 +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
e7d3920579 Scoped lints are experimental 2018-11-01 09:56:38 +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
b38fe372b6 [ci skip] fix doc 2018-09-08 11:10:08 +02:00
gwenn
d6b6058849
[ci skip] Fix Transaction doc 2018-09-05 18:08:39 +02:00
gwenn
5e9c7bac4e Rustfmt 2018-08-16 18:29:46 +02:00
gwenn
8c6ce46c17 Make sure scalar functions and hooks outlive the connection 2018-08-15 20:04:01 +02:00
gwenn
4770060396 Make sure scalar functions and hooks are Sendable 2018-08-15 18:30:18 +02:00
gwenn
ec53f19be1 Backup progress callback can be Fn. 2018-08-15 18:00:58 +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
57df0ac3d5
Merge pull request #378 from gwenn/callback
Fix hooks
2018-08-11 12:02:45 +02:00
gwenn
2a29717c5a Fix hooks 2018-08-11 11:14:17 +02:00
gwenn
4c3fa7bd53 Add binding to sqlite3_expanded_sql 2018-08-10 20:52:11 +02:00
gwenn
31de0187a2 Return an InvalidQuery error when SQL is not read only 2018-08-10 20:48:13 +02:00
gwenn
40ef85c2af Fix array module 2018-08-07 19:58:26 +02:00
gwenn
87a0c3abca Merge remote-tracking branch 'jgallagher/master' into callback 2018-08-05 19:51:16 +02:00
gwenn
e8dc412af1 [ci skip] Make test_array_module fails without sanitizer 2018-08-05 16:56:30 +02:00
gwenn
3aca24792c Merge remote-tracking branch 'jgallagher/master' into vtab 2018-08-05 13:26:45 +02:00
gwenn
cea8e5cea2 [ci skip] Array module is buggy
AddressSanitizer: heap-use-after-free on address
2018-08-05 13:22:04 +02:00
gwenn
15ab96bceb [ci skip] Ignore unstable busy tests by default 2018-08-05 11:39:46 +02:00
gwenn
437f7dab42 Refactor hooks 2018-08-05 10:58:00 +02:00
gwenn
7310cac6f5 Use pub(crate) 2018-07-31 22:17:17 +02:00
gwenn
a5403eb05f Replace PRAGMA call by Rust busy_timeout function 2018-07-28 17:04:10 +02:00
gwenn
73ebce5f98 Add binding to sqlite3_busy_timeout and sqlite3_busy_handler. 2018-07-28 17:04:10 +02:00
gwenn
fc37b324b8 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-07-28 16:56:21 +02:00
gwenn
9ecb1eef55
Merge pull request #369 from gwenn/busy
Add binding to sqlite3_busy_timeout and sqlite3_busy_handler.
2018-07-28 16:39:38 +02:00
gwenn
5e1e805b4f Use sqlite3_get_autocommit instead of our own flag/status 2018-07-28 16:04:42 +02:00
gwenn
18953a8798
Merge pull request #367 from kornelski/master
Roll back uncommitable transactions
2018-07-28 15:39:45 +02:00
Kornel
b075592147 Test transaction recovery from sqlite busy error 2018-07-28 12:58:05 +01:00
gwenn
558104de4d Add binding to sqlite3_busy_timeout and sqlite3_busy_handler. 2018-07-28 12:10:57 +02:00
gwenn
5351d88bc0 Cow<str> now implements ToSql. 2018-07-28 08:01:24 +02:00
Kornel
2487b18db0 Avoid keeping transactions unexpectedly open
If transaction can't be automatically committed, roll it back to prevent transaction staying open past the lifetime of the Transaction object

Fixes #366
2018-07-27 17:18:47 +01:00
Kornel
1e29cf4a0f Mark self.committed only after command succeeds
Fixes #366
2018-07-27 17:18:39 +01: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
b93b005604 Add some TODOs 2018-07-17 21:06:08 +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
849dbda5e8 Remove direct dependency on libsqlite3_sys 2018-07-15 16:15:55 +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
823f3c96aa Ensure Virtual tables can be declared outside rusqlite crate
Not sure it is the way to go.
2018-07-14 11:01:19 +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
3b0423353d Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-28 21:01:53 +02:00
gwenn
bb6fa61e68 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-28 20:54:32 +02:00
gwenn
2ea17d0b54 Fix clippy warnings
Calling OpenFlags::default() is more clear than this expression
2018-06-28 20:46:28 +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
2a684384fd Fix clippy warning 2018-06-20 19:12:02 +02:00
gwenn
9c7a5583b9 Fix some clippy warnings
* Rows cannot implement iterator
* DatabaseName is passed by value => Copy ?
2018-06-20 19:07:23 +02:00
gwenn
b135c6d871 Minalist check that there is no memory leak. 2018-06-11 21:39:08 +02:00
gwenn
e040dc9e1f Remove int_array module
Replaced by array module.
2018-06-11 21:33:54 +02:00
gwenn
1a1d41b4e4 Carray module ported to Rust 2018-06-11 21:30:55 +02:00
gwenn
9a96e3a494 Reduce visibility of unsafe methods 2018-06-11 19:51:13 +02:00
gwenn
b8594a0f83 Fix regressions 2018-06-10 19:21:55 +02:00
gwenn
d72c4582d9 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 19:16:20 +02:00
gwenn
e1ba89c310 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 18:49:40 +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
0d0a7bf81f Replace row changes/count type (i32) with usize
Breaking change
2018-05-23 21:23:28 +02:00
gwenn
c6f4ae632a Replace column index/count type (i32) with usize
Breaking change
2018-05-23 21:04:13 +02:00
gwenn
5c44ed79d3 Fix tests 2018-05-23 20:18:18 +02:00
gwenn
b89b574f81 csvtab: use columns when specified 2018-05-14 19:23:17 +02:00
gwenn
b60ffe1940 Sync series with original impl 2018-05-13 19:49:11 +02:00
gwenn
88a7ed5812 Fix clippy warnings 2018-05-13 19:16:12 +02:00
gwenn
370740b17f Oops 2018-05-13 13:03:05 +02:00
gwenn
33b1b19d92 Upgrade to csv 1.0 2018-05-13 12:21:58 +02:00
gwenn
6cbeb6ef59 Introduce context module
To make `set_result` and `report_error` in functions module
visible to vtab module.
2018-05-13 11:44:31 +02:00
gwenn
6855b5052d
Ensure connection can be safely returned to a pool (#353)
* Add binding to sqlite3_get_autocommit.
* Add binding to sqlite3_stmt_busy.
* Disable test_is_busy by default
2018-05-12 18:35:08 +02:00
gwenn
f4beb18904 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-05-12 15:31:16 +02:00
gwenn
89f38b4098
Merge pull request #352 from jgallagher/fix-coherence-issue
merge coherence issue fix
2018-05-12 10:30:57 +02:00
gwenn
58b8b4c95d Introduce Aux associated type 2018-05-06 18:05:02 +02:00
gwenn
2e2b5c41f4 Rustfmt 2018-05-06 17:21:36 +02:00
gwenn
8e6ea05efa Use associated types instead of generics 2018-05-06 17:19:19 +02:00
gwenn
10ba0514e6 Change arguments parsing of CSV module 2018-05-06 12:41:42 +02:00
gwenn
5fa3810a4b Fix Clippy warnings 2018-05-06 08:45:56 +02:00
gwenn
1e3dc542a4 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-05-06 08:00:12 +02:00
gwenn
702e58f744 Fix non-eponymous virtual table declaration
Ensure that xCreate is different from xConnect for non-eponymous
virtual tables (even when the implementation is the same).
2018-05-05 10:33:05 +02:00
gwenn
88f2f3e4bd
Merge pull request #350 from jgallagher/clippy
Fix clippy warnings
2018-05-04 20:44:34 +02:00
gwenn
994d40da26 Fix clippy warnings 2018-05-04 19:55:55 +02:00
gwenn
403e840c4a Fix clippy warnings 2018-05-04 19:05:48 +02:00
gwenn
b0e22fc372 Wait in a loop 2018-05-04 18:07:11 +02:00
gwenn
fee4bfcc86 Merge remote-tracking branch 'jgallagher/master' into unlock-notify 2018-05-04 18:06:41 +02:00
gwenn
30e23cf0a0 Fix features dependencies 2018-04-30 22:09:41 +02:00
gwenn
9c5c9e3c7e Merge remote-tracking branch 'jgallagher/master' into vtab 2018-04-30 22:02:14 +02:00
gwenn
83775ee62d Remove second field from RawStatement
Use sqlite3_db_handle instead
2018-04-03 20:18:51 +02:00
gwenn
7f6d7f3346
Merge pull request #319 from traviscross/fix/datetime-format-rfc3339
Fix date/time format for SQLite, use RFC 3339
2018-04-03 19:45:44 +02:00
gwenn
a0151f9073 Introduce is_locked 2018-03-31 10:22:19 +02:00
gwenn
cccdf9735f Factorize check on code returned by prepare/step. 2018-03-27 21:49:09 +02:00
gwenn
78511d6257
Merge pull request #334 from gwenn/stmt-cache
Fix statement cache
2018-03-27 21:26:42 +02:00
gwenn
50d379b564 Make Statement::column_index case insensitive
Fix #330
2018-03-27 20:07:46 +02:00
gwenn
83c8db2d21 Fix Connection::open documentation (#332) 2018-03-24 10:58:42 +01:00
gwenn
d962ebab55
Merge pull request #325 from rnewman/rnewman/panic
Add DropBehavior::Panic to enforce intentional commit or rollback.
2018-03-24 10:29:02 +01:00
gwenn
c612a44207 Fix errors relative to OpenFlags
Also handle extended error codes.
2018-03-24 10:15:10 +01:00
gwenn
5fd76aa54b Unlock notification
Test added
2018-03-24 08:06:30 +01:00
gwenn
154a70d41b WIP: Unlock Notification
To be tested
2018-03-24 08:06:30 +01:00
gwenn
455e7d4060 WIP: Unlock Notification
To do: unlock_notify_cb
2018-03-24 08:06:30 +01:00
gwenn
5d91fb088f Unlock notification 2018-03-24 08:03:21 +01:00
gwenn
0b85c5a1f2
Merge pull request #266 from gwenn/hooks
Implementation of sqlite3_update_hook #260
2018-03-24 07:33:29 +01:00
gwenn
718b985d86
Merge pull request #338 from gwenn/future-compatibility
Fix tyvar_behind_raw_pointer warnings
2018-03-24 03:14:16 +01:00
gwenn
d2a71a1352 Improve error message when we can't open a database
Ensure the error message contains the database path
2018-03-10 19:17:22 +01:00
gwenn
3b5e224f82 Fix tyvar_behind_raw_pointer warnings 2018-03-10 18:07:30 +01:00
gwenn
db87de4086 Inline csv dependency 2018-03-10 17:05:22 +01:00
gwenn
96e5cf2239 Fix statement cache
SQLite ignores the SQL tail (whitespaces, comments).
We can easily ignore whitespaces by trimming the SQL.
2018-02-17 10:28:20 +01:00
gwenn
4357471197 Fix build errors related to bitflags 2018-01-27 10:32:58 +01:00
gwenn
3aaab1e36f Merge remote-tracking branch 'remotes/jgallagher/master' into vtab 2018-01-20 12:29:07 +01:00
gwenn
96103b0662 Merge remote-tracking branch 'jgallagher/master' into hooks 2018-01-20 10:08:40 +01:00
Richard Newman
2a03c1ad4d Add DropBehavior::Panic to enforce intentional commit or rollback. 2018-01-11 16:52:32 -08:00
Travis Cross
7e280d4e64 Add comment to justify &mut Connection in Transaction
The `Transaction` implementation never actually mutates the
`Connection` reference we give it.  In fact, the `Transaction`
structure itself only requires an immutable connection.  So it can be
surprising to readers that the constructor requires a `&mut
Connection`.  We do this so as to prevent at compile-time nested or
concurrent transactions on the same connection as these are not
allowed by SQLite.

In this commit, we add a comment explaining this nuance.
2017-12-31 10:30:23 +00:00
Travis Cross
5d8a840b5d Fix date/time format for SQLite, use RFC 3339
We implement `ToSql` and `FromSql` for `time::Timespec` values.  Our
documentation indicates that we store the value in the same format
used by SQLite's built-in date/time functions, but this was not
correct.

We were using the format:

    %Y-%m-%d %H:%M:%S:%f %Z

This format cannot be interpreted at all by SQLite's built-in
date/time functions.  There are three reasons for this:

- SQLite supports only two timezone formats: `[+-]HH:MM` and the
  literal character `Z` (indicating UTC)

- SQLite does not support a space before the timezone indicator

- SQLite supports a period (`.`) between the seconds field and the
  fractional seconds field, but not a colon (`:`)

SQLite does support the RFC 3339 date/time format, which is standard
in many other places.  As we're always storing a UTC value, we'll
simply use a trailing `Z` to indicate the timezone, as allowed by RFC
3339.  The new format is:

    %Y-%m-%dT%H:%M:%S.%fZ

To avoid breaking applications using databases with values in the old
format, we'll continue to support it as a fallback for `FromSql`.

[1] https://www.sqlite.org/lang_datefunc.html
[2] https://tools.ietf.org/html/rfc3339
2017-12-24 22:15:31 +00:00
John Gallagher
aa64e2fb33 Remove potentially conflicting impl of ToSqlOutput.
Replace with manual implementations of all the types we provided impls
for before.
2017-12-05 19:40:09 -05:00
John Gallagher
4bfbb5f1fe Fix handful of clippy warnings. 2017-11-17 11:37:23 -07:00
John Gallagher
5f800eb285
Merge pull request #306 from jgallagher/twistedfall-master
Export RowIndex trait to allow external code to be generic over what can index be
2017-11-13 11:33:12 -07:00
John Gallagher
ccf9e6fe6c Merge branch 'master' of https://github.com/twistedfall/rusqlite into twistedfall-master 2017-11-13 08:30:29 -07:00
John Gallagher
6b81979eea Merge branch 'master' of https://github.com/lgarczyn/rusqlite into lgarczyn-master 2017-11-13 08:27:33 -07:00
John Gallagher
217e12fcee
Merge pull request #304 from jgallagher/gwenn-clippy
Fix some clippy warnings
2017-11-13 08:23:52 -07:00
John Gallagher
498faac4db Merge branch 'clippy' of https://github.com/gwenn/rusqlite into gwenn-clippy 2017-11-12 16:27:42 -07:00
John Gallagher
d000aa52d7 Merge branch 'flush_prepared_cached' of https://github.com/edelangh/rusqlite into edelangh-flush_prepared_cached 2017-11-12 16:23:59 -07:00
John Gallagher
4852d826c8 Merge branch 'update-deps' of https://github.com/oherrala/rusqlite into oherrala-update-deps 2017-11-12 15:07:31 -07:00
John Gallagher
08228ec7c6
Merge pull request #283 from king6cong/master
code indent
2017-11-12 15:03:31 -07:00
John Gallagher
b5f57c14c5
Merge pull request #276 from cactorium/master
Add Other variant for the Error type
2017-11-12 15:02:41 -07:00
Ossi Herrala
28d58529b7 Update dependencies
* Gcc crate has been renamed to cc.
* Chrono::UTC has been renamed to Chrono::Utc.
* bitflags 1.0 uses associated constants. So prefix OpenFlags.
2017-10-09 23:25:40 +03:00
Pro
c08ee8be82 Export RowIndex trait to allow external code to be generic over what can index be 2017-09-20 15:34:06 +02:00
gwenn
c842e789bd Merge remote-tracking branch 'jgallagher/master' into vtab 2017-09-11 19:45:22 +02:00
edelangh
ab643c90ce review panic in InnerConnection.drop 2017-09-06 16:50:21 +02:00
gwenn
148dc0baf0 Fix more clippy warnings 2017-08-18 21:26:44 +02:00
edelangh
0d1907887e add cfg for test 2017-07-20 16:40:24 +02:00
gwenn
f7c1a8e7b8 Fix some clippy warnings 2017-07-19 21:26:39 +02:00
edelangh
bdd4f9a1a9 Added drop for Connection to prevent fd leak
Added call to flush_prepared_statement_cache
otherwise InnerConnection receives DatabaseBusy on sqlite3_close
2017-07-19 12:22:31 +02:00
louis
301634add7 fixed timezone issue 2017-07-18 09:56:02 -06:00
louis
6188a6a97c added more tests 2017-07-18 17:46:49 +02:00
louis
8bc97972f8 fixed %F instead of %F:%s 2017-07-18 17:43:25 +02:00
louis
0a114c4436 Fixed loss of time information during string conversion 2017-07-11 17:15:07 +02:00
louis
0d001583b2 Fixed loss of time information during string conversion 2017-07-11 17:01:25 +02:00
king6cong
13a32e4004 code indent 2017-06-02 17:19:39 +08:00
Kelvin Ly
dde762bf0e Rename Error::Other to Error::ToSqlConversionFailure 2017-05-30 19:22:14 -04:00
John Gallagher
20de96083a Merge pull request #280 from jgallagher/to-sql-str-u8
Add ToSql impls for str and [u8].
2017-05-29 13:39:35 -04:00
John Gallagher
3827a835ef Add ToSql impls for str and [u8]. 2017-05-29 11:20:52 -04:00
John Gallagher
4623064f4d Update to bitflags 0.9. 2017-05-29 10:52:19 -04:00
John Gallagher
6b360a11c2 Merge pull request #258 from gwenn/constants
Constants
2017-05-29 10:37:26 -04:00
Kelvin Ly
022f1e8671 Add Other variant for the Error type 2017-05-19 23:48:06 -04:00
gwenn
94670c0119 Rustfmt 2017-05-12 19:18:42 +02:00
gwenn
dfdd42fd09 Bind sqlite3_commit_hook and sqlite3_rollback_hook 2017-05-12 19:14:34 +02:00
gwenn
466b8aab2f Rename row parameter to row_id 2017-05-12 19:12:10 +02:00
gwenn
3e6fffaf94 Due to rust monophormisation, there is no need for double indirection 2017-04-27 18:05:12 +02:00
gwenn
63a444a95f Fix memory leak and add test 2017-04-26 20:12:48 +02:00
gwenn
6eb98afd67 SQLITE_RECURSIVE is not available with SQLite 3.6.8 2017-04-25 21:08:41 +02:00
gwenn
3b575c3b4a Implementation of sqlite3_update_hook #260
First draft (no tested and a memory leak)
2017-04-25 20:58:22 +02:00
gwenn
197d1161c3 Field estimatedRows is not available with SQLite 3.7.7 2017-04-21 21:50:38 +02:00
gwenn
1d684ae653 Merge remote-tracking branch 'jgallagher/master' into vtab 2017-04-21 20:01:04 +02:00
gwenn
9ea48db46f Some open flags are not available in 3.6.8 2017-04-20 20:59:07 +02:00
Aidan Hobson Sayers
7bd969b8fd Fix functions for empty blobs
Expands fix from #175
2017-04-16 16:49:28 +01:00
gwenn
08f96a678e Rustfmt 2017-04-07 19:43:24 +02:00
gwenn
4e5b64fbca Use constants generated by bindgen where possible 2017-04-07 19:36:31 +02:00
John Gallagher
401d1f81e1 Merge pull request #255 from jgallagher/fix-duplicated-constants
Avoid publicly exporting constants from libsqlite3-sys multiple times.
2017-04-05 14:31:31 -04:00
John Gallagher
549373f764 Fix incorrect ffi constant accesses. 2017-04-05 13:58:33 -04:00
John Gallagher
76363cca7e Merge pull request #253 from jgallagher/fix-unused-macro-warning
Fix unused macro warning when compiling tests without `trace` feature.
2017-04-05 13:30:46 -04:00
John Gallagher
4b2a6d2207 Fix unused macro warning when compiling tests without trace feature. 2017-04-05 12:54:58 -04:00
John Gallagher
a1206d5076 Add FromSql/ToSql impls for isize. 2017-04-05 12:52:37 -04:00
gwenn
3889c8d3e0 Merge remote-tracking branch 'jgallagher/master' into vtab 2017-03-09 19:24:43 +01:00
John Gallagher
ec78a2b5fa Reorganize: Extract Row/Rows and helper types into their own mod files. 2017-03-08 17:03:31 -05:00
gwenn
7f0082e44e Merge remote-tracking branch 'jgallagher/master' into vtab 2017-03-08 20:35:07 +01:00
John Gallagher
6bd8516511 Roll convenient.rs into statement.rs. 2017-03-08 11:26:25 -05:00
John Gallagher
5bd7cb37c7 Move named_params.rs into statement.rs, greatly reducing the StatementCrateImpl trait size. 2017-03-08 11:20:43 -05:00
John Gallagher
59159fcb25 Rename execute_() to execute_with_bound_parameters(). 2017-03-08 11:11:05 -05:00
John Gallagher
723fc91a09 Minor refactor to avoid needing to expose Statement::decode_result(). 2017-03-08 11:04:22 -05:00
John Gallagher
38c9a4a159 Reorganize: Extract Statement and its impl into its own module. 2017-03-08 10:48:14 -05:00
gwenn
faa94d1246 Fix clippy warnings
And fix bench.
2017-02-24 20:10:51 +01:00
John Gallagher
39d71810ce Merge branch 'master' into semver-check 2017-02-23 15:36:54 -05:00
Sean Griffin
2c58b3f804 Remove the dependency on libc
Recent versions of bindgen use `std::os::raw` over `libc`, but currently
`libsqlite3-sys` is overriding that. `std::os::raw` is a subset of
`libc` that exports only the relevant type definitions, but not any
functions which require additional linking. This enables
`libsqlite3-sys` to be more easily used on targets that may not have a
libc available (presumably sqlite itself would have been compiled with
musl in that case)
2017-02-16 11:17:24 -05:00
Dominik Miedziński
1b1573c5b2 Fix URL Markdown syntax in Connection docs 2017-02-11 10:50:13 +01:00
John Gallagher
56eee2c13c Perform a runtime check that the SQLite version isn't older than the one we found at build time. 2017-02-09 20:56:51 -05:00
John Gallagher
358cca1638 Clarify support of older SQLite versions. 2017-02-09 20:23:17 -05:00
John Gallagher
4216671fe6 Update for new bindgen output. 2017-02-08 20:40:30 -05:00
John Gallagher
e2d2a689f8 Minor cleanup from rustfmt pass 2017-02-08 19:38:50 -05:00
gwenn
80f822db28 rustfmt v0.7.1 2017-02-08 21:11:15 +01:00
John Gallagher
01b926c27e Trivial tweaks 2017-02-07 19:43:54 -05:00
John Gallagher
509257dfa8 Merge branch 'limits' of https://github.com/gwenn/rusqlite into gwenn-limits 2017-02-07 19:41:30 -05:00
gwenn
7014dd6260 Oops 2017-02-07 19:52:52 +01:00
gwenn
59111b783d Fix tests with old SQLite version (< 3.8.7) 2017-02-07 18:41:14 +01:00
John Gallagher
eb099952ac Expose version(), version_number(), and source_id() functions. 2017-02-06 20:23:16 -05:00
John Gallagher
98da52ce8f Merge branch 'err-code' of https://github.com/gwenn/rusqlite into gwenn-err-code 2017-02-06 19:53:31 -05:00
gwenn
bbd6c73daa Rename get_limit to limit
And do not test default limits, only updated ones
2017-02-06 17:43:32 +01:00
John Gallagher
60e1f3c02f Add more explicit types in unit tests. 2017-02-05 17:30:53 -05:00
gwenn
307431911c Exporting libsqlite3_sys::error::ErrorCode (#218) 2017-02-04 11:33:23 +01:00
gwenn
359ec914d2 Expose limits (#220) 2017-02-04 11:01:38 +01:00
John Gallagher
8054ea4ab8 Derive Clone, Debug, and PartialEq on ToSqlOutput. 2017-01-26 22:02:20 -05:00
reddraggone9
57750fe6a6 Fix doc comment example of FromSql/ToSql
Update a doc test so that it compiles on master. Also remove the ignore
directive so that it runs with the rest of the test suite.
2017-01-24 22:57:42 -06:00
John Gallagher
06583aadf2 fix clippy warnings 2017-01-23 19:46:49 -05:00
John Gallagher
aa6c542202 Add impl ToSql for ToSqlOutput. 2017-01-23 19:42:02 -05:00
John Gallagher
e180ab15ce Fix incomplete match under functions feature 2017-01-22 20:05:06 -05:00
John Gallagher
7c072bf55e impl ToSql for i8,i16,u8,u16,u32 2017-01-22 19:55:49 -05:00
John Gallagher
68ae7de1d5 Update docs on Row::get 2017-01-22 19:42:51 -05:00
John Gallagher
846a59695c Add range-checked FromSql impls for i8, i16, u8, u16, u32. 2017-01-22 19:40:48 -05:00
John Gallagher
1974ee573c Add range checks for i32's FromSql impl. 2017-01-22 19:26:19 -05:00
gwenn
8b9437ff35 Merge remote-tracking branch 'jgallagher/master' into vtab 2017-01-13 21:43:10 +01:00
John Gallagher
b49e1d1a1c Merge pull request #205 from jgallagher/fix-retry-close-failure
Fix close() returning a useful connection on failure.
2017-01-07 12:25:47 -05:00
John Gallagher
6709207453 Fix close() returning a useful connection on failure. 2017-01-06 14:32:27 -05:00
John Gallagher
f30edaf563 Silence another deprecation reexport warning. 2017-01-06 14:25:55 -05:00
gwenn
685694255b Merge remote-tracking branch 'jgallagher/master' into vtab 2017-01-06 18:34:54 +01:00
John Gallagher
0b5d8339e1 Silence warnings about deprecations when exporting deprecated types. 2017-01-06 01:23:51 -05:00
John Gallagher
3af91b36bf Make Connection::close() return the connection on failure. 2017-01-03 20:00:29 -05:00
gwenn
46df930881 Merge remote-tracking branch 'jgallagher/master' into vtab 2016-12-31 09:15:26 +01:00
John Gallagher
4c8b0ab6dd Merge pull request #181 from gwenn/clippy
Fix clippy warnings
2016-12-31 01:23:40 -05:00
John Gallagher
2e140d0684 FromSqlError::cause() returns other error's cause directly (possibly None). 2016-12-31 00:36:52 -05:00
John Gallagher
4181441d63 Merge branch 'master' into gwenn-invalid-column-type 2016-12-31 00:35:47 -05:00
gwenn
bc71c58387 Add Statement.query_row convenient method (#179) 2016-12-31 00:03:55 -05:00
John Gallagher
08d88177e7 Merge branch 'flush-cache' of https://github.com/gwenn/rusqlite into gwenn-flush-cache 2016-12-30 23:55:19 -05:00
John Gallagher
f17fc14a59 Update query_row_named so its closure also takes a &Row instead of a Row 2016-12-30 23:48:04 -05:00
John Gallagher
3815b6beef Merge branch 'query_row' of https://github.com/pfernie/rusqlite into pfernie-query_row 2016-12-30 23:42:38 -05:00
John Gallagher
d1ad61dc41 Merge pull request #178 from gwenn/varparam-usage
Fix issue #177
2016-12-30 23:38:50 -05:00
John Gallagher
4f5abc705a Remove workaround for issue fixed in Rust 1.9. 2016-12-30 23:25:21 -05:00
John Gallagher
0d685af2d5 Merge branch 'master' into safe-tosql 2016-12-30 23:18:32 -05:00
gwenn
8c6f585d52 Fix clippy warnings 2016-12-04 10:18:56 +01:00
gwenn
ffe605150a Ensure cache is flushed when closing the connection
Fix #186
2016-11-04 20:47:28 +01:00
Patrick Fernie
ece7c041e8 change query_row* fns to take Row by reference instead of moving 2016-10-07 12:42:27 -04:00
gwenn
58b7d62517 Introduce IndexConstraintUsage 2016-08-20 12:06:24 +02:00
gwenn
b11a4b1c73 Make index constraints and values iterable 2016-08-20 09:55:25 +02:00
gwenn
8f28ff17b8 Fix rustdoc warnings 2016-08-15 12:41:15 +02:00
gwenn
1d342ef5f3 Test series virtual table 2016-08-15 09:09:38 +02:00
gwenn
b4db5666b6 Misc 2016-08-14 19:57:39 +02:00
gwenn
424a6c0cc8 Add series table-valued-function. 2016-08-14 19:53:47 +02:00
gwenn
3b5bd7abab Introduce IndexConstraintOp 2016-08-14 12:26:05 +02:00
gwenn
4d2e881706 Partial IndexInfo implementation 2016-08-14 11:22:12 +02:00
gwenn
438312c132 Change signature of VTab::best_index 2016-08-14 09:44:37 +02:00
gwenn
505abc0331 Change signature of VTabCursor::filter 2016-08-14 09:31:53 +02:00
gwenn
a90388e6bf Change signature of VTab::best_index 2016-08-14 09:08:42 +02:00
gwenn
c8b09e2ee7 Change VTabCursor::column signature 2016-08-13 17:46:49 +02:00
gwenn
8f079819f7 Change VTabCursor::filter signature 2016-08-13 13:55:30 +02:00
gwenn
0a19cbd16a Change VTabCursor::filter signature 2016-08-13 13:12:48 +02:00
gwenn
59ad638875 Change VTab::create signature 2016-08-13 11:54:19 +02:00
gwenn
b10c52f32f Fix clippy warnings 2016-08-08 15:23:55 +02:00
gwenn
3f55a4583c Merge remote-tracking branch 'jgallagher/master' into vtab 2016-07-02 11:51:42 +02:00
gwenn
038ef2de42 Revert all InvalidColumnType stuff 2016-07-02 11:50:39 +02:00
gwenn
3eb3b22ad5 Merge remote-tracking branch 'jgallagher/master' into vtab 2016-07-02 11:28:59 +02:00
gwenn
a7d27098b7 Fix issue #177 2016-07-02 10:22:47 +02:00
gwenn
9f05147660 Fix issue jgallagher/rusqlite#174 2016-06-13 20:32:39 +02:00
gwenn
95050f10a8 Add test with empty blob (issue #174). 2016-06-13 20:22:21 +02:00
gwenn
e2cf171192 Introduce FromSqlError as specified by John Gallagher 2016-06-02 21:03:25 +02:00
John Gallagher
58b7aea4f7 Merge branch 'release-0.7' into merge-0.7.3 2016-06-01 21:31:26 -04:00
John Gallagher
ad0b823560 Remove sanity check in insert() that could return StatementFailedToInsertRow.
This was intended to detect an `UPDATE` query passed to `insert`, but
incorrectly failed if inserts to different tables caused the same row ID
to be returned from both. `UPDATE`s are no longer detectable.
2016-06-01 20:52:22 -04:00
gwenn
91dc30b04d Simplify InvalidType 2016-05-30 21:20:07 +02:00
gwenn
fb19e718cf Introduce an intermediary InvalidType error.
InvalidType is used where the column/parameter index is not known.
2016-05-30 20:35:56 +02:00
John Gallagher
d43a1abc78 Merge branch 'master' into rust-1.9-reexported-trait-bugfix 2016-05-29 23:54:47 -04:00
John Gallagher
326d8999e8 Merge pull request #169 from jgallagher/deprecated
Use new Rust 1.9 attribute: #[deprecated(since = "...", note = "...")]
2016-05-29 23:42:22 -04:00
John Gallagher
b1b438158d Remove workaround for Rust compiler bug that was fixed in 1.9. 2016-05-29 20:38:46 -04:00
John Gallagher
7c0eba0475 Add since and note for all deprecation tags. 2016-05-29 20:36:20 -04:00
gwenn
6a4eacc927 Simply use cargo clippy 2016-05-28 11:16:55 +02:00
gwenn
f817ec86bc Use new Rust 1.9 attribute: #[deprecated]. 2016-05-26 21:16:09 +02:00
gwenn
cabcaf3dcb Better error reporting on invalid column type. 2016-05-26 21:03:05 +02:00
John Gallagher
bafa85a1a0 Fix clippy warnings. 2016-05-26 00:30:01 -04:00
John Gallagher
f3693a993e rustfmt 2016-05-26 00:28:18 -04:00
John Gallagher
9a6e17b478 Add doc comments to ToSqlOutput. 2016-05-26 00:14:46 -04:00
John Gallagher
2b830fde2d Remove pub re-export of FFI helpers from functions. 2016-05-26 00:14:45 -04:00
John Gallagher
6467815d02 Replace functions::ToResult with ToSql. 2016-05-26 00:14:45 -04:00
John Gallagher
13bff6fab6 Add ToSql impl for bool. 2016-05-26 00:14:45 -04:00
John Gallagher
9125826534 Move types::Value into its own module. 2016-05-26 00:14:45 -04:00
John Gallagher
e4926ac0d7 Rework ToSql to be implementable without unsafe. 2016-05-26 00:14:45 -04:00
John Gallagher
8adb96131b Remove now-unnecessary FFI re-exports. 2016-05-25 19:53:18 -04:00
John Gallagher
2f4990dafd Rename BorrowedValue -> ValueRef. 2016-05-24 21:34:18 -04:00
John Gallagher
d9df23ca90 Fix doc comment example of FromSql implementation. 2016-05-24 20:12:29 -04:00
John Gallagher
0fbfad2452 Remove functions::FromValue.
With the new definition of FromSql, we can reuse it since we can convert
a sqlite3_value into a BorrowedValue.
2016-05-24 20:08:12 -04:00
John Gallagher
4662b9b932 Allow FromSql::<f64> to work on SQLite integer values. 2016-05-24 20:05:32 -04:00
John Gallagher
9d47d5109a Add doc comments for BorrowedValue and friends. 2016-05-24 19:48:26 -04:00
John Gallagher
734f18c985 Impl From for converting Value <-> BorrowedValue 2016-05-24 19:36:38 -04:00
John Gallagher
5b0cdbaa56 Redo FromSql to make implementing it not unsafe.
Pass implementers a BorrowedValue instead of relying on them to use
the FFI interface. We take the responsibility of converting the raw
statement and column index into a BorrowedValue.
2016-05-23 21:49:54 -04:00
John Gallagher
c90cd37c00 Add types::BorrowedValue. 2016-05-23 21:48:56 -04:00
John Gallagher
efc6c89370 Add RawStatement::column_type. 2016-05-23 21:46:51 -04:00
John Gallagher
dccfd7e801 Refactor: Extract ToSql into its own module. 2016-05-22 20:16:54 -04:00
John Gallagher
0e96e2269c Refactor: Extract FromSql into its own module. 2016-05-22 20:01:03 -04:00
gwenn
cbc479c484 Rustfmt 2016-05-20 18:36:44 +02:00
gwenn
0740620ffe Merge remote-tracking branch 'jgallagher/master' into vtab 2016-05-20 18:31:30 +02:00
John Gallagher
8ce2f5888f Document CachedStatement::discard. 2016-05-19 20:36:41 -05:00
John Gallagher
dc1b0e39ed Re-export DropBehavior and SqliteTransactionBehavior. 2016-05-19 20:35:27 -05:00
John Gallagher
d27ed0de63 Re-export Savepoint. 2016-05-19 20:32:17 -05:00
John Gallagher
c4417bee0e Manual fixes for rustfmt overly long lines. 2016-05-19 20:09:40 -05:00
John Gallagher
71aa41c27a rustfmt 2016-05-19 20:04:33 -05:00
gwenn
ef6fcc8976 Merge remote-tracking branch 'jgallagher/master' into vtab 2016-05-19 22:10:58 +02:00
John Gallagher
57d2ae42cf Fix clippy needless_borrow warning 2016-05-19 15:03:01 -05:00
John Gallagher
6f8f2f3910 Fix clippy match_same_arms warning 2016-05-19 15:02:06 -05:00
John Gallagher
342b00303a Merge pull request #155 from jgallagher/fix-nightly-test-failures
Fix doctest failures on rust nightly.
2016-05-19 14:57:16 -05:00
John Gallagher
cacda916f9 Fix doctest failures on rust nightly.
These should've been failing on stable too as they were all wrong.

Closes #154.
2016-05-19 14:25:39 -05:00