Skip to content

Commit d3becb9

Browse files
committed
add initial rusqlite local lib, add method for version number
1 parent e138900 commit d3becb9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+255210
-56
lines changed

docker-compose.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

lib/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
var addon = require('../native');
1+
const addon = require('../native/index.node');
22

3-
console.log(addon.hello());
3+
console.log(addon.version());

native/Cargo.lock

Lines changed: 91 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

native/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@ neon-build = "0.2.0"
1515

1616
[dependencies]
1717
neon = "0.2.0"
18+
19+
[dependencies.rusqlite]
20+
path = "./src/rusqlite"

native/src/lib.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#[macro_use]
22
extern crate neon;
3+
extern crate rusqlite;
34

5+
use rusqlite::version::{version as sqlite_version};
46
use neon::prelude::*;
57

6-
fn hello(mut cx: FunctionContext) -> JsResult<JsString> {
7-
Ok(cx.string("hello node"))
8+
fn version(mut cx: FunctionContext) -> JsResult<JsString> {
9+
Ok(cx.string(sqlite_version()))
810
}
911

10-
register_module!(mut cx, {
11-
cx.export_function("hello", hello)
12+
register_module!(mut m, {
13+
m.export_function("version", version)
1214
});

native/src/rusqlite/.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
libsqlite3-sys/sqlite3/* linguist-vendored

native/src/rusqlite/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/target/
2+
/doc/
3+
Cargo.lock

native/src/rusqlite/.travis.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
sudo: false
2+
3+
language: rust
4+
5+
rust:
6+
- stable
7+
- beta
8+
- nightly
9+
10+
matrix:
11+
fast_finish: true
12+
allow_failures:
13+
- rust: nightly
14+
15+
addons:
16+
apt:
17+
packages: # recommanded versions for rust-bindgen
18+
- llvm-3.9-dev
19+
- libclang-3.9-dev
20+
- libsqlcipher-dev
21+
22+
env: # specify the clang path for rust-bindgen
23+
- LIBCLANG_PATH=/usr/lib/llvm-3.9/lib
24+
25+
script:
26+
- cargo build
27+
- cargo build --features bundled
28+
- cargo build --features sqlcipher
29+
- cargo test
30+
- cargo test --features backup
31+
- cargo test --features blob
32+
- cargo test --features functions
33+
- cargo test --features hooks
34+
- cargo test --features limits
35+
- cargo test --features load_extension
36+
- cargo test --features trace
37+
- cargo test --features chrono
38+
- cargo test --features serde_json
39+
- cargo test --features bundled
40+
- cargo test --features sqlcipher
41+
- cargo test --features i128_blob
42+
- cargo test --features "unlock_notify bundled"
43+
- cargo test --features "array bundled csvtab vtab"
44+
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab"
45+
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab buildtime_bindgen"
46+
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab bundled"
47+
- cargo test --features "backup blob chrono csvtab functions hooks limits load_extension serde_json trace vtab bundled buildtime_bindgen"

native/src/rusqlite/Cargo.toml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[package]
2+
name = "rusqlite"
3+
version = "0.15.0"
4+
authors = ["John Gallagher <[email protected]>"]
5+
description = "Ergonomic wrapper for SQLite"
6+
repository = "https://github.com/jgallagher/rusqlite"
7+
documentation = "http://docs.rs/rusqlite/"
8+
readme = "README.md"
9+
keywords = ["sqlite", "database", "ffi"]
10+
license = "MIT"
11+
categories = ["database"]
12+
13+
[badges]
14+
travis-ci = { repository = "jgallagher/rusqlite" }
15+
appveyor = { repository = "jgallagher/rusqlite" }
16+
maintenance = { status = "actively-developed" }
17+
18+
[lib]
19+
name = "rusqlite"
20+
21+
[features]
22+
load_extension = []
23+
# hot-backup interface: 3.6.11 (2009-02-18)
24+
backup = ["libsqlite3-sys/min_sqlite_version_3_6_23"]
25+
# sqlite3_blob_reopen: 3.7.4
26+
blob = ["libsqlite3-sys/min_sqlite_version_3_7_7"]
27+
# sqlite3_create_function_v2: 3.7.3 (2010-10-08)
28+
functions = ["libsqlite3-sys/min_sqlite_version_3_7_7"]
29+
# sqlite3_log: 3.6.23 (2010-03-09)
30+
trace = ["libsqlite3-sys/min_sqlite_version_3_6_23"]
31+
bundled = ["libsqlite3-sys/bundled"]
32+
buildtime_bindgen = ["libsqlite3-sys/buildtime_bindgen"]
33+
limits = []
34+
hooks = []
35+
i128_blob = ["byteorder"]
36+
sqlcipher = ["libsqlite3-sys/sqlcipher"]
37+
unlock_notify = ["libsqlite3-sys/unlock_notify"]
38+
# xSavepoint, xRelease and xRollbackTo: 3.7.7 (2011-06-23)
39+
vtab = ["libsqlite3-sys/min_sqlite_version_3_7_7", "lazy_static"]
40+
csvtab = ["csv", "vtab"]
41+
# pointer passing interfaces: 3.20.0
42+
array = ["vtab"]
43+
44+
[dependencies]
45+
time = "0.1.0"
46+
bitflags = "1.0"
47+
lru-cache = "0.1"
48+
chrono = { version = "0.4", optional = true }
49+
serde_json = { version = "1.0", optional = true }
50+
csv = { version = "1.0", optional = true }
51+
lazy_static = { version = "1.0", optional = true }
52+
byteorder = { version = "1.2", features = ["i128"], optional = true }
53+
54+
[dev-dependencies]
55+
tempdir = "0.3"
56+
lazy_static = "1.0"
57+
regex = "1.0"
58+
59+
[dependencies.libsqlite3-sys]
60+
path = "libsqlite3-sys"
61+
version = "0.10"
62+
63+
[[test]]
64+
name = "config_log"
65+
harness = false
66+
67+
[[test]]
68+
name = "deny_single_threaded_sqlite_config"
69+
70+
[[test]]
71+
name = "vtab"
72+
73+
[package.metadata.docs.rs]
74+
features = [ "backup", "blob", "chrono", "functions", "limits", "load_extension", "serde_json", "trace", "vtab" ]
75+
all-features = false
76+
no-default-features = true
77+
default-target = "x86_64-unknown-linux-gnu"

0 commit comments

Comments
 (0)