mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-27 03:51:38 +08:00
Merge pull request #579 from gwenn/3.30.1
Upgrade bundled SQLite version to 3.30.1
This commit is contained in:
commit
80f1b4b791
@ -80,7 +80,7 @@ unicase = "2.4.0"
|
|||||||
|
|
||||||
[dependencies.libsqlite3-sys]
|
[dependencies.libsqlite3-sys]
|
||||||
path = "libsqlite3-sys"
|
path = "libsqlite3-sys"
|
||||||
version = "0.16"
|
version = "0.17"
|
||||||
|
|
||||||
[[test]]
|
[[test]]
|
||||||
name = "config_log"
|
name = "config_log"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libsqlite3-sys"
|
name = "libsqlite3-sys"
|
||||||
version = "0.16.0"
|
version = "0.17.0"
|
||||||
authors = ["John Gallagher <jgallagher@bignerdranch.com>"]
|
authors = ["John Gallagher <jgallagher@bignerdranch.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
repository = "https://github.com/jgallagher/rusqlite"
|
repository = "https://github.com/jgallagher/rusqlite"
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
/* automatically generated by rust-bindgen */
|
/* automatically generated by rust-bindgen */
|
||||||
|
|
||||||
pub const __GNUC_VA_LIST: i32 = 1;
|
pub const __GNUC_VA_LIST: i32 = 1;
|
||||||
pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.29.0\0";
|
pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.30.1\0";
|
||||||
pub const SQLITE_VERSION_NUMBER: i32 = 3029000;
|
pub const SQLITE_VERSION_NUMBER: i32 = 3030001;
|
||||||
pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
|
pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
|
||||||
b"2019-07-10 17:32:03 fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6\0";
|
b"2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b\0";
|
||||||
pub const SQLITE_OK: i32 = 0;
|
pub const SQLITE_OK: i32 = 0;
|
||||||
pub const SQLITE_ERROR: i32 = 1;
|
pub const SQLITE_ERROR: i32 = 1;
|
||||||
pub const SQLITE_INTERNAL: i32 = 2;
|
pub const SQLITE_INTERNAL: i32 = 2;
|
||||||
@ -235,7 +235,8 @@ pub const SQLITE_DBCONFIG_WRITABLE_SCHEMA: i32 = 1011;
|
|||||||
pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
|
pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
|
||||||
pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
|
pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
|
||||||
pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
|
pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
|
||||||
pub const SQLITE_DBCONFIG_MAX: i32 = 1014;
|
pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015;
|
||||||
|
pub const SQLITE_DBCONFIG_MAX: i32 = 1015;
|
||||||
pub const SQLITE_DENY: i32 = 1;
|
pub const SQLITE_DENY: i32 = 1;
|
||||||
pub const SQLITE_IGNORE: i32 = 2;
|
pub const SQLITE_IGNORE: i32 = 2;
|
||||||
pub const SQLITE_CREATE_INDEX: i32 = 1;
|
pub const SQLITE_CREATE_INDEX: i32 = 1;
|
||||||
@ -304,6 +305,8 @@ pub const SQLITE_UTF16: i32 = 4;
|
|||||||
pub const SQLITE_ANY: i32 = 5;
|
pub const SQLITE_ANY: i32 = 5;
|
||||||
pub const SQLITE_UTF16_ALIGNED: i32 = 8;
|
pub const SQLITE_UTF16_ALIGNED: i32 = 8;
|
||||||
pub const SQLITE_DETERMINISTIC: i32 = 2048;
|
pub const SQLITE_DETERMINISTIC: i32 = 2048;
|
||||||
|
pub const SQLITE_DIRECTONLY: i32 = 524288;
|
||||||
|
pub const SQLITE_SUBTYPE: i32 = 1048576;
|
||||||
pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
|
pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
|
||||||
pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
|
pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
|
||||||
pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
|
pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
|
||||||
@ -364,7 +367,9 @@ pub const SQLITE_TESTCTRL_SORTER_MMAP: i32 = 24;
|
|||||||
pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
|
pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
|
||||||
pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
|
pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
|
||||||
pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
|
pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
|
||||||
pub const SQLITE_TESTCTRL_LAST: i32 = 27;
|
pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28;
|
||||||
|
pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29;
|
||||||
|
pub const SQLITE_TESTCTRL_LAST: i32 = 29;
|
||||||
pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
|
pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
|
||||||
pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
|
pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
|
||||||
pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
|
pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
|
||||||
@ -3222,6 +3227,12 @@ extern "C" {
|
|||||||
xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
|
xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
|
||||||
) -> ::std::os::raw::c_int;
|
) -> ::std::os::raw::c_int;
|
||||||
}
|
}
|
||||||
|
extern "C" {
|
||||||
|
pub fn sqlite3_drop_modules(
|
||||||
|
db: *mut sqlite3,
|
||||||
|
azKeep: *mut *const ::std::os::raw::c_char,
|
||||||
|
) -> ::std::os::raw::c_int;
|
||||||
|
}
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
pub struct sqlite3_vtab {
|
pub struct sqlite3_vtab {
|
||||||
|
8871
libsqlite3-sys/sqlite3/sqlite3.c
vendored
8871
libsqlite3-sys/sqlite3/sqlite3.c
vendored
File diff suppressed because it is too large
Load Diff
81
libsqlite3-sys/sqlite3/sqlite3.h
vendored
81
libsqlite3-sys/sqlite3/sqlite3.h
vendored
@ -123,9 +123,9 @@ extern "C" {
|
|||||||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||||
** [sqlite_version()] and [sqlite_source_id()].
|
** [sqlite_version()] and [sqlite_source_id()].
|
||||||
*/
|
*/
|
||||||
#define SQLITE_VERSION "3.29.0"
|
#define SQLITE_VERSION "3.30.1"
|
||||||
#define SQLITE_VERSION_NUMBER 3029000
|
#define SQLITE_VERSION_NUMBER 3030001
|
||||||
#define SQLITE_SOURCE_ID "2019-07-10 17:32:03 fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6"
|
#define SQLITE_SOURCE_ID "2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
@ -2093,6 +2093,17 @@ struct sqlite3_mem_methods {
|
|||||||
** following this call. The second parameter may be a NULL pointer, in
|
** following this call. The second parameter may be a NULL pointer, in
|
||||||
** which case the trigger setting is not reported back. </dd>
|
** which case the trigger setting is not reported back. </dd>
|
||||||
**
|
**
|
||||||
|
** [[SQLITE_DBCONFIG_ENABLE_VIEW]]
|
||||||
|
** <dt>SQLITE_DBCONFIG_ENABLE_VIEW</dt>
|
||||||
|
** <dd> ^This option is used to enable or disable [CREATE VIEW | views].
|
||||||
|
** There should be two additional arguments.
|
||||||
|
** The first argument is an integer which is 0 to disable views,
|
||||||
|
** positive to enable views or negative to leave the setting unchanged.
|
||||||
|
** The second parameter is a pointer to an integer into which
|
||||||
|
** is written 0 or 1 to indicate whether views are disabled or enabled
|
||||||
|
** following this call. The second parameter may be a NULL pointer, in
|
||||||
|
** which case the view setting is not reported back. </dd>
|
||||||
|
**
|
||||||
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
|
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
|
||||||
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
|
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
|
||||||
** <dd> ^This option is used to enable or disable the
|
** <dd> ^This option is used to enable or disable the
|
||||||
@ -2265,7 +2276,8 @@ struct sqlite3_mem_methods {
|
|||||||
#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */
|
#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */
|
||||||
#define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */
|
#define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */
|
||||||
#define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */
|
#define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */
|
||||||
#define SQLITE_DBCONFIG_MAX 1014 /* Largest DBCONFIG */
|
#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */
|
||||||
|
#define SQLITE_DBCONFIG_MAX 1015 /* Largest DBCONFIG */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Enable Or Disable Extended Result Codes
|
** CAPI3REF: Enable Or Disable Extended Result Codes
|
||||||
@ -3814,7 +3826,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
|
|||||||
** ^The specific value of WHERE-clause [parameter] might influence the
|
** ^The specific value of WHERE-clause [parameter] might influence the
|
||||||
** choice of query plan if the parameter is the left-hand side of a [LIKE]
|
** choice of query plan if the parameter is the left-hand side of a [LIKE]
|
||||||
** or [GLOB] operator or if the parameter is compared to an indexed column
|
** or [GLOB] operator or if the parameter is compared to an indexed column
|
||||||
** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled.
|
** and the [SQLITE_ENABLE_STAT4] compile-time option is enabled.
|
||||||
** </li>
|
** </li>
|
||||||
** </ol>
|
** </ol>
|
||||||
**
|
**
|
||||||
@ -4849,6 +4861,12 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|||||||
** perform additional optimizations on deterministic functions, so use
|
** perform additional optimizations on deterministic functions, so use
|
||||||
** of the [SQLITE_DETERMINISTIC] flag is recommended where possible.
|
** of the [SQLITE_DETERMINISTIC] flag is recommended where possible.
|
||||||
**
|
**
|
||||||
|
** ^The fourth parameter may also optionally include the [SQLITE_DIRECTONLY]
|
||||||
|
** flag, which if present prevents the function from being invoked from
|
||||||
|
** within VIEWs or TRIGGERs. For security reasons, the [SQLITE_DIRECTONLY]
|
||||||
|
** flag is recommended for any application-defined SQL function that has
|
||||||
|
** side-effects.
|
||||||
|
**
|
||||||
** ^(The fifth parameter is an arbitrary pointer. The implementation of the
|
** ^(The fifth parameter is an arbitrary pointer. The implementation of the
|
||||||
** function can gain access to this pointer using [sqlite3_user_data()].)^
|
** function can gain access to this pointer using [sqlite3_user_data()].)^
|
||||||
**
|
**
|
||||||
@ -4965,8 +4983,30 @@ SQLITE_API int sqlite3_create_window_function(
|
|||||||
** [SQLITE_UTF8 | preferred text encoding] as the fourth argument
|
** [SQLITE_UTF8 | preferred text encoding] as the fourth argument
|
||||||
** to [sqlite3_create_function()], [sqlite3_create_function16()], or
|
** to [sqlite3_create_function()], [sqlite3_create_function16()], or
|
||||||
** [sqlite3_create_function_v2()].
|
** [sqlite3_create_function_v2()].
|
||||||
|
**
|
||||||
|
** The SQLITE_DETERMINISTIC flag means that the new function will always
|
||||||
|
** maps the same inputs into the same output. The abs() function is
|
||||||
|
** deterministic, for example, but randomblob() is not.
|
||||||
|
**
|
||||||
|
** The SQLITE_DIRECTONLY flag means that the function may only be invoked
|
||||||
|
** from top-level SQL, and cannot be used in VIEWs or TRIGGERs. This is
|
||||||
|
** a security feature which is recommended for all
|
||||||
|
** [application-defined SQL functions] that have side-effects. This flag
|
||||||
|
** prevents an attacker from adding triggers and views to a schema then
|
||||||
|
** tricking a high-privilege application into causing unintended side-effects
|
||||||
|
** while performing ordinary queries.
|
||||||
|
**
|
||||||
|
** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call
|
||||||
|
** [sqlite3_value_subtype()] to inspect the sub-types of its arguments.
|
||||||
|
** Specifying this flag makes no difference for scalar or aggregate user
|
||||||
|
** functions. However, if it is not specified for a user-defined window
|
||||||
|
** function, then any sub-types belonging to arguments passed to the window
|
||||||
|
** function may be discarded before the window function is called (i.e.
|
||||||
|
** sqlite3_value_subtype() will always return 0).
|
||||||
*/
|
*/
|
||||||
#define SQLITE_DETERMINISTIC 0x800
|
#define SQLITE_DETERMINISTIC 0x000000800
|
||||||
|
#define SQLITE_DIRECTONLY 0x000080000
|
||||||
|
#define SQLITE_SUBTYPE 0x000100000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Deprecated Functions
|
** CAPI3REF: Deprecated Functions
|
||||||
@ -6612,6 +6652,12 @@ struct sqlite3_index_info {
|
|||||||
** ^The sqlite3_create_module()
|
** ^The sqlite3_create_module()
|
||||||
** interface is equivalent to sqlite3_create_module_v2() with a NULL
|
** interface is equivalent to sqlite3_create_module_v2() with a NULL
|
||||||
** destructor.
|
** destructor.
|
||||||
|
**
|
||||||
|
** ^If the third parameter (the pointer to the sqlite3_module object) is
|
||||||
|
** NULL then no new module is create and any existing modules with the
|
||||||
|
** same name are dropped.
|
||||||
|
**
|
||||||
|
** See also: [sqlite3_drop_modules()]
|
||||||
*/
|
*/
|
||||||
SQLITE_API int sqlite3_create_module(
|
SQLITE_API int sqlite3_create_module(
|
||||||
sqlite3 *db, /* SQLite connection to register module with */
|
sqlite3 *db, /* SQLite connection to register module with */
|
||||||
@ -6627,6 +6673,23 @@ SQLITE_API int sqlite3_create_module_v2(
|
|||||||
void(*xDestroy)(void*) /* Module destructor function */
|
void(*xDestroy)(void*) /* Module destructor function */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CAPI3REF: Remove Unnecessary Virtual Table Implementations
|
||||||
|
** METHOD: sqlite3
|
||||||
|
**
|
||||||
|
** ^The sqlite3_drop_modules(D,L) interface removes all virtual
|
||||||
|
** table modules from database connection D except those named on list L.
|
||||||
|
** The L parameter must be either NULL or a pointer to an array of pointers
|
||||||
|
** to strings where the array is terminated by a single NULL pointer.
|
||||||
|
** ^If the L parameter is NULL, then all virtual table modules are removed.
|
||||||
|
**
|
||||||
|
** See also: [sqlite3_create_module()]
|
||||||
|
*/
|
||||||
|
SQLITE_API int sqlite3_drop_modules(
|
||||||
|
sqlite3 *db, /* Remove modules from this connection */
|
||||||
|
const char **azKeep /* Except, do not remove the ones named here */
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Virtual Table Instance Object
|
** CAPI3REF: Virtual Table Instance Object
|
||||||
** KEYWORDS: sqlite3_vtab
|
** KEYWORDS: sqlite3_vtab
|
||||||
@ -7335,7 +7398,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|||||||
#define SQLITE_TESTCTRL_FIRST 5
|
#define SQLITE_TESTCTRL_FIRST 5
|
||||||
#define SQLITE_TESTCTRL_PRNG_SAVE 5
|
#define SQLITE_TESTCTRL_PRNG_SAVE 5
|
||||||
#define SQLITE_TESTCTRL_PRNG_RESTORE 6
|
#define SQLITE_TESTCTRL_PRNG_RESTORE 6
|
||||||
#define SQLITE_TESTCTRL_PRNG_RESET 7
|
#define SQLITE_TESTCTRL_PRNG_RESET 7 /* NOT USED */
|
||||||
#define SQLITE_TESTCTRL_BITVEC_TEST 8
|
#define SQLITE_TESTCTRL_BITVEC_TEST 8
|
||||||
#define SQLITE_TESTCTRL_FAULT_INSTALL 9
|
#define SQLITE_TESTCTRL_FAULT_INSTALL 9
|
||||||
#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10
|
#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10
|
||||||
@ -7358,7 +7421,9 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|||||||
#define SQLITE_TESTCTRL_IMPOSTER 25
|
#define SQLITE_TESTCTRL_IMPOSTER 25
|
||||||
#define SQLITE_TESTCTRL_PARSER_COVERAGE 26
|
#define SQLITE_TESTCTRL_PARSER_COVERAGE 26
|
||||||
#define SQLITE_TESTCTRL_RESULT_INTREAL 27
|
#define SQLITE_TESTCTRL_RESULT_INTREAL 27
|
||||||
#define SQLITE_TESTCTRL_LAST 27 /* Largest TESTCTRL */
|
#define SQLITE_TESTCTRL_PRNG_SEED 28
|
||||||
|
#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29
|
||||||
|
#define SQLITE_TESTCTRL_LAST 29 /* Largest TESTCTRL */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: SQL Keyword Checking
|
** CAPI3REF: SQL Keyword Checking
|
||||||
|
4
libsqlite3-sys/sqlite3/sqlite3ext.h
vendored
4
libsqlite3-sys/sqlite3/sqlite3ext.h
vendored
@ -322,6 +322,8 @@ struct sqlite3_api_routines {
|
|||||||
/* Version 3.28.0 and later */
|
/* Version 3.28.0 and later */
|
||||||
int (*stmt_isexplain)(sqlite3_stmt*);
|
int (*stmt_isexplain)(sqlite3_stmt*);
|
||||||
int (*value_frombind)(sqlite3_value*);
|
int (*value_frombind)(sqlite3_value*);
|
||||||
|
/* Version 3.30.0 and later */
|
||||||
|
int (*drop_modules)(sqlite3*,const char**);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -614,6 +616,8 @@ typedef int (*sqlite3_loadext_entry)(
|
|||||||
/* Version 3.28.0 and later */
|
/* Version 3.28.0 and later */
|
||||||
#define sqlite3_stmt_isexplain sqlite3_api->isexplain
|
#define sqlite3_stmt_isexplain sqlite3_api->isexplain
|
||||||
#define sqlite3_value_frombind sqlite3_api->frombind
|
#define sqlite3_value_frombind sqlite3_api->frombind
|
||||||
|
/* Version 3.30.0 and later */
|
||||||
|
#define sqlite3_drop_modules sqlite3_api->drop_modules
|
||||||
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
|
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
|
||||||
|
|
||||||
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
||||||
|
@ -4,7 +4,7 @@ cd $SCRIPT_DIR
|
|||||||
export SQLITE3_LIB_DIR=$SCRIPT_DIR/sqlite3
|
export SQLITE3_LIB_DIR=$SCRIPT_DIR/sqlite3
|
||||||
|
|
||||||
# Download and extract amalgamation
|
# Download and extract amalgamation
|
||||||
SQLITE=sqlite-amalgamation-3290000
|
SQLITE=sqlite-amalgamation-3300100
|
||||||
curl -O http://sqlite.org/2019/$SQLITE.zip
|
curl -O http://sqlite.org/2019/$SQLITE.zip
|
||||||
unzip -p $SQLITE.zip $SQLITE/sqlite3.c > $SQLITE3_LIB_DIR/sqlite3.c
|
unzip -p $SQLITE.zip $SQLITE/sqlite3.c > $SQLITE3_LIB_DIR/sqlite3.c
|
||||||
unzip -p $SQLITE.zip $SQLITE/sqlite3.h > $SQLITE3_LIB_DIR/sqlite3.h
|
unzip -p $SQLITE.zip $SQLITE/sqlite3.h > $SQLITE3_LIB_DIR/sqlite3.h
|
||||||
|
Loading…
Reference in New Issue
Block a user