Skip to content

Commit 0135bc8

Browse files
authored
Bump sqlite3 and sqlite3mc versions (#139)
* Bump sqlite3 verion to 3.51.0 * Bump sqlite3mc verion to 2.2.5 * Update precompiled library and bindings https://github.com/Spxg/sqlite-wasm-rs/actions/runs/19159310226 --------- Co-authored-by: Spxg <17252397+Spxg@users.noreply.github.com>
1 parent 3957bb8 commit 0135bc8

File tree

11 files changed

+10446
-4154
lines changed

11 files changed

+10446
-4154
lines changed

sqlite3/libsqlite3.a

7.19 KB
Binary file not shown.

sqlite3/libwasmuslibc.a

516 Bytes
Binary file not shown.

sqlite3/sqlite3.c

Lines changed: 4244 additions & 1267 deletions
Large diffs are not rendered by default.

sqlite3/sqlite3.h

Lines changed: 303 additions & 110 deletions
Large diffs are not rendered by default.

sqlite3/sqlite3ext.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@ struct sqlite3_api_routines {
368368
int (*set_clientdata)(sqlite3*, const char*, void*, void(*)(void*));
369369
/* Version 3.50.0 and later */
370370
int (*setlk_timeout)(sqlite3*,int,int);
371+
/* Version 3.51.0 and later */
372+
int (*set_errmsg)(sqlite3*,int,const char*);
373+
int (*db_status64)(sqlite3*,int,sqlite3_int64*,sqlite3_int64*,int);
374+
371375
};
372376

373377
/*
@@ -703,6 +707,9 @@ typedef int (*sqlite3_loadext_entry)(
703707
#define sqlite3_set_clientdata sqlite3_api->set_clientdata
704708
/* Version 3.50.0 and later */
705709
#define sqlite3_setlk_timeout sqlite3_api->setlk_timeout
710+
/* Version 3.51.0 and later */
711+
#define sqlite3_set_errmsg sqlite3_api->set_errmsg
712+
#define sqlite3_db_status64 sqlite3_api->db_status64
706713
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
707714

708715
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)

sqlite3/upgrade.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SQLITE=sqlite-amalgamation-3500400
1+
SQLITE=sqlite-amalgamation-3510000
22
curl -O https://sqlite.org/2025/$SQLITE.zip
33
unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.c" > "sqlite3.c"
44
unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.h" > "sqlite3.h"

sqlite3mc/sqlite3mc_amalgamation.c

Lines changed: 5369 additions & 2653 deletions
Large diffs are not rendered by default.

sqlite3mc/sqlite3mc_amalgamation.h

Lines changed: 305 additions & 112 deletions
Large diffs are not rendered by default.

sqlite3mc/upgrade.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SQLITE=sqlite3mc-2.2.4-sqlite-3.50.4-amalgamation
1+
SQLITE=sqlite3mc-2.2.5-sqlite-3.51.0-amalgamation
22
curl -L https://github.com/utelle/SQLite3MultipleCiphers/releases/latest/download/$SQLITE.zip > $SQLITE.zip
33
unzip -p "$SQLITE.zip" "sqlite3mc_amalgamation.c" > "sqlite3mc_amalgamation.c"
44
unzip -p "$SQLITE.zip" "sqlite3mc_amalgamation.h" > "sqlite3mc_amalgamation.h"

src/libsqlite3/sqlite3_bindgen.rs

Lines changed: 107 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,12 @@ extern "C" {
2323
) -> ::std::os::raw::c_int;
2424
}
2525

26-
pub const SQLITE_VERSION: &::std::ffi::CStr = c"3.50.4";
27-
pub const SQLITE_VERSION_NUMBER: i32 = 3050004;
28-
pub const SQLITE_SOURCE_ID: &::std::ffi::CStr = c"2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3";
26+
pub const SQLITE_VERSION: &::std::ffi::CStr = c"3.51.0";
27+
pub const SQLITE_VERSION_NUMBER: i32 = 3051000;
28+
pub const SQLITE_SOURCE_ID: &::std::ffi::CStr = c"2025-11-04 19:38:17 fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744ae4bfa8e74527b";
29+
pub const SQLITE_SCM_BRANCH: &::std::ffi::CStr = c"trunk";
30+
pub const SQLITE_SCM_TAGS: &::std::ffi::CStr = c"release major-release version-3.51.0";
31+
pub const SQLITE_SCM_DATETIME: &::std::ffi::CStr = c"2025-11-04T19:38:17.314Z";
2932
pub const SQLITE_OK: i32 = 0;
3033
pub const SQLITE_ERROR: i32 = 1;
3134
pub const SQLITE_INTERNAL: i32 = 2;
@@ -60,6 +63,9 @@ pub const SQLITE_DONE: i32 = 101;
6063
pub const SQLITE_ERROR_MISSING_COLLSEQ: i32 = 257;
6164
pub const SQLITE_ERROR_RETRY: i32 = 513;
6265
pub const SQLITE_ERROR_SNAPSHOT: i32 = 769;
66+
pub const SQLITE_ERROR_RESERVESIZE: i32 = 1025;
67+
pub const SQLITE_ERROR_KEY: i32 = 1281;
68+
pub const SQLITE_ERROR_UNABLE: i32 = 1537;
6369
pub const SQLITE_IOERR_READ: i32 = 266;
6470
pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
6571
pub const SQLITE_IOERR_WRITE: i32 = 778;
@@ -94,6 +100,8 @@ pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946;
94100
pub const SQLITE_IOERR_DATA: i32 = 8202;
95101
pub const SQLITE_IOERR_CORRUPTFS: i32 = 8458;
96102
pub const SQLITE_IOERR_IN_PAGE: i32 = 8714;
103+
pub const SQLITE_IOERR_BADKEY: i32 = 8970;
104+
pub const SQLITE_IOERR_CODEC: i32 = 9226;
97105
pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
98106
pub const SQLITE_LOCKED_VTAB: i32 = 518;
99107
pub const SQLITE_BUSY_RECOVERY: i32 = 261;
@@ -224,6 +232,7 @@ pub const SQLITE_FCNTL_CKSM_FILE: i32 = 41;
224232
pub const SQLITE_FCNTL_RESET_CACHE: i32 = 42;
225233
pub const SQLITE_FCNTL_NULL_IO: i32 = 43;
226234
pub const SQLITE_FCNTL_BLOCK_ON_CONNECT: i32 = 44;
235+
pub const SQLITE_FCNTL_FILESTAT: i32 = 45;
227236
pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
228237
pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
229238
pub const SQLITE_LAST_ERRNO: i32 = 4;
@@ -464,7 +473,8 @@ pub const SQLITE_DBSTATUS_CACHE_WRITE: i32 = 9;
464473
pub const SQLITE_DBSTATUS_DEFERRED_FKS: i32 = 10;
465474
pub const SQLITE_DBSTATUS_CACHE_USED_SHARED: i32 = 11;
466475
pub const SQLITE_DBSTATUS_CACHE_SPILL: i32 = 12;
467-
pub const SQLITE_DBSTATUS_MAX: i32 = 12;
476+
pub const SQLITE_DBSTATUS_TEMPBUF_SPILL: i32 = 13;
477+
pub const SQLITE_DBSTATUS_MAX: i32 = 13;
468478
pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
469479
pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
470480
pub const SQLITE_STMTSTATUS_AUTOINDEX: i32 = 3;
@@ -474,6 +484,7 @@ pub const SQLITE_STMTSTATUS_RUN: i32 = 6;
474484
pub const SQLITE_STMTSTATUS_FILTER_MISS: i32 = 7;
475485
pub const SQLITE_STMTSTATUS_FILTER_HIT: i32 = 8;
476486
pub const SQLITE_STMTSTATUS_MEMUSED: i32 = 99;
487+
pub const SQLITE_CHECKPOINT_NOOP: i32 = -1;
477488
pub const SQLITE_CHECKPOINT_PASSIVE: i32 = 0;
478489
pub const SQLITE_CHECKPOINT_FULL: i32 = 1;
479490
pub const SQLITE_CHECKPOINT_RESTART: i32 = 2;
@@ -498,6 +509,16 @@ pub const SQLITE_SERIALIZE_NOCOPY: ::std::os::raw::c_uint = 1;
498509
pub const SQLITE_DESERIALIZE_FREEONCLOSE: ::std::os::raw::c_uint = 1;
499510
pub const SQLITE_DESERIALIZE_RESIZEABLE: ::std::os::raw::c_uint = 2;
500511
pub const SQLITE_DESERIALIZE_READONLY: ::std::os::raw::c_uint = 4;
512+
pub const SQLITE_CARRAY_INT32: i32 = 0;
513+
pub const SQLITE_CARRAY_INT64: i32 = 1;
514+
pub const SQLITE_CARRAY_DOUBLE: i32 = 2;
515+
pub const SQLITE_CARRAY_TEXT: i32 = 3;
516+
pub const SQLITE_CARRAY_BLOB: i32 = 4;
517+
pub const CARRAY_INT32: i32 = 0;
518+
pub const CARRAY_INT64: i32 = 1;
519+
pub const CARRAY_DOUBLE: i32 = 2;
520+
pub const CARRAY_TEXT: i32 = 3;
521+
pub const CARRAY_BLOB: i32 = 4;
501522
pub const NOT_WITHIN: i32 = 0;
502523
pub const PARTLY_WITHIN: i32 = 1;
503524
pub const FULLY_WITHIN: i32 = 2;
@@ -1133,6 +1154,13 @@ extern "C" {
11331154
extern "C" {
11341155
pub fn sqlite3_error_offset(db: *mut sqlite3) -> ::std::os::raw::c_int;
11351156
}
1157+
extern "C" {
1158+
pub fn sqlite3_set_errmsg(
1159+
db: *mut sqlite3,
1160+
errcode: ::std::os::raw::c_int,
1161+
zErrMsg: *const ::std::os::raw::c_char,
1162+
) -> ::std::os::raw::c_int;
1163+
}
11361164
#[repr(C)]
11371165
#[derive(Debug, Copy, Clone)]
11381166
pub struct sqlite3_stmt {
@@ -2283,6 +2311,15 @@ extern "C" {
22832311
resetFlg: ::std::os::raw::c_int,
22842312
) -> ::std::os::raw::c_int;
22852313
}
2314+
extern "C" {
2315+
pub fn sqlite3_db_status64(
2316+
arg1: *mut sqlite3,
2317+
arg2: ::std::os::raw::c_int,
2318+
arg3: *mut sqlite3_int64,
2319+
arg4: *mut sqlite3_int64,
2320+
arg5: ::std::os::raw::c_int,
2321+
) -> ::std::os::raw::c_int;
2322+
}
22862323
extern "C" {
22872324
pub fn sqlite3_stmt_status(
22882325
arg1: *mut sqlite3_stmt,
@@ -2682,6 +2719,18 @@ extern "C" {
26822719
mFlags: ::std::os::raw::c_uint,
26832720
) -> ::std::os::raw::c_int;
26842721
}
2722+
extern "C" {
2723+
pub fn sqlite3_carray_bind(
2724+
pStmt: *mut sqlite3_stmt,
2725+
i: ::std::os::raw::c_int,
2726+
aData: *mut ::std::os::raw::c_void,
2727+
nData: ::std::os::raw::c_int,
2728+
mFlags: ::std::os::raw::c_int,
2729+
xDel: ::std::option::Option<
2730+
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
2731+
>,
2732+
) -> ::std::os::raw::c_int;
2733+
}
26852734
pub type sqlite3_rtree_dbl = f64;
26862735
extern "C" {
26872736
pub fn sqlite3_rtree_geometry_callback(
@@ -3009,6 +3058,30 @@ extern "C" {
30093058
flags: ::std::os::raw::c_int,
30103059
) -> ::std::os::raw::c_int;
30113060
}
3061+
extern "C" {
3062+
pub fn sqlite3changeset_apply_v3(
3063+
db: *mut sqlite3,
3064+
nChangeset: ::std::os::raw::c_int,
3065+
pChangeset: *mut ::std::os::raw::c_void,
3066+
xFilter: ::std::option::Option<
3067+
unsafe extern "C" fn(
3068+
pCtx: *mut ::std::os::raw::c_void,
3069+
p: *mut sqlite3_changeset_iter,
3070+
) -> ::std::os::raw::c_int,
3071+
>,
3072+
xConflict: ::std::option::Option<
3073+
unsafe extern "C" fn(
3074+
pCtx: *mut ::std::os::raw::c_void,
3075+
eConflict: ::std::os::raw::c_int,
3076+
p: *mut sqlite3_changeset_iter,
3077+
) -> ::std::os::raw::c_int,
3078+
>,
3079+
pCtx: *mut ::std::os::raw::c_void,
3080+
ppRebase: *mut *mut ::std::os::raw::c_void,
3081+
pnRebase: *mut ::std::os::raw::c_int,
3082+
flags: ::std::os::raw::c_int,
3083+
) -> ::std::os::raw::c_int;
3084+
}
30123085
#[repr(C)]
30133086
#[derive(Debug, Copy, Clone)]
30143087
pub struct sqlite3_rebaser {
@@ -3095,6 +3168,36 @@ extern "C" {
30953168
flags: ::std::os::raw::c_int,
30963169
) -> ::std::os::raw::c_int;
30973170
}
3171+
extern "C" {
3172+
pub fn sqlite3changeset_apply_v3_strm(
3173+
db: *mut sqlite3,
3174+
xInput: ::std::option::Option<
3175+
unsafe extern "C" fn(
3176+
pIn: *mut ::std::os::raw::c_void,
3177+
pData: *mut ::std::os::raw::c_void,
3178+
pnData: *mut ::std::os::raw::c_int,
3179+
) -> ::std::os::raw::c_int,
3180+
>,
3181+
pIn: *mut ::std::os::raw::c_void,
3182+
xFilter: ::std::option::Option<
3183+
unsafe extern "C" fn(
3184+
pCtx: *mut ::std::os::raw::c_void,
3185+
p: *mut sqlite3_changeset_iter,
3186+
) -> ::std::os::raw::c_int,
3187+
>,
3188+
xConflict: ::std::option::Option<
3189+
unsafe extern "C" fn(
3190+
pCtx: *mut ::std::os::raw::c_void,
3191+
eConflict: ::std::os::raw::c_int,
3192+
p: *mut sqlite3_changeset_iter,
3193+
) -> ::std::os::raw::c_int,
3194+
>,
3195+
pCtx: *mut ::std::os::raw::c_void,
3196+
ppRebase: *mut *mut ::std::os::raw::c_void,
3197+
pnRebase: *mut ::std::os::raw::c_int,
3198+
flags: ::std::os::raw::c_int,
3199+
) -> ::std::os::raw::c_int;
3200+
}
30983201
extern "C" {
30993202
pub fn sqlite3changeset_concat_strm(
31003203
xInputA: ::std::option::Option<

0 commit comments

Comments
 (0)