aboutsummaryrefslogtreecommitdiff
path: root/ext/wasm/api/sqlite3-wasm.c
diff options
context:
space:
mode:
authordrh <>2022-11-24 01:41:44 +0000
committerdrh <>2022-11-24 01:41:44 +0000
commit4b1555a9fc77dfaca1ee3eab38a2ba424a9d4ad9 (patch)
tree9df8ca7ad4fb96cfb9b0c97497b10152cb758cae /ext/wasm/api/sqlite3-wasm.c
parent9b80cb5f39af66075762057df127ffbbb2c6ef2a (diff)
parentf1ce4f40c7a01fd272662ab42d24b1f3ba747069 (diff)
downloadsqlite-4b1555a9fc77dfaca1ee3eab38a2ba424a9d4ad9.tar.gz
sqlite-4b1555a9fc77dfaca1ee3eab38a2ba424a9d4ad9.zip
Merge the latest trunk changes into the agg-with-indexed-expr branch to
simplify diffs. FossilOrigin-Name: 38c3d3f1ed0fd2bb62aa8a7e5a27f2b247123e094e2fdb0a2475d788c3dfbc04
Diffstat (limited to 'ext/wasm/api/sqlite3-wasm.c')
-rw-r--r--ext/wasm/api/sqlite3-wasm.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/ext/wasm/api/sqlite3-wasm.c b/ext/wasm/api/sqlite3-wasm.c
index af5ed6bf7..67e97c4a0 100644
--- a/ext/wasm/api/sqlite3-wasm.c
+++ b/ext/wasm/api/sqlite3-wasm.c
@@ -916,25 +916,27 @@ int sqlite3_wasm_db_export_chunked( sqlite3* pDb,
}
/*
-** A proxy for sqlite3_serialize() which serializes the "main" schema
+** A proxy for sqlite3_serialize() which serializes the schema zSchema
** of pDb, placing the serialized output in pOut and nOut. nOut may be
-** NULL. If pDb or pOut are NULL then SQLITE_MISUSE is returned. If
-** allocation of the serialized copy fails, SQLITE_NOMEM is returned.
-** On success, 0 is returned and `*pOut` will contain a pointer to the
-** memory unless mFlags includes SQLITE_SERIALIZE_NOCOPY and the
-** database has no contiguous memory representation, in which case
-** `*pOut` will be NULL but 0 will be returned.
+** NULL. If zSchema is NULL then "main" is assumed. If pDb or pOut are
+** NULL then SQLITE_MISUSE is returned. If allocation of the
+** serialized copy fails, SQLITE_NOMEM is returned. On success, 0 is
+** returned and `*pOut` will contain a pointer to the memory unless
+** mFlags includes SQLITE_SERIALIZE_NOCOPY and the database has no
+** contiguous memory representation, in which case `*pOut` will be
+** NULL but 0 will be returned.
**
** If `*pOut` is not NULL, the caller is responsible for passing it to
** sqlite3_free() to free it.
*/
SQLITE_WASM_KEEP
-int sqlite3_wasm_db_serialize( sqlite3 *pDb, unsigned char **pOut,
+int sqlite3_wasm_db_serialize( sqlite3 *pDb, const char *zSchema,
+ unsigned char **pOut,
sqlite3_int64 *nOut, unsigned int mFlags ){
unsigned char * z;
if( !pDb || !pOut ) return SQLITE_MISUSE;
if(nOut) *nOut = 0;
- z = sqlite3_serialize(pDb, "main", nOut, mFlags);
+ z = sqlite3_serialize(pDb, zSchema ? zSchema : "main", nOut, mFlags);
if( z || (SQLITE_SERIALIZE_NOCOPY & mFlags) ){
*pOut = z;
return 0;