blob: aec90e4c07ad502613c6c6565d2b9f76b5589175 [file] [log] [blame]
Add initialization functions for internal usage in libsqlite3.so.
--- /ext/misc/carray.c
+++ /ext/misc/carray.c
@@ -383,16 +383,8 @@
#endif /* SQLITE_OMIT_VIRTUALTABLE */
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_carray_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
+int sqlite3CarrayInit(sqlite3 *db){
int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
#ifndef SQLITE_OMIT_VIRTUALTABLE
rc = sqlite3_create_module(db, "carray", &carrayModule, 0);
#ifdef SQLITE_TEST
@@ -404,3 +396,18 @@
#endif /* SQLITE_OMIT_VIRTUALTABLE */
return rc;
}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_carray_init(
+ sqlite3 *db,
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3CarrayInit(db);
+}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/completion.c
+++ /ext/misc/completion.c
@@ -483,12 +483,13 @@
return rc;
}
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
int sqlite3_completion_init(
- sqlite3 *db,
- char **pzErrMsg,
+ sqlite3 *db,
+ char **pzErrMsg,
const sqlite3_api_routines *pApi
){
int rc = SQLITE_OK;
@@ -499,3 +500,4 @@
#endif
return rc;
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/csv.c
+++ /ext/misc/csv.c
@@ -928,6 +928,22 @@
#endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */
+int sqlite3CsvInit(sqlite3 *db){
+#ifndef SQLITE_OMIT_VIRTUALTABLE
+ int rc;
+ rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
+#ifdef SQLITE_TEST
+ if( rc==SQLITE_OK ){
+ rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
+ }
+#endif
+ return rc;
+#else
+ return SQLITE_OK;
+#endif
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -941,17 +957,8 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
-#ifndef SQLITE_OMIT_VIRTUALTABLE
- int rc;
SQLITE_EXTENSION_INIT2(pApi);
- rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
-#ifdef SQLITE_TEST
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
- }
-#endif
- return rc;
-#else
- return SQLITE_OK;
-#endif
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3CsvInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/dbdata.c
+++ /ext/misc/dbdata.c
@@ -803,7 +803,7 @@
/*
** Invoke this routine to register the "sqlite_dbdata" virtual table module
*/
-static int sqlite3DbdataRegister(sqlite3 *db){
+int sqlite3DbdataRegister(sqlite3 *db){
static sqlite3_module dbdata_module = {
0, /* iVersion */
0, /* xCreate */
@@ -838,6 +838,7 @@
return rc;
}
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -849,3 +850,4 @@
SQLITE_EXTENSION_INIT2(pApi);
return sqlite3DbdataRegister(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/eval.c
+++ /ext/misc/eval.c
@@ -102,6 +102,20 @@
}
+int sqlite3EvalInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+ rc = sqlite3_create_function(db, "eval", 1,
+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+ sqlEvalFunc, 0, 0);
+ if( rc==SQLITE_OK ){
+ rc = sqlite3_create_function(db, "eval", 2,
+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+ sqlEvalFunc, 0, 0);
+ }
+ return rc;
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -110,16 +124,8 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
- int rc = SQLITE_OK;
SQLITE_EXTENSION_INIT2(pApi);
(void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "eval", 1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- sqlEvalFunc, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "eval", 2,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- sqlEvalFunc, 0, 0);
- }
- return rc;
+ return sqlite3EvalInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/fileio.c
+++ /ext/misc/fileio.c
@@ -340,7 +340,7 @@
** This function does the work for the writefile() UDF. Refer to
** header comments at the top of this file for details.
*/
-static int writeFile(
+static int writeFileContents(
sqlite3_context *pCtx, /* Context to return bytes written in */
const char *zFile, /* File to write */
sqlite3_value *pData, /* Data to write */
@@ -480,10 +480,10 @@
mtime = sqlite3_value_int64(argv[3]);
}
- res = writeFile(context, zFile, argv[1], mode, mtime);
+ res = writeFileContents(context, zFile, argv[1], mode, mtime);
if( res==1 && errno==ENOENT ){
if( makeDirectory(zFile)==SQLITE_OK ){
- res = writeFile(context, zFile, argv[1], mode, mtime);
+ res = writeFileContents(context, zFile, argv[1], mode, mtime);
}
}
@@ -970,18 +970,9 @@
# define fsdirRegister(x) SQLITE_OK
#endif
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_fileio_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
+int sqlite3FileioInit(sqlite3 *db){
int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "readfile", 1,
+ rc = sqlite3_create_function(db, "readfile", 1,
SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
readfileFunc, 0, 0);
if( rc==SQLITE_OK ){
@@ -998,3 +989,18 @@
}
return rc;
}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_fileio_init(
+ sqlite3 *db,
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3FileioInit(db);
+}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/ieee754.c
+++ /ext/misc/ieee754.c
@@ -110,6 +110,20 @@
}
+int sqlite3IeeeInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+ rc = sqlite3_create_function(db, "ieee754", 1,
+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+ ieee754func, 0, 0);
+ if( rc==SQLITE_OK ){
+ rc = sqlite3_create_function(db, "ieee754", 2,
+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+ ieee754func, 0, 0);
+ }
+ return rc;
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -118,16 +132,8 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
- int rc = SQLITE_OK;
SQLITE_EXTENSION_INIT2(pApi);
(void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "ieee754", 1,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- ieee754func, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "ieee754", 2,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- ieee754func, 0, 0);
- }
- return rc;
+ return sqlite3IeeeInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/regexp.c
+++ /ext/misc/regexp.c
@@ -740,10 +740,18 @@
}
}
+int sqlite3RegexpInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+ rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
+ 0, re_sql_func, 0, 0);
+ return rc;
+}
+
/*
** Invoke this routine to register the regexp() function with the
** SQLite database connection.
*/
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -752,9 +760,8 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
- int rc = SQLITE_OK;
SQLITE_EXTENSION_INIT2(pApi);
- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
- 0, re_sql_func, 0, 0);
- return rc;
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3RegexpInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/sha1.c
+++ /ext/misc/sha1.c
@@ -175,7 +175,7 @@
}
/* Compute a string using sqlite3_vsnprintf() and hash it */
-static void hash_step_vformat(
+static void sha1_hash_step_vformat(
SHA1Context *p, /* Add content to this context */
const char *zFormat,
...
@@ -306,7 +306,7 @@
nCol = sqlite3_column_count(pStmt);
z = sqlite3_sql(pStmt);
n = (int)strlen(z);
- hash_step_vformat(&cx,"S%d:",n);
+ sha1_hash_step_vformat(&cx,"S%d:",n);
hash_step(&cx,(unsigned char*)z,n);
/* Compute a hash over the result of the query */
@@ -349,14 +349,14 @@
case SQLITE_TEXT: {
int n2 = sqlite3_column_bytes(pStmt, i);
const unsigned char *z2 = sqlite3_column_text(pStmt, i);
- hash_step_vformat(&cx,"T%d:",n2);
+ sha1_hash_step_vformat(&cx,"T%d:",n2);
hash_step(&cx, z2, n2);
break;
}
case SQLITE_BLOB: {
int n2 = sqlite3_column_bytes(pStmt, i);
const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
- hash_step_vformat(&cx,"B%d:",n2);
+ sha1_hash_step_vformat(&cx,"B%d:",n2);
hash_step(&cx, z2, n2);
break;
}
@@ -370,6 +370,20 @@
}
+int sqlite3ShaInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+ rc = sqlite3_create_function(db, "sha1", 1,
+ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
+ 0, sha1Func, 0, 0);
+ if( rc==SQLITE_OK ){
+ rc = sqlite3_create_function(db, "sha1_query", 1,
+ SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
+ sha1QueryFunc, 0, 0);
+ }
+ return rc;
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -378,16 +392,8 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
- int rc = SQLITE_OK;
SQLITE_EXTENSION_INIT2(pApi);
(void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "sha1", 1,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha1Func, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha1_query", 1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- sha1QueryFunc, 0, 0);
- }
- return rc;
+ return sqlite3ShaInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/shathree.c
+++ /ext/misc/shathree.c
@@ -527,7 +527,7 @@
/* Compute a string using sqlite3_vsnprintf() with a maximum length
** of 50 bytes and add it to the hash.
*/
-static void hash_step_vformat(
+static void sha3_hash_step_vformat(
SHA3Context *p, /* Add content to this context */
const char *zFormat,
...
@@ -622,7 +622,7 @@
nCol = sqlite3_column_count(pStmt);
z = sqlite3_sql(pStmt);
n = (int)strlen(z);
- hash_step_vformat(&cx,"S%d:",n);
+ sha3_hash_step_vformat(&cx,"S%d:",n);
SHA3Update(&cx,(unsigned char*)z,n);
/* Compute a hash over the result of the query */
@@ -665,14 +665,14 @@
case SQLITE_TEXT: {
int n2 = sqlite3_column_bytes(pStmt, i);
const unsigned char *z2 = sqlite3_column_text(pStmt, i);
- hash_step_vformat(&cx,"T%d:",n2);
+ sha3_hash_step_vformat(&cx,"T%d:",n2);
SHA3Update(&cx, z2, n2);
break;
}
case SQLITE_BLOB: {
int n2 = sqlite3_column_bytes(pStmt, i);
const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
- hash_step_vformat(&cx,"B%d:",n2);
+ sha3_hash_step_vformat(&cx,"B%d:",n2);
SHA3Update(&cx, z2, n2);
break;
}
@@ -685,17 +685,8 @@
}
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_shathree_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
+int sqlite3ShathreeInit(sqlite3 *db){
int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
rc = sqlite3_create_function(db, "sha3", 1,
SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
0, sha3Func, 0, 0);
@@ -716,3 +707,18 @@
}
return rc;
}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_shathree_init(
+ sqlite3 *db,
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3ShathreeInit(db);
+}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/sqlar.c
+++ /ext/misc/sqlar.c
@@ -14,6 +14,8 @@
** for working with sqlar archives and used by the shell tool's built-in
** sqlar support.
*/
+#ifdef SQLITE_HAVE_ZLIB
+
#include "sqlite3ext.h"
SQLITE_EXTENSION_INIT1
#include <zlib.h>
@@ -101,6 +103,20 @@
}
+int sqlite3SqlarInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+ rc = sqlite3_create_function(db, "sqlar_compress", 1,
+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+ sqlarCompressFunc, 0, 0);
+ if( rc==SQLITE_OK ){
+ rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+ sqlarUncompressFunc, 0, 0);
+ }
+ return rc;
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -109,16 +125,10 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
- int rc = SQLITE_OK;
SQLITE_EXTENSION_INIT2(pApi);
(void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "sqlar_compress", 1,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- sqlarCompressFunc, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sqlar_uncompress", 2,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- sqlarUncompressFunc, 0, 0);
- }
- return rc;
+ return sqlite3SqlarInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+
+#endif /* SQLITE_HAVE_ZLIB */
--- /ext/misc/totype.c
+++ /ext/misc/totype.c
@@ -491,17 +491,8 @@
#pragma warning(default: 4748)
#endif
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_totype_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
+int sqlite3TotypeInit(sqlite3 *db){
int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
rc = sqlite3_create_function(db, "tointeger", 1,
SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS, 0,
tointegerFunc, 0, 0);
@@ -512,3 +503,18 @@
}
return rc;
}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_totype_init(
+ sqlite3 *db,
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3TotypeInit(db);
+}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/uint.c
+++ /ext/misc/uint.c
@@ -78,6 +78,11 @@
return (nKey1 - i) - (nKey2 - j);
}
+int sqlite3UintInit(sqlite3 *db){
+ return sqlite3_create_collation(db, "UINT", SQLITE_UTF8, 0, uintCollFunc);
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -88,5 +93,6 @@
){
SQLITE_EXTENSION_INIT2(pApi);
(void)pzErrMsg; /* Unused parameter */
- return sqlite3_create_collation(db, "uint", SQLITE_UTF8, 0, uintCollFunc);
+ return sqlite3UintInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/uuid.c
+++ /ext/misc/uuid.c
@@ -206,21 +206,12 @@
sqlite3_result_blob(context, pBlob, 16, SQLITE_TRANSIENT);
}
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_uuid_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
+int sqlite3UuidInit(sqlite3 *db){
int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
rc = sqlite3_create_function(db, "uuid", 0, SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
sqlite3UuidFunc, 0, 0);
if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "uuid_str", 1,
+ rc = sqlite3_create_function(db, "uuid_str", 1,
SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
0, sqlite3UuidStrFunc, 0, 0);
}
@@ -231,3 +222,18 @@
}
return rc;
}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_uuid_init(
+ sqlite3 *db,
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3UuidInit(db);
+}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/zipfile.c
+++ /ext/misc/zipfile.c
@@ -24,6 +24,8 @@
** * No support for zip64 extensions
** * Only the "inflate/deflate" (zlib) compression method is supported
*/
+#ifdef SQLITE_HAVE_ZLIB
+
#include "sqlite3ext.h"
SQLITE_EXTENSION_INIT1
#include <stdio.h>
@@ -2137,7 +2139,7 @@
/*
** Register the "zipfile" virtual table.
*/
-static int zipfileRegister(sqlite3 *db){
+int sqlite3ZipfileInit(sqlite3 *db){
static sqlite3_module zipfileModule = {
1, /* iVersion */
zipfileConnect, /* xCreate */
@@ -2171,9 +2173,10 @@
return rc;
}
#else /* SQLITE_OMIT_VIRTUALTABLE */
-# define zipfileRegister(x) SQLITE_OK
+# define sqlite3ZipfileInit(x) SQLITE_OK
#endif
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -2184,5 +2187,8 @@
){
SQLITE_EXTENSION_INIT2(pApi);
(void)pzErrMsg; /* Unused parameter */
- return zipfileRegister(db);
+ return sqlite3ZipfileInit(db);
}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
+
+#endif /* SQLITE_HAVE_ZLIB */