mirror of
https://github.com/tursodatabase/limbo.git
synced 2025-08-04 01:58:16 +00:00
Implement rust side connect and prepare function
This commit is contained in:
parent
7e78ec448b
commit
0819963b2f
7 changed files with 167 additions and 323 deletions
|
@ -13,11 +13,11 @@ pub enum LimboError {
|
|||
InvalidConnectionPointer,
|
||||
|
||||
#[error("JNI Errors: `{0}`")]
|
||||
JNIErrors(Error)
|
||||
JNIErrors(Error),
|
||||
}
|
||||
|
||||
impl From<limbo_core::LimboError> for LimboError {
|
||||
fn from(value: limbo_core::LimboError) -> Self {
|
||||
fn from(_value: limbo_core::LimboError) -> Self {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
@ -44,53 +44,70 @@ impl From<jni::errors::Error> for LimboError {
|
|||
|
||||
pub type Result<T> = std::result::Result<T, LimboError>;
|
||||
|
||||
/// This struct defines error codes that correspond to the constants defined in the
|
||||
/// Java package `org.github.tursodatabase.LimboErrorCode`.
|
||||
///
|
||||
/// These error codes are used to handle and represent specific error conditions
|
||||
/// that may occur within the Rust code and need to be communicated to the Java side.
|
||||
#[derive(Clone)]
|
||||
pub struct ErrorCode;
|
||||
|
||||
impl ErrorCode {
|
||||
// TODO: change CONNECTION_FAILURE_STATEMENT_IS_DML to appropriate error code number
|
||||
pub const STATEMENT_IS_DML: i32 = -1;
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_OK: i32 = 0;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_ERROR: i32 = 1;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_INTERNAL: i32 = 2;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_PERM: i32 = 3;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_ABORT: i32 = 4;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_BUSY: i32 = 5;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_LOCKED: i32 = 6;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_NOMEM: i32 = 7;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_READONLY: i32 = 8;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_INTERRUPT: i32 = 9;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_IOERR: i32 = 10;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_CORRUPT: i32 = 11;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_NOTFOUND: i32 = 12;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_FULL: i32 = 13;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_CANTOPEN: i32 = 14;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_PROTOCOL: i32 = 15;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_EMPTY: i32 = 16;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_SCHEMA: i32 = 17;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_TOOBIG: i32 = 18;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_CONSTRAINT: i32 = 19;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_MISMATCH: i32 = 20;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_MISUSE: i32 = 21;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_NOLFS: i32 = 22;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_AUTH: i32 = 23;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_ROW: i32 = 100;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_DONE: i32 = 101;
|
||||
|
||||
// types returned by sqlite3_column_type()
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_INTEGER: i32 = 1;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_FLOAT: i32 = 2;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_TEXT: i32 = 3;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_BLOB: i32 = 4;
|
||||
#[allow(dead_code)]
|
||||
pub const SQLITE_NULL: i32 = 5;
|
||||
|
||||
// Limbo custom error codes
|
||||
pub const LIMBO_DATABASE_ALREADY_CLOSED: i32 = 1000;
|
||||
pub const LIMBO_FAILED_TO_PARSE_BYTE_ARRAY: i32 = 1100;
|
||||
pub const LIMBO_FAILED_TO_PREPARE_STATEMENT: i32 = 1200;
|
||||
pub const LIMBO_ETC: i32 = 9999;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue