Commit Graph

172 Commits

Author SHA1 Message Date
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
26c744d0c3
Improve CI test coverage (#670)
* Improve CI test coverage

* Run clippy/rustfmt/rustdoc in CI

* Disable warnings when building bundled sqlite
2020-04-06 10:43:43 -07:00
Thom Chiovoloni
521f8dc481
Prep for libsqlite3-sys 0.17.2 (#667)
This is essentially to get a release out that contains `in_gecko` so
that this library can be used in firefox.

Note: This had temporarially been 0.18.0, but as noted in
https://github.com/jgallagher/rusqlite/pull/619#discussion_r370435032
there isn't an actual need for this, as it isn't a breaking change.

By releasing it as 0.17.2, we can still link rusqlite 0.21 against it,
which lets us avoid needing to cut a release of rusqlite just for a
gecko-specific linkage flag (I imagine there are a few more rusqlite
features we'd want for the next release).
2020-04-06 10:07:55 -07:00
Thom Chiovoloni
a2db66ee3e Add in_gecko feature to libsqlite3-sys to bypass linking. 2020-04-03 13:37:56 -07:00
gwenn
f971c6e625 Fix clippy warnings 2020-03-14 07:41:57 +01:00
gwenn
15fc3b4b71 Clippy + rust fmt 2020-02-22 11:50:00 +01:00
gwenn
2a90073c1e
Merge pull request #629 from gwenn/const
Add missing constants
2020-02-09 12:11:05 +01:00
gwenn
05e87b8d8d Add missing constants 2020-02-09 11:47:01 +01:00
gwenn
9ca29b950e
Merge pull request #627 from gwenn/ignore_path_change
Ignore PATH change
2020-02-09 08:24:41 +01:00
gwenn
b0be8a1536 Upgrade to bindgen 0.53 2020-02-08 11:12:18 +01:00
gwenn
17759a912e Ignore PATH change
Cargo itself changes the PATH.
So `libsqlite3-sys` is always rebuilt on Windows platform.
To avoid this, we ignore PATH change.
If the PATH has been modified in such a way that a different SQLite library is found,
you will have to also modify SQLITE3_LIB_DIR to make cargo rebuild `libsqlite3-sys`

Fix #435.
2020-02-08 10:25:52 +01:00
gwenn
055352f07b
Merge pull request #619 from KamranMackey/master
Upgraded the bundled SQLite version to 3.31.0.
2020-01-26 21:02:09 +01:00
Kamran Mackey
c3f83c281a Upgrade bundled SQLite version to 3.31.0.
Signed-off-by: Kamran Mackey <kamranm1200@gmail.com>
2020-01-26 12:44:03 -07:00
gwenn
cf7e2b5aec Add missing error codes 2020-01-26 18:24:09 +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
dbc25a9fd5 Prepare 0.17.1 of libsqlite3-sys 2020-01-09 19:13:47 +01:00
Thom Chiovoloni
844839d9a5 Allow crates with a direct dep on libsqlite3-sys to know if sqlcipher has been enabled 2020-01-08 04:11:39 -08:00
gwenn
2d25b34428 Fix some Clippy warnings 2019-12-19 20:08:04 +01:00
gwenn
fe81e7bc10
Merge pull request #601 from gwenn/bindgen
Upgrade bindgen to version 0.52
2019-12-14 08:34:42 +01:00
gwenn
cade470f15 Use runtime feature for bindgen
https://github.com/rust-lang/rust-bindgen/issues/1694#issuecomment-565625756
> Are you using default-features = false? I think you need to change to
features = ["dynamic"] if so so that clang is runtime-detected.
Otherwise it needs a relatively-new libclang version.
2019-12-14 08:18:21 +01:00
gwenn
a0551496d8 Upgrade bindgen to version 0.52 2019-12-13 18:21:38 +01:00
Jake McGinty
8e1f70d465
Download sqlite source via HTTPS. 2019-12-05 11:46:23 +09:00
gwenn
8302a50fb8 Fix clippy warnings 2019-11-03 11:19:07 +01:00
gwenn
a7ad3849da Upgrade bundled SQLite version to 3.30.1 2019-10-19 09:16:14 +00:00
gwenn
08e32444c9 Cleanup use statements 2019-08-17 08:18:37 +02:00
gwenn
e4fecf7fb8 Rustfmt 2019-08-09 20:03:46 +02:00
Richard Dodd
a50d37bd3a Handle old versions of visual studio 2019-07-28 17:05:34 +01:00
gwenn
813ec1272e Upgrade dependencies
bindgen 0.51
url 2.0
2019-07-27 09:14:55 +02:00
gwenn
be12a78e60 Upgrade bundled SQLite version to 3.29 2019-07-11 16:27:07 +00:00
gwenn
8070f3cbe6 Remove bindgen defaut features 2019-07-03 21:12:47 +02:00
gwenn
54ccb0d026 Upgrade bindgen to 0.50 2019-07-03 21:06:22 +02:00
gwenn
a52eeb2565 [ci skip] Prepare release 0.19
rusqlite 0.19.0
And libsqlite3-sys 0.15.0
2019-06-26 18:13:41 +02:00
gwenn
b9a4628b47 [ci skip] rustftmt 2019-06-25 20:40:28 +02:00
kpcyrd
73f1ef817f Add bundled-windows feature 2019-06-21 06:43:39 +02:00
gwenn
db74fda4d8 [ci skip] rustfmt 2019-06-02 09:12:51 +02:00
Julius de Bruijn
bf0eea5d60 Rerun build if max vars or exprs change in the env 2019-05-15 20:23:20 +02:00
Julius de Bruijn
d034cd56b7 Get MAX_VARIABLE_NUMBER and EXPR_DEPTH as env variables 2019-05-15 18:41:23 +02:00
Julius de Bruijn
4b9295c186 Increase bundled SQLite variables and depth
We've been hitting the default `MAX_VARIABLE_NUMBER` and
`MAX_EXPR_DEPTH` with quite basic tests here in Prisma. I was able to
run the tests by using the Arch Linux packaged libsqlite3, but when
turning on the bundled version I was able to get my test to crash with
this test project:

https://github.com/pimeys/sqlite_parameter_test

Now taking a look how Arch Linux builds sqlite, I was able to find two
flags fixing the issue:

https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sqlite#n35

I think it would be safe to include them in rusqlite.
2019-05-15 10:33:22 +02:00
gwenn
13ee12cb0c Upgrade bundled SQLite sources to 3.28.0
Also upgrade bindgen to 0.49
2019-04-25 18:50:21 +02:00
gwenn
c0e6a584ad Prepare 0.14.0 release 2019-04-24 18:03:11 +02:00
Thom Chiovoloni
fe80b51e89 Allow specifying both sqlcipher and bundled.
This is useful because currently, when using `rusqlite` in a Cargo
workspace with one crate that uses `sqlcipher` and another that uses
`bundled`, a build error will be triggered by an unqualified `cargo
build` (as cargo will use the union of all features enabled by crates in
the workspace).

Instead of panicing, this just emits a warning, before (mostly) ignoring
that the `bundled` feature was specified. Note: in this configuration,
we still use our bundled bindings, to avoid changing `rusqlite` to
handle this edge case (hence 'mostly').
2019-04-19 11:57:29 -07:00
gwenn
b24f3c5519
Merge pull request #483 from technic/master
Clarify instruction for building with vcpkg
2019-03-25 20:00:36 +01:00
Alex Maystrenko
f702bc0797 rebuild when VCPKGRS_DYNAMIC changes 2019-03-24 21:21:13 +01:00
gwenn
e760344351 Upgrade bundled version to SQLite 3.27.2
And upgrade to bindgen 0.48
2019-03-10 13:49:21 +01:00
Will Davis
9f009fe1e0 Use pkg-config to generate sqlite link dependencies
When built as a static library, sqlite (or sqlcipher) doesn't carry
additional link dependencies with it, and the libsqlite3-sys rlib
doesn't pick them up either. A dependent crate attempting to link
against rusqlite then has to specify these additional link commands,
and even then they need to be specified before the libsqlite3-sys
rlib is specified on the command line.

Fix this by attempting to use pkg-config when the
(SQLITE3|SQLCIPHER)_LIB_DIR is specified, since these builds produce
the pkg-config link dependency information, and the pkg_config crate
can automatically generate the correct link commands using that.

(Additionally, since (SQLITE3|SQLCIPHER)_STATIC is already defined,
or not, the --static flag will be correctly configured for pkg_config)
2019-02-04 22:53:57 -06:00
gwenn
62d5ffe678 Fix some enum representation 2019-02-02 11:04:46 +01:00
gwenn
1c3ad27b2f Upgrade to bindgen 0.47 2019-01-26 10:54:21 +01:00
gwenn
dbc4eef657
Session extension (#459)
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
f9a08d7a5c Prepare for next release 2019-01-06 09:56:55 +01:00
gwenn
8cf11b18b3 Upgrade to bindgen 0.46 2019-01-06 09:55:56 +01:00