Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actions/linux/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ runs:
- name: Install cross-compiling GCC
shell: bash
run: |
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu gcc-riscv64-linux-gnu gcc-arm-linux-gnueabihf gcc-i686-linux-gnu

- name: Build binaries
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ jobs:
- name: Test powersync
run: |
cargo test -p powersync_core --features loadable_extension
cargo test -p powersync_core
- name: Check shell
run: |
Expand Down Expand Up @@ -247,4 +247,4 @@ jobs:
- name: Test Core
run: |
cargo valgrind test -p powersync_core --features loadable_extension
cargo valgrind test -p powersync_core
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

45 changes: 15 additions & 30 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,3 @@ keywords = ["sqlite", "powersync"]
license = "Apache-2.0"
homepage = "https://powersync.com"
repository = "https://github.com/powersync-ja/powersync-sqlite-core"

[workspace.dependencies]
sqlite_nostd = { path="./sqlite-rs-embedded/sqlite_nostd" }
6 changes: 2 additions & 4 deletions crates/core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ name = "powersync_core"
crate-type = ["rlib"]

[dependencies]
sqlite_nostd = { workspace=true }
powersync_sqlite_nostd = { version = "=0.4.8", path = "../sqlite_nostd" }
bytes = { version = "1.4", default-features = false }
num-traits = { version = "0.2.15", default-features = false }
num-derive = "0.3"
Expand All @@ -37,9 +37,7 @@ features = []
[features]
default = ["getrandom"]

loadable_extension = ["sqlite_nostd/loadable_extension"]
static = ["sqlite_nostd/static"]
omit_load_extension = ["sqlite_nostd/omit_load_extension"]
static = ["powersync_sqlite_nostd/static"]
# Enable to use the getrandom crate instead of sqlite3_randomness
# Enable for Windows builds; do not enable for WASM
getrandom = ["uuid/v4"]
Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/checkpoint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ use alloc::string::String;
use alloc::vec::Vec;
use core::ffi::c_int;

use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::{Connection, Context, Value};
use serde::Serialize;
use serde_json as json;
use sqlite::ResultCode;
use sqlite_nostd as sqlite;
use sqlite_nostd::{Connection, Context, Value};

use crate::create_sqlite_text_fn;
use crate::error::PowerSyncError;
Expand Down
10 changes: 5 additions & 5 deletions crates/core/src/crud_vtab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ use core::ffi::{CStr, c_char, c_int, c_void};
use serde::Serialize;
use serde_json::value::RawValue;

use powersync_sqlite_nostd::ManagedStmt;
use powersync_sqlite_nostd::{self as sqlite, ColumnType};
use sqlite::{Connection, ResultCode, Value};
use sqlite_nostd::ManagedStmt;
use sqlite_nostd::{self as sqlite, ColumnType};

use crate::error::PowerSyncError;
use crate::ext::SafeManagedStmt;
Expand Down Expand Up @@ -101,7 +101,7 @@ impl VirtualTable {
// Columns are (data TEXT, options INT HIDDEN)
let data = args[0].text();
let flags = match args[1].value_type() {
sqlite_nostd::ColumnType::Null => TableInfoFlags::default(),
sqlite::ColumnType::Null => TableInfoFlags::default(),
_ => TableInfoFlags(args[1].int() as u32),
};

Expand All @@ -114,7 +114,7 @@ impl VirtualTable {
CrudTransactionMode::Simple(simple) => {
// Columns are (op TEXT, id TEXT, type TEXT, data TEXT, old_values TEXT, metadata TEXT, options INT HIDDEN)
let flags = match args[6].value_type() {
sqlite_nostd::ColumnType::Null => TableInfoFlags::default(),
sqlite::ColumnType::Null => TableInfoFlags::default(),
_ => TableInfoFlags(args[6].int() as u32),
};
let op = args[0].text();
Expand Down Expand Up @@ -364,7 +364,7 @@ extern "C" fn update(
// Insert-only virtual table.
// The primary functionality here is in begin, update, commit and rollback.
// connect and disconnect configures the table and allocates the required resources.
static MODULE: sqlite_nostd::module = sqlite_nostd::module {
static MODULE: sqlite::module = sqlite::module {
iVersion: 0,
xCreate: None,
xConnect: Some(connect),
Expand Down
6 changes: 3 additions & 3 deletions crates/core/src/diff.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ extern crate alloc;
use alloc::string::{String, ToString};
use core::ffi::c_int;

use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::{Connection, Context, Value};
use sqlite::ResultCode;
use sqlite_nostd as sqlite;
use sqlite_nostd::{Connection, Context, Value};

use crate::constants::SUBTYPE_JSON;
use crate::create_sqlite_text_fn;
use crate::error::PowerSyncError;
use powersync_sqlite_nostd::bindings::SQLITE_RESULT_SUBTYPE;
use serde_json as json;
use sqlite_nostd::bindings::SQLITE_RESULT_SUBTYPE;

fn powersync_diff_impl(
ctx: *mut sqlite::context,
Expand Down
2 changes: 1 addition & 1 deletion crates/core/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use alloc::{
string::{String, ToString},
};
use num_traits::FromPrimitive;
use sqlite_nostd::{self as sqlite, Connection, Context, ResultCode, context, sqlite3};
use powersync_sqlite_nostd::{self as sqlite, Connection, Context, ResultCode, context, sqlite3};
use thiserror::Error;

use crate::{
Expand Down
2 changes: 1 addition & 1 deletion crates/core/src/ext.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use sqlite_nostd::{Connection, Destructor, ManagedStmt, ResultCode, sqlite3};
use powersync_sqlite_nostd::{Connection, Destructor, ManagedStmt, ResultCode, sqlite3};

pub trait SafeManagedStmt {
fn exec(&self) -> Result<(), ResultCode>;
Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/fix_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ use alloc::string::String;

use crate::create_sqlite_optional_text_fn;
use crate::error::{PSResult, PowerSyncError};
use sqlite_nostd::{self as sqlite, ColumnType, Value};
use sqlite_nostd::{Connection, Context, ResultCode};
use powersync_sqlite_nostd::{self as sqlite, ColumnType, Value};
use powersync_sqlite_nostd::{Connection, Context, ResultCode};

use crate::ext::SafeManagedStmt;
use crate::util::quote_identifier;
Expand Down
6 changes: 3 additions & 3 deletions crates/core/src/json_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ use core::ffi::c_int;
use crate::constants::SUBTYPE_JSON;
use crate::create_sqlite_text_fn;
use crate::error::PowerSyncError;
use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::bindings::{SQLITE_RESULT_SUBTYPE, SQLITE_SUBTYPE};
use powersync_sqlite_nostd::{Connection, Context, Value};
use sqlite::ResultCode;
use sqlite_nostd as sqlite;
use sqlite_nostd::bindings::{SQLITE_RESULT_SUBTYPE, SQLITE_SUBTYPE};
use sqlite_nostd::{Connection, Context, Value};

extern "C" fn powersync_strip_subtype(
ctx: *mut sqlite::context,
Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/kv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ extern crate alloc;
use alloc::string::{String, ToString};
use core::ffi::c_int;

use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::{Connection, Context};
use sqlite::ResultCode;
use sqlite_nostd as sqlite;
use sqlite_nostd::{Connection, Context};

use crate::create_sqlite_optional_text_fn;
use crate::create_sqlite_text_fn;
Expand Down
2 changes: 1 addition & 1 deletion crates/core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ extern crate alloc;
use core::ffi::{c_char, c_int};

use alloc::{ffi::CString, format, rc::Rc};
use powersync_sqlite_nostd as sqlite;
use sqlite::ResultCode;
use sqlite_nostd as sqlite;

use crate::{error::PowerSyncError, state::DatabaseState};

Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/migrations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ use alloc::format;
use alloc::string::{String, ToString};
use alloc::vec::Vec;

use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::{Connection, Context};
use sqlite::ResultCode;
use sqlite_nostd as sqlite;
use sqlite_nostd::{Connection, Context};

use crate::error::{PSResult, PowerSyncError};
use crate::fix_data::apply_v035_fix;
Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/operations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ use crate::sync::line::DataLine;
use crate::sync::operations::insert_bucket_operations;
use crate::sync::storage_adapter::StorageAdapter;
use alloc::vec::Vec;
use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::{Connection, ResultCode};
use serde::Deserialize;
use sqlite_nostd as sqlite;
use sqlite_nostd::{Connection, ResultCode};

use crate::ext::SafeManagedStmt;

Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/operations_vtab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ use alloc::boxed::Box;
use alloc::rc::Rc;
use core::ffi::{c_char, c_int, c_void};

use powersync_sqlite_nostd as sqlite;
use sqlite::{Connection, ResultCode, Value};
use sqlite_nostd as sqlite;

use crate::operations::{
clear_remove_ops, delete_bucket, delete_pending_buckets, insert_operation,
Expand Down Expand Up @@ -115,7 +115,7 @@ extern "C" fn update(
// Insert-only virtual table.
// The primary functionality here is in update.
// connect and disconnect configures the table and allocates the required resources.
static MODULE: sqlite_nostd::module = sqlite_nostd::module {
static MODULE: sqlite::module = sqlite::module {
iVersion: 0,
xCreate: None,
xConnect: Some(connect),
Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/schema/management.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ use alloc::vec::Vec;
use alloc::{format, vec};
use core::ffi::c_int;

use powersync_sqlite_nostd as sqlite;
use powersync_sqlite_nostd::Context;
use sqlite::{Connection, ResultCode, Value};
use sqlite_nostd as sqlite;
use sqlite_nostd::Context;

use crate::error::{PSResult, PowerSyncError};
use crate::ext::ExtendedDatabase;
Expand Down
2 changes: 1 addition & 1 deletion crates/core/src/schema/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ mod management;
mod table_info;

use alloc::{rc::Rc, vec::Vec};
use powersync_sqlite_nostd as sqlite;
use serde::Deserialize;
use sqlite::ResultCode;
use sqlite_nostd as sqlite;
pub use table_info::{
Column, DiffIncludeOld, PendingStatement, PendingStatementValue, RawTable, Table,
TableInfoFlags,
Expand Down
2 changes: 1 addition & 1 deletion crates/core/src/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ use alloc::{
rc::Rc,
string::{String, ToString},
};
use powersync_sqlite_nostd::{self as sqlite, Context};
use sqlite::{Connection, ResultCode};
use sqlite_nostd::{self as sqlite, Context};

use crate::schema::Schema;

Expand Down
4 changes: 2 additions & 2 deletions crates/core/src/sync/checkpoint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use num_traits::Zero;

use crate::sync::line::{BucketChecksum, BucketSubscriptionReason};
use crate::sync::{BucketPriority, Checksum};
use sqlite_nostd::{self as sqlite, Connection, ResultCode};
use powersync_sqlite_nostd::{self as sqlite, Connection, ResultCode};

/// A structure cloned from [BucketChecksum]s with an owned bucket name instead of one borrowed from
/// a sync line.
Expand Down Expand Up @@ -61,7 +61,7 @@ FROM ps_buckets WHERE name = ?;",
let mut failures: Vec<ChecksumMismatch> = Vec::new();
for bucket in buckets {
if bucket.is_in_priority(priority) {
statement.bind_text(1, &bucket.bucket, sqlite_nostd::Destructor::STATIC)?;
statement.bind_text(1, &bucket.bucket, sqlite::Destructor::STATIC)?;

let (add_checksum, oplog_checksum) = match statement.step()? {
ResultCode::ROW => {
Expand Down
6 changes: 3 additions & 3 deletions crates/core/src/sync/interface.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ use alloc::borrow::Cow;
use alloc::boxed::Box;
use alloc::rc::Rc;
use alloc::{string::String, vec::Vec};
use powersync_sqlite_nostd::bindings::SQLITE_RESULT_SUBTYPE;
use powersync_sqlite_nostd::{self as sqlite, ColumnType};
use powersync_sqlite_nostd::{Connection, Context};
use serde::{Deserialize, Serialize};
use sqlite::{ResultCode, Value};
use sqlite_nostd::bindings::SQLITE_RESULT_SUBTYPE;
use sqlite_nostd::{self as sqlite, ColumnType};
use sqlite_nostd::{Connection, Context};

use crate::sync::BucketPriority;
use crate::util::JsonString;
Expand Down
2 changes: 1 addition & 1 deletion crates/core/src/sync/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use alloc::rc::Rc;
use sqlite_nostd::{self as sqlite, ResultCode};
use powersync_sqlite_nostd::{self as sqlite, ResultCode};

mod bucket_priority;
pub mod checkpoint;
Expand Down
Loading