fix JNI bindings

main
Ziyang Hu 2 years ago
parent 8fed2c6297
commit 5b978b257a

113
Cargo.lock generated

@ -184,9 +184,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "axum"
version = "0.6.7"
version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fb79c228270dcf2426e74864cabc94babb5dbab01a4314e702d2f16540e1591"
checksum = "2bd379e511536bad07447f899300aa526e9bae8e6f66dc5e5ca45d7587b7c1ec"
dependencies = [
"async-trait",
"axum-core",
@ -462,9 +462,9 @@ dependencies = [
[[package]]
name = "clang-sys"
version = "1.4.0"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a"
dependencies = [
"glob",
"libc",
@ -494,7 +494,7 @@ checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3"
dependencies = [
"bitflags",
"clap_derive",
"clap_lex 0.3.1",
"clap_lex 0.3.2",
"is-terminal",
"once_cell",
"strsim",
@ -525,9 +525,9 @@ dependencies = [
[[package]]
name = "clap_lex"
version = "0.3.1"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09"
dependencies = [
"os_str_bytes",
]
@ -930,6 +930,19 @@ dependencies = [
"syn",
]
[[package]]
name = "dashmap"
version = "5.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
dependencies = [
"cfg-if 1.0.0",
"hashbrown",
"lock_api",
"once_cell",
"parking_lot_core 0.9.7",
]
[[package]]
name = "delegate"
version = "0.8.0"
@ -1353,13 +1366,14 @@ dependencies = [
[[package]]
name = "graph_builder"
version = "0.3.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ba851e549b0354700eab51c77fc28055936f6565e45c6ecd750f06f6414ac7f"
checksum = "3bed82dbbf80a458a59ee9fa11b03e194e1429b36d94da2ac59356b44eb926d7"
dependencies = [
"atoi",
"atomic",
"byte-slice-cast",
"dashmap",
"delegate",
"fast-float",
"fxhash",
@ -1397,9 +1411,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da3d0613473597a01860f0f802ab18bb019b1d21e33d6a9a0b3c8870084893e5"
dependencies = [
"derive-new",
"prost 0.11.6",
"prost-build 0.11.6",
"prost-types 0.11.6",
"prost 0.11.8",
"prost-build 0.11.8",
"prost-types 0.11.8",
"tempfile",
]
@ -1691,9 +1705,9 @@ dependencies = [
[[package]]
name = "is-terminal"
version = "0.4.3"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef"
checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857"
dependencies = [
"hermit-abi 0.3.1",
"io-lifetimes",
@ -1894,9 +1908,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "memmap2"
version = "0.5.9"
version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2"
checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
dependencies = [
"libc",
]
@ -2665,12 +2679,12 @@ dependencies = [
[[package]]
name = "prost"
version = "0.11.6"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698"
checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537"
dependencies = [
"bytes",
"prost-derive 0.11.6",
"prost-derive 0.11.8",
]
[[package]]
@ -2693,9 +2707,9 @@ dependencies = [
[[package]]
name = "prost-build"
version = "0.11.6"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e"
checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12"
dependencies = [
"bytes",
"heck 0.4.1",
@ -2705,8 +2719,8 @@ dependencies = [
"multimap",
"petgraph 0.6.3",
"prettyplease",
"prost 0.11.6",
"prost-types 0.11.6",
"prost 0.11.8",
"prost-types 0.11.8",
"regex",
"syn",
"tempfile",
@ -2728,9 +2742,9 @@ dependencies = [
[[package]]
name = "prost-derive"
version = "0.11.6"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d"
checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b"
dependencies = [
"anyhow",
"itertools 0.10.5",
@ -2751,12 +2765,11 @@ dependencies = [
[[package]]
name = "prost-types"
version = "0.11.6"
version = "0.11.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788"
checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88"
dependencies = [
"bytes",
"prost 0.11.6",
"prost 0.11.8",
]
[[package]]
@ -2988,15 +3001,6 @@ version = "0.6.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
[[package]]
name = "remove_dir_all"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
"winapi",
]
[[package]]
name = "reqwest"
version = "0.11.14"
@ -3368,9 +3372,9 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
[[package]]
name = "slab"
version = "0.4.7"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
dependencies = [
"autocfg",
]
@ -3512,9 +3516,9 @@ dependencies = [
[[package]]
name = "swift-bridge"
version = "0.1.49"
version = "0.1.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56efa62550c6981a0dfc972e49b26843e0840551117486885bce0648a1772ee6"
checksum = "6352623c1855d972fac4cf363d584811f8f0b49b5545466d30c454000d1a3646"
dependencies = [
"swift-bridge-build",
"swift-bridge-macro",
@ -3522,9 +3526,9 @@ dependencies = [
[[package]]
name = "swift-bridge-build"
version = "0.1.49"
version = "0.1.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a43d9323db626fcb4fbf79bb34f10b35508ba701e31e10486955559089cd6168"
checksum = "c5ae9c57795f59d2a2c0b2e7016021a3f4fd915f2fb1e2e69e41639f6ba6bddf"
dependencies = [
"proc-macro2",
"swift-bridge-ir",
@ -3534,9 +3538,9 @@ dependencies = [
[[package]]
name = "swift-bridge-ir"
version = "0.1.49"
version = "0.1.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "764717afda23f5145c78811334207ae31adcd4d666d441703fabfbcb230aca01"
checksum = "c86d036cef9b93d60c4ddc5ca84efe9da6b71e895cea74eb8a05e688dd17f654"
dependencies = [
"proc-macro2",
"quote",
@ -3545,9 +3549,9 @@ dependencies = [
[[package]]
name = "swift-bridge-macro"
version = "0.1.49"
version = "0.1.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dadbeb7081da4bdf77386d240c7fa14e43c97e2d748e1bc3a2f57df5a87dbc2"
checksum = "61fddf7b308da3bb32f916c8e3e6b97c1dbee89317a3e51ee84cdd6e51ae4e20"
dependencies = [
"proc-macro2",
"quote",
@ -3557,9 +3561,9 @@ dependencies = [
[[package]]
name = "syn"
version = "1.0.107"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
@ -3591,16 +3595,15 @@ checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5"
[[package]]
name = "tempfile"
version = "3.3.0"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
dependencies = [
"cfg-if 1.0.0",
"fastrand",
"libc",
"redox_syscall",
"remove_dir_all",
"winapi",
"rustix",
"windows-sys 0.42.0",
]
[[package]]

@ -36,15 +36,15 @@ fn get_db(id: i32) -> Option<DbInstance> {
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_openDb(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
engine: JString,
path: JString,
options: JString,
) -> jint {
let engine: String = env.get_string(engine).unwrap().into();
let path: String = env.get_string(path).unwrap().into();
let options: String = env.get_string(options).unwrap().into();
let engine: String = env.get_string(&engine).unwrap().into();
let path: String = env.get_string(&path).unwrap().into();
let options: String = env.get_string(&options).unwrap().into();
let id = match DbInstance::new(&engine, path, &options) {
Ok(db) => {
let id = HANDLES.current.fetch_add(1, Ordering::AcqRel);
@ -77,14 +77,14 @@ const DB_NOT_FOUND: &str = r#"{"ok":false,"message":"database not found"}"#;
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_runQuery(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
id: jint,
script: JString,
params_str: JString,
) -> jstring {
let script: String = env.get_string(script).unwrap().into();
let params_str: String = env.get_string(params_str).unwrap().into();
let script: String = env.get_string(&script).unwrap().into();
let params_str: String = env.get_string(&params_str).unwrap().into();
match get_db(id) {
None => env.new_string(DB_NOT_FOUND).unwrap().into_raw(),
Some(db) => {
@ -96,12 +96,12 @@ pub extern "system" fn Java_org_cozodb_CozoJavaBridge_runQuery(
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_exportRelations(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
id: jint,
rel: JString,
) -> jstring {
let rel: String = env.get_string(rel).unwrap().into();
let rel: String = env.get_string(&rel).unwrap().into();
match get_db(id) {
None => env.new_string(DB_NOT_FOUND).unwrap().into_raw(),
Some(db) => {
@ -113,12 +113,12 @@ pub extern "system" fn Java_org_cozodb_CozoJavaBridge_exportRelations(
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_importRelations(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
id: jint,
data: JString,
) -> jstring {
let data: String = env.get_string(data).unwrap().into();
let data: String = env.get_string(&data).unwrap().into();
match get_db(id) {
None => env.new_string(DB_NOT_FOUND).unwrap().into_raw(),
Some(db) => {
@ -130,12 +130,12 @@ pub extern "system" fn Java_org_cozodb_CozoJavaBridge_importRelations(
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_backup(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
id: jint,
file: JString,
) -> jstring {
let file: String = env.get_string(file).unwrap().into();
let file: String = env.get_string(&file).unwrap().into();
match get_db(id) {
None => env.new_string(DB_NOT_FOUND).unwrap().into_raw(),
Some(db) => {
@ -147,12 +147,12 @@ pub extern "system" fn Java_org_cozodb_CozoJavaBridge_backup(
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_restore(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
id: jint,
file: JString,
) -> jstring {
let file: String = env.get_string(file).unwrap().into();
let file: String = env.get_string(&file).unwrap().into();
match get_db(id) {
None => env.new_string(DB_NOT_FOUND).unwrap().into_raw(),
Some(db) => {
@ -164,12 +164,12 @@ pub extern "system" fn Java_org_cozodb_CozoJavaBridge_restore(
#[no_mangle]
pub extern "system" fn Java_org_cozodb_CozoJavaBridge_importFromBackup(
env: JNIEnv,
mut env: JNIEnv,
_class: JClass,
id: jint,
data: JString,
) -> jstring {
let data: String = env.get_string(data).unwrap().into();
let data: String = env.get_string(&data).unwrap().into();
match get_db(id) {
None => env.new_string(DB_NOT_FOUND).unwrap().into_raw(),
Some(db) => {

Loading…
Cancel
Save