blob: 0c3577fd3a1ce4e42023679bf2d8846e53eb32df [file] [log] [blame]
Add initialization functions for internal usage in libsqlite3.so.
SQLite revision: acd63062eb06748bfe9e4886639e4f2b54ea6a496a83f10716abbaba4115500b
--- /ext/misc/nextchar.c
+++ /ext/misc/nextchar.c
@@ -286,17 +286,8 @@
sqlite3_free(c.aResult);
}
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_nextchar_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
+int sqlite3NextcharInit(sqlite3 *db){
int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
rc = sqlite3_create_function(db, "next_char", 3,
SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
nextCharFunc, 0, 0);
@@ -312,3 +303,18 @@
}
return rc;
}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_nextchar_init(
+ sqlite3 *db,
+ char **pzErrMsg,
+ const sqlite3_api_routines *pApi
+){
+ SQLITE_EXTENSION_INIT2(pApi);
+ (void)pzErrMsg; /* Unused parameter */
+ return sqlite3NextcharInit(db);
+}
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */
--- /ext/misc/percentile.c
+++ /ext/misc/percentile.c
@@ -202,6 +202,15 @@
}
+int sqlite3PercentileInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+ rc = sqlite3_create_function(db, "percentile", 2,
+ SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
+ 0, percentStep, percentFinal);
+ return rc;
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -210,11 +219,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, "percentile", 2,
- SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
- 0, percentStep, percentFinal);
- return rc;
+ return sqlite3PercentileInit(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/series.c
+++ /ext/misc/series.c
@@ -423,6 +423,15 @@
#endif /* SQLITE_OMIT_VIRTUALTABLE */
+int sqlite3SeriesInit(sqlite3 *db){
+ int rc = SQLITE_OK;
+#ifndef SQLITE_OMIT_VIRTUALTABLE
+ rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
+#endif
+ return rc;
+}
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_TEST)
#ifdef _WIN32
__declspec(dllexport)
#endif
@@ -431,7 +440,6 @@
char **pzErrMsg,
const sqlite3_api_routines *pApi
){
- int rc = SQLITE_OK;
SQLITE_EXTENSION_INIT2(pApi);
#ifndef SQLITE_OMIT_VIRTUALTABLE
if( sqlite3_libversion_number()<3008012 ){
@@ -439,7 +447,7 @@
"generate_series() requires SQLite 3.8.12 or later");
return SQLITE_ERROR;
}
- rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
#endif
- return rc;
+ return sqlite3SeriesInit(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
@@ -530,7 +530,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,
...
@@ -626,7 +626,7 @@
z = sqlite3_sql(pStmt);
if( z ){
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);
}
@@ -670,14 +670,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;
}
@@ -690,17 +690,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);
@@ -721,3 +712,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>
@@ -2139,7 +2141,7 @@
/*
** Register the "zipfile" virtual table.
*/
-static int zipfileRegister(sqlite3 *db){
+int sqlite3ZipfileInit(sqlite3 *db){
static sqlite3_module zipfileModule = {
1, /* iVersion */
zipfileConnect, /* xCreate */
@@ -2173,9 +2175,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
@@ -2186,5 +2189,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 */