mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-13 15:22:57 +00:00
69 lines
1.8 KiB
Rust
69 lines
1.8 KiB
Rust
// Copyright 2024 Lance Developers.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
use lazy_static::lazy_static;
|
|
|
|
// TODO import from lance-jni without duplicate
|
|
#[macro_export]
|
|
macro_rules! ok_or_throw {
|
|
($env:expr, $result:expr) => {
|
|
match $result {
|
|
Ok(value) => value,
|
|
Err(err) => {
|
|
Error::from(err).throw(&mut $env);
|
|
return JObject::null();
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
macro_rules! ok_or_throw_without_return {
|
|
($env:expr, $result:expr) => {
|
|
match $result {
|
|
Ok(value) => value,
|
|
Err(err) => {
|
|
Error::from(err).throw(&mut $env);
|
|
return;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! ok_or_throw_with_return {
|
|
($env:expr, $result:expr, $ret:expr) => {
|
|
match $result {
|
|
Ok(value) => value,
|
|
Err(err) => {
|
|
Error::from(err).throw(&mut $env);
|
|
return $ret;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
mod connection;
|
|
pub mod error;
|
|
mod ffi;
|
|
mod traits;
|
|
|
|
pub use error::{Error, Result};
|
|
|
|
lazy_static! {
|
|
static ref RT: tokio::runtime::Runtime = tokio::runtime::Builder::new_multi_thread()
|
|
.enable_all()
|
|
.build()
|
|
.expect("Failed to create tokio runtime");
|
|
}
|