From: stephan Date: Wed, 30 Aug 2023 13:07:35 +0000 (+0000) Subject: Add a JS implementation of Java's SQLTester. X-Git-Tag: version-3.44.0~239 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24c32c2e390de4116ba9e768cff9bcd3ad4f5dc6;p=thirdparty%2Fsqlite.git Add a JS implementation of Java's SQLTester. FossilOrigin-Name: b530792a514d95c4e8f93cf2170d9fc4de367055fa1704fc171551c946024fa9 --- 24c32c2e390de4116ba9e768cff9bcd3ad4f5dc6 diff --cc ext/wasm/api/sqlite3-api-prologue.js index 5abb13b990,996f23298f..ef1154f6b6 --- a/ext/wasm/api/sqlite3-api-prologue.js +++ b/ext/wasm/api/sqlite3-api-prologue.js @@@ -1543,6 -1559,26 +1559,26 @@@ globalThis.sqlite3ApiBootstrap = functi } }; + /** ++ Converts SQL input from a variety of convenient formats ++ to plain strings. ++ + If v is a string, it is returned as-is. If it is-a Array, its + join("") result is returned. If is is a Uint8Array, Int8Array, + or ArrayBuffer, it is assumed to hold UTF-8-encoded text and is + decoded to a string. If it looks like a WASM pointer, + wasm.cstrToJs(sql) is returned. Else undefined is returned. + - The intent of this function is to convert SQL input text from a - variety of common forms to plain strings. - + Added in 3.44 + */ + capi.sqlite3_js_sql_to_string = (sql)=>{ + if('string' === typeof sql){ + return sql; + } + const x = flexibleString(v); + return x===v ? undefined : x; + } + if( util.isUIThread() ){ /* Features specific to the main window thread... */ diff --cc manifest index 9c82964290,15a2c4be2d..9dffaa6607 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C New\sconversion\sletters\sadded\sto\sstrftime():\s%e,\s%k,\s%I,\s%l,\s%R,\s%P,\s%p,\s%T,\s%u. - D 2023-08-29T18:28:08.008 -C Add\sa\sUI,\sof\ssorts,\sto\sthe\sJS\sSQLTester. -D 2023-08-30T11:54:43.323 ++C Add\sa\sJS\simplementation\sof\sJava's\sSQLTester. ++D 2023-08-30T13:07:35.058 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -560,7 -565,7 +565,7 @@@ F ext/wasm/api/pre-js.c-pp.js ad906703f F ext/wasm/api/sqlite3-api-cleanup.js d235ad237df6954145404305040991c72ef8b1881715d2a650dda7b3c2576d0e F ext/wasm/api/sqlite3-api-glue.js b65e546568f1dfb35205b9792feb5146a6323d71b55cda58e2ed30def6dd52f3 F ext/wasm/api/sqlite3-api-oo1.js 9678dc4d9a5d39632b6ffe6ea94a023119260815bf32f265bf5f6c36c9516db8 - F ext/wasm/api/sqlite3-api-prologue.js ef6f67c5ea718490806e5e17d2644b8b2f6e6ba5284d23dc1fbfd14d401c1ab5 -F ext/wasm/api/sqlite3-api-prologue.js 723908946bd624d367e4df7093e9a6c9725606dc526953ea601cad8d7ce88538 ++F ext/wasm/api/sqlite3-api-prologue.js 9aeba7b45cf41b3a26d34d7fb2525633cd1adfc544888c1ea8dbb077496f4ce9 F ext/wasm/api/sqlite3-api-worker1.js 9f32af64df1a031071912eea7a201557fe39b1738645c0134562bb84e88e2fec F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d2994b915123c1223fe752b60afdcd1263f89 F ext/wasm/api/sqlite3-opfs-async-proxy.js 8cf8a897726f14071fae6be6648125162b256dfb4f96555b865dbb7a6b65e379 @@@ -2110,8 -2113,8 +2115,9 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 253fe4a45decdcc4180c5aeccaf4cd0d1325a0f6df0913b0e6721ea3e26b4fe2 - R ec116b42076aac24bc9f57b015b724bc - U drh - Z f129cd2d47b4d4fea322d97826168fb6 -P bb08ba020ce1d86ca6aa92f43d5ae915f67d08fa73120e1f603d150e76166624 -R 8240e3c6439a4fca46c74a72b36ea777 ++P 058722b2d0b995195a8ce3effe9722ae1c18cb1e7a520b481030da0bd579fe41 249e82b9917ea47c56ee1cbd3345a977d335fd3fc0d67a1ef157813ef4571c7c ++R 1d37ca9b2e6614cb5d02f3816f204e9d ++T +closed 249e82b9917ea47c56ee1cbd3345a977d335fd3fc0d67a1ef157813ef4571c7c Closed\sby\sintegrate-merge. + U stephan -Z cef4bceac8cb673301c00562148f0e5f ++Z 4d7d0ed957593edddd1409081f78edf6 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index 0e0a56f3bd,a0ecd6b9de..0edb46a869 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 058722b2d0b995195a8ce3effe9722ae1c18cb1e7a520b481030da0bd579fe41 -249e82b9917ea47c56ee1cbd3345a977d335fd3fc0d67a1ef157813ef4571c7c ++b530792a514d95c4e8f93cf2170d9fc4de367055fa1704fc171551c946024fa9