]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a JS implementation of Java's SQLTester.
authorstephan <stephan@noemail.net>
Wed, 30 Aug 2023 13:07:35 +0000 (13:07 +0000)
committerstephan <stephan@noemail.net>
Wed, 30 Aug 2023 13:07:35 +0000 (13:07 +0000)
FossilOrigin-Name: b530792a514d95c4e8f93cf2170d9fc4de367055fa1704fc171551c946024fa9

1  2 
ext/wasm/api/sqlite3-api-prologue.js
manifest
manifest.uuid

index 5abb13b9900df0b6d965f508758d792627f5a2eb,996f23298f97c98810ddbd7403c1bc1b6900cc3d..ef1154f6b6713d20f99e5557182dfb975127aac5
@@@ -1543,6 -1559,26 +1559,26 @@@ globalThis.sqlite3ApiBootstrap = functi
      }
    };
  
 -     The intent of this function is to convert SQL input text from a
 -     variety of common forms to plain strings.
 -
+   /**
++     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.
+      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 9c829642908cd0394671afeeb59ce0978a396c0b,15a2c4be2dfd39d9224eb3c02ebe9b9ba00aea0d..9dffaa6607c752e53e4ea49163e2aa6c66af8549
+++ 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 0e0a56f3bd9f4ed76c90ae2484ae5b985eed9c12,a0ecd6b9de2fded37c359de757db3d7c54e8ad8b..0edb46a8699e7582bfd5e2037a78ace9e260a83f
@@@ -1,1 -1,1 +1,1 @@@
- 058722b2d0b995195a8ce3effe9722ae1c18cb1e7a520b481030da0bd579fe41
 -249e82b9917ea47c56ee1cbd3345a977d335fd3fc0d67a1ef157813ef4571c7c
++b530792a514d95c4e8f93cf2170d9fc4de367055fa1704fc171551c946024fa9