mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-22 16:29:20 +08:00
572471c40f
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.
47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
sudo: false
|
|
|
|
language: rust
|
|
|
|
rust:
|
|
- stable
|
|
- beta
|
|
- nightly
|
|
|
|
matrix:
|
|
allow_failures:
|
|
- rust: nightly
|
|
|
|
addons:
|
|
apt:
|
|
packages: # recommanded versions for rust-bindgen
|
|
- llvm-3.9-dev
|
|
- libclang-3.9-dev
|
|
- libsqlcipher-dev
|
|
|
|
env: # specify the clang path for rust-bindgen
|
|
- LIBCLANG_PATH=/usr/lib/llvm-3.9/lib
|
|
|
|
script:
|
|
- cargo build
|
|
- cargo build --features bundled
|
|
- cargo build --features sqlcipher
|
|
- cargo test
|
|
- cargo test --features backup
|
|
- cargo test --features blob
|
|
- cargo test --features functions
|
|
- cargo test --features hooks
|
|
- cargo test --features limits
|
|
- cargo test --features load_extension
|
|
- cargo test --features trace
|
|
- cargo test --features chrono
|
|
- cargo test --features serde_json
|
|
- cargo test --features bundled
|
|
- cargo test --features sqlcipher
|
|
- cargo test --features i128_blob
|
|
- cargo test --features "unlock_notify bundled"
|
|
- cargo test --features "array bundled csvtab vtab"
|
|
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab"
|
|
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab buildtime_bindgen"
|
|
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab bundled"
|
|
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab bundled buildtime_bindgen"
|