mirror of
https://github.com/sqlite/sqlite.git
synced 2025-10-25 20:58:26 +03:00
Random wasm internal doc cleanups. No code changes.
FossilOrigin-Name: 70923a00cfca2c64b7c7c824325ab75cdd05d452b79d2eaf43297898af891c47
This commit is contained in:
@@ -98,10 +98,10 @@ which (almost) all of the test and demo applications can be accessed.
|
|||||||
real utility when it's used in conjunction with the project's
|
real utility when it's used in conjunction with the project's
|
||||||
proprietary test suite, which most users don't have access to.)
|
proprietary test suite, which most users don't have access to.)
|
||||||
|
|
||||||
Note that when serving this app via [althttpd][], it must be a version
|
When serving this app via [althttpd][], it must be a version from
|
||||||
from 2022-09-26 or newer so that it recognizes the `--enable-sab`
|
2022-09-26 or newer so that it recognizes the `--enable-sab` flag,
|
||||||
flag, which causes althttpd to emit two HTTP response headers which
|
which causes althttpd to emit two HTTP response headers which are
|
||||||
are required to enable JavaScript's `SharedArrayBuffer` and `Atomics`
|
required to enable JavaScript's `SharedArrayBuffer` and `Atomics`
|
||||||
APIs. Those APIs are required in order to enable the [OPFS][]-related
|
APIs. Those APIs are required in order to enable the [OPFS][]-related
|
||||||
features in the apps which use them.
|
features in the apps which use them.
|
||||||
|
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ multiple JS files because:
|
|||||||
3. Certain components must be in their own standalone files in order
|
3. Certain components must be in their own standalone files in order
|
||||||
to be loaded as JS Workers.
|
to be loaded as JS Workers.
|
||||||
|
|
||||||
Note that the structure described here is the current state of things,
|
The structure described here is the current state of things, as of
|
||||||
as of this writing, but is not set in stone forever and may change
|
this writing, but is not set in stone forever and may change at any
|
||||||
at any time.
|
time.
|
||||||
|
|
||||||
The overall idea is that the following files get concatenated
|
The overall idea is that the following files get concatenated
|
||||||
together, in the listed order, the resulting file is loaded by a
|
together, in the listed order, the resulting file is loaded by a
|
||||||
@@ -29,13 +29,15 @@ browser client:
|
|||||||
objects. This is exposed as a function, rather than objects, so that
|
objects. This is exposed as a function, rather than objects, so that
|
||||||
the next step can pass in a config object which abstracts away parts
|
the next step can pass in a config object which abstracts away parts
|
||||||
of the WASM environment, to facilitate plugging it in to arbitrary
|
of the WASM environment, to facilitate plugging it in to arbitrary
|
||||||
WASM toolchains.
|
WASM toolchains. The bootstrapping function gets removed from the
|
||||||
|
global scope in a later stage of the bootstrapping process.
|
||||||
- **`../common/whwasmutil.js`**\
|
- **`../common/whwasmutil.js`**\
|
||||||
A semi-third-party collection of JS/WASM utility code intended to
|
A semi-third-party collection of JS/WASM utility code intended to
|
||||||
replace much of the Emscripten glue. The sqlite3 APIs internally use
|
replace much of the Emscripten glue. The sqlite3 APIs internally use
|
||||||
these APIs instead of their Emscripten counterparts, in order to be
|
these APIs instead of their Emscripten counterparts, in order to be
|
||||||
more portable to arbitrary WASM toolchains. This API is
|
more portable to arbitrary WASM toolchains and help reduce
|
||||||
configurable, in principle, for use with arbitrary WASM
|
regressions caused by toolchain-level behavioral changes. This API
|
||||||
|
is configurable, in principle, for use with arbitrary WASM
|
||||||
toolchains. It is "semi-third-party" in that it was created in order
|
toolchains. It is "semi-third-party" in that it was created in order
|
||||||
to support this tree but is standalone and maintained together
|
to support this tree but is standalone and maintained together
|
||||||
with...
|
with...
|
||||||
@@ -48,8 +50,8 @@ browser client:
|
|||||||
- **`sqlite3-api-glue.js`**\
|
- **`sqlite3-api-glue.js`**\
|
||||||
Invokes functionality exposed by the previous two files to flesh out
|
Invokes functionality exposed by the previous two files to flesh out
|
||||||
low-level parts of `sqlite3-api-prologue.js`. Most of these pieces
|
low-level parts of `sqlite3-api-prologue.js`. Most of these pieces
|
||||||
related to populating the `sqlite3.capi.wasm` object. This file
|
involve populating the `sqlite3.capi.wasm` object. This file also
|
||||||
also deletes most global-scope symbols the above files create,
|
deletes most global-scope symbols the above files create,
|
||||||
effectively moving them into the scope being used for initializing
|
effectively moving them into the scope being used for initializing
|
||||||
the API.
|
the API.
|
||||||
- **`<build>/sqlite3-api-build-version.js`**\
|
- **`<build>/sqlite3-api-build-version.js`**\
|
||||||
@@ -60,8 +62,8 @@ browser client:
|
|||||||
Provides a high-level object-oriented wrapper to the lower-level C
|
Provides a high-level object-oriented wrapper to the lower-level C
|
||||||
API, colloquially known as OO API #1. Its API is similar to other
|
API, colloquially known as OO API #1. Its API is similar to other
|
||||||
high-level sqlite3 JS wrappers and should feel relatively familiar
|
high-level sqlite3 JS wrappers and should feel relatively familiar
|
||||||
to anyone familiar with such APIs. That said, it is not a "required
|
to anyone familiar with such APIs. It is not a "required component"
|
||||||
component" and can be elided from builds which do not want it.
|
and can be elided from builds which do not want it.
|
||||||
- **`sqlite3-api-worker1.js`**\
|
- **`sqlite3-api-worker1.js`**\
|
||||||
A Worker-thread-based API which uses OO API #1 to provide an
|
A Worker-thread-based API which uses OO API #1 to provide an
|
||||||
interface to a database which can be driven from the main Window
|
interface to a database which can be driven from the main Window
|
||||||
@@ -96,7 +98,7 @@ browser client:
|
|||||||
amalgamation.
|
amalgamation.
|
||||||
- **`sqlite3-vfs-opfs-sahpool.c-pp.js`**\
|
- **`sqlite3-vfs-opfs-sahpool.c-pp.js`**\
|
||||||
is another sqlite3 VFS supporting the [OPFS][], but uses a
|
is another sqlite3 VFS supporting the [OPFS][], but uses a
|
||||||
completely different approach that the above-listed one.
|
completely different approach than the above-listed one.
|
||||||
- **`sqlite3-api-cleanup.js`**\
|
- **`sqlite3-api-cleanup.js`**\
|
||||||
The previous files do not immediately extend the library. Instead
|
The previous files do not immediately extend the library. Instead
|
||||||
they add callback functions to be called during its
|
they add callback functions to be called during its
|
||||||
@@ -106,8 +108,11 @@ browser client:
|
|||||||
process, which is what finally executes the initialization code
|
process, which is what finally executes the initialization code
|
||||||
installed by the previous files. As of this writing, this code
|
installed by the previous files. As of this writing, this code
|
||||||
ensures that the previous files leave no more than a single global
|
ensures that the previous files leave no more than a single global
|
||||||
symbol installed. When adapting the API for non-Emscripten
|
symbol installed - `sqlite3InitModule()`. When adapting the API for
|
||||||
toolchains, this "should" be the only file where changes are needed.
|
non-Emscripten toolchains, this "should" be the only file, of those
|
||||||
|
in this list, where changes are needed. The Emscripten-specific
|
||||||
|
pieces described below may also require counterparts in any as-yet
|
||||||
|
hypothetical alternative build.
|
||||||
|
|
||||||
|
|
||||||
**Files with the extension `.c-pp.js`** are intended [to be processed
|
**Files with the extension `.c-pp.js`** are intended [to be processed
|
||||||
@@ -130,25 +135,25 @@ WASM-specific helper functions, at least one of which requires access
|
|||||||
to private/static `sqlite3.c` internals. `sqlite3.wasm` is compiled
|
to private/static `sqlite3.c` internals. `sqlite3.wasm` is compiled
|
||||||
from this file rather than `sqlite3.c`.
|
from this file rather than `sqlite3.c`.
|
||||||
|
|
||||||
The following files are part of the build process but are injected
|
The following Emscripten-specific files are injected into the
|
||||||
into the build-generated `sqlite3.js` along with `sqlite3-api.js`.
|
build-generated `sqlite3.js` along with `sqlite3-api.js`.
|
||||||
|
|
||||||
- `extern-pre-js.js`\
|
- **`extern-pre-js.js`**\
|
||||||
Emscripten-specific header for Emscripten's `--extern-pre-js`
|
Emscripten-specific header for Emscripten's `--extern-pre-js`
|
||||||
flag. As of this writing, that file is only used for experimentation
|
flag. As of this writing, that file is only used for experimentation
|
||||||
purposes and holds no code relevant to the production deliverables.
|
purposes and holds no code relevant to the production deliverables.
|
||||||
- `pre-js.c-pp.js`\
|
- **`pre-js.c-pp.js`**\
|
||||||
Emscripten-specific header for Emscripten's `--pre-js` flag. This
|
Emscripten-specific header for Emscripten's `--pre-js` flag. This
|
||||||
file is intended as a place to override certain Emscripten behavior
|
file is intended as a place to override certain Emscripten behavior
|
||||||
before it starts up, but corner-case Emscripten bugs keep that from
|
before it starts up, but corner-case Emscripten bugs keep that from
|
||||||
being a reality.
|
being a reality.
|
||||||
- `post-js-header.js`\
|
- **`post-js-header.js`**\
|
||||||
Emscripten-specific header for the `--post-js` input. It opens up
|
Emscripten-specific header for the `--post-js` input. It opens up
|
||||||
a lexical scope by starting a post-run handler for Emscripten.
|
a lexical scope by starting a post-run handler for Emscripten.
|
||||||
- `post-js-footer.js`\
|
- **`post-js-footer.js`**\
|
||||||
Emscripten-specific footer for the `--post-js` input. This closes
|
Emscripten-specific footer for the `--post-js` input. This closes
|
||||||
off the lexical scope opened by `post-js-header.js`.
|
off the lexical scope opened by `post-js-header.js`.
|
||||||
- `extern-post-js.c-pp.js`\
|
- **`extern-post-js.c-pp.js`**\
|
||||||
Emscripten-specific header for Emscripten's `--extern-post-js`
|
Emscripten-specific header for Emscripten's `--extern-post-js`
|
||||||
flag. This file overwrites the Emscripten-installed
|
flag. This file overwrites the Emscripten-installed
|
||||||
`sqlite3InitModule()` function with one which, after the module is
|
`sqlite3InitModule()` function with one which, after the module is
|
||||||
|
|||||||
@@ -4,10 +4,9 @@
|
|||||||
a blank line for a sed-based kludge for the ES6 build. */
|
a blank line for a sed-based kludge for the ES6 build. */
|
||||||
/* extern-post-js.js must be appended to the resulting sqlite3.js
|
/* extern-post-js.js must be appended to the resulting sqlite3.js
|
||||||
file. It gets its name from being used as the value for the
|
file. It gets its name from being used as the value for the
|
||||||
--extern-post-js=... Emscripten flag. Note that this code, unlike
|
--extern-post-js=... Emscripten flag. This code, unlike most of the
|
||||||
most of the associated JS code, runs outside of the
|
associated JS code, runs outside of the Emscripten-generated module
|
||||||
Emscripten-generated module init scope, in the current
|
init scope, in the current global scope. */
|
||||||
global scope. */
|
|
||||||
//#if target=es6-module
|
//#if target=es6-module
|
||||||
const toExportForESM =
|
const toExportForESM =
|
||||||
//#endif
|
//#endif
|
||||||
@@ -78,9 +77,9 @@ const toExportForESM =
|
|||||||
EmscriptenModule['ENVIRONMENT_IS_PTHREAD']){
|
EmscriptenModule['ENVIRONMENT_IS_PTHREAD']){
|
||||||
/** Workaround for wasmfs-generated worker, which calls this
|
/** Workaround for wasmfs-generated worker, which calls this
|
||||||
routine from each individual thread and requires that its
|
routine from each individual thread and requires that its
|
||||||
argument be returned. The conditional criteria above are
|
argument be returned. The if() condition above is fragile,
|
||||||
fragile, based solely on inspection of the offending code,
|
based solely on inspection of the offending code, not
|
||||||
not public Emscripten details. */
|
public Emscripten details. */
|
||||||
//console.warn("sqlite3InitModule() returning E-module.",EmscriptenModule);
|
//console.warn("sqlite3InitModule() returning E-module.",EmscriptenModule);
|
||||||
return EmscriptenModule;
|
return EmscriptenModule;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ sqlite3InitModuleState.debugModule('globalThis.location =',globalThis.location);
|
|||||||
1) If URL param named the same as `path` is set, it is returned.
|
1) If URL param named the same as `path` is set, it is returned.
|
||||||
|
|
||||||
2) If sqlite3InitModuleState.sqlite3Dir is set, then (thatName + path)
|
2) If sqlite3InitModuleState.sqlite3Dir is set, then (thatName + path)
|
||||||
is returned (note that it's assumed to end with '/').
|
is returned (it's assumed to end with '/').
|
||||||
|
|
||||||
3) If this code is running in the main UI thread AND it was loaded
|
3) If this code is running in the main UI thread AND it was loaded
|
||||||
from a SCRIPT tag, the directory part of that URL is used
|
from a SCRIPT tag, the directory part of that URL is used
|
||||||
|
|||||||
20
manifest
20
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Add\stest\scase\sfor\spushing\sWHERE\sconstraints\sinto\sa\sUNION\ssub-query\sthat\suses\svirtual\stables.
|
C Random\swasm\sinternal\sdoc\scleanups.\sNo\scode\schanges.
|
||||||
D 2025-09-02T14:59:16.366
|
D 2025-09-03T13:39:15.597
|
||||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
@@ -579,7 +579,7 @@ F ext/session/test_session.c 8766b5973a6323934cb51248f621c3dc87ad2a98f023c3cc280
|
|||||||
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
|
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
|
||||||
F ext/wasm/GNUmakefile 35e730a01b32481f5483ea5bd72c3d4609e25f34cb5aab9f85eb3eba6f0c4935
|
F ext/wasm/GNUmakefile 35e730a01b32481f5483ea5bd72c3d4609e25f34cb5aab9f85eb3eba6f0c4935
|
||||||
F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
|
F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
|
||||||
F ext/wasm/README.md b89605f65661cf35bf034ff6d43e448cc169b8017fc105d498e33b81218b482c
|
F ext/wasm/README.md 66ace67ae98a45e4116f2ca5425b716887bcee4d64febee804ff6398e1ae9ec7
|
||||||
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
|
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
|
||||||
F ext/wasm/SQLTester/SQLTester.mjs 66e1adc3d79467b68e3e40614fd42c1a577c7e219ec0985db966eded52a941e5
|
F ext/wasm/SQLTester/SQLTester.mjs 66e1adc3d79467b68e3e40614fd42c1a577c7e219ec0985db966eded52a941e5
|
||||||
F ext/wasm/SQLTester/SQLTester.run.mjs 57f2adb33f43f2784abbf8026c1bfd049d8013af1998e7dcb8b50c89ffc332e0
|
F ext/wasm/SQLTester/SQLTester.run.mjs 57f2adb33f43f2784abbf8026c1bfd049d8013af1998e7dcb8b50c89ffc332e0
|
||||||
@@ -589,12 +589,12 @@ F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-core 2bcbbfe3b95c043ed6037e2708a2ee078
|
|||||||
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-extras cb4fa8842c875b6ee99381523792975c5ebb7371bd27fbd1bd863a43c7f3505a
|
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-extras cb4fa8842c875b6ee99381523792975c5ebb7371bd27fbd1bd863a43c7f3505a
|
||||||
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-see fb29e62082a658f0d81102488414d422c393c4b20cc2f685b216bc566237957b
|
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-see fb29e62082a658f0d81102488414d422c393c4b20cc2f685b216bc566237957b
|
||||||
F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
|
F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
|
||||||
F ext/wasm/api/README.md c64ec8e84449c069e0217706d9d7d31b3bd53627228b2ba0c3cddbdc2350ca66
|
F ext/wasm/api/README.md 7f029c5fe83b3493931d2fb915e2febd3536267d538a56408a6fef284ea38d29
|
||||||
F ext/wasm/api/extern-post-js.c-pp.js 3fcd904f1204685dea84e5ae90d8b7e65a1dcebab1e838386d8328b74cce46c9
|
F ext/wasm/api/extern-post-js.c-pp.js d8f5ffa354c790d89681d0a23594c02347d28046d60151bd598712fbdff6056c
|
||||||
F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41
|
F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41
|
||||||
F ext/wasm/api/post-js-footer.js 365405929f41ca0e6d389ed8a8da3f3c93e11d3ef43a90ae151e37fa9f75bf41
|
F ext/wasm/api/post-js-footer.js 365405929f41ca0e6d389ed8a8da3f3c93e11d3ef43a90ae151e37fa9f75bf41
|
||||||
F ext/wasm/api/post-js-header.js 53740d824e5d9027eb1e6fd59e216abbd2136740ce260ea5f0699ff2acb0a701
|
F ext/wasm/api/post-js-header.js 53740d824e5d9027eb1e6fd59e216abbd2136740ce260ea5f0699ff2acb0a701
|
||||||
F ext/wasm/api/pre-js.c-pp.js a614a2c82b12c4d96d8e3ba77330329efc53c4d56a8a7e60ade900f341866cfb
|
F ext/wasm/api/pre-js.c-pp.js 58f823de197e2c10d76179aa05410a593b7ae03e1ece983bb42ffd818e8857e1
|
||||||
F ext/wasm/api/sqlite3-api-cleanup.js 3ac1786e461ada63033143be8c3b00b26b939540661f3e839515bb92f2e35359
|
F ext/wasm/api/sqlite3-api-cleanup.js 3ac1786e461ada63033143be8c3b00b26b939540661f3e839515bb92f2e35359
|
||||||
F ext/wasm/api/sqlite3-api-glue.c-pp.js 0b76510f3650053bac67ca8947cb6ab9d050ad2218118a2e7796dd37be832ffa
|
F ext/wasm/api/sqlite3-api-glue.c-pp.js 0b76510f3650053bac67ca8947cb6ab9d050ad2218118a2e7796dd37be832ffa
|
||||||
F ext/wasm/api/sqlite3-api-oo1.c-pp.js 852f2cd6acddbae487fc4f1c3ec952e6c1e2033aa4e6c7091d330d983c87c032
|
F ext/wasm/api/sqlite3-api-oo1.c-pp.js 852f2cd6acddbae487fc4f1c3ec952e6c1e2033aa4e6c7091d330d983c87c032
|
||||||
@@ -2172,8 +2172,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
|
|||||||
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
||||||
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
|
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
|
||||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||||
P 55744ca8b8f2f95ba8bd3e01ef89e21e26c8547912c9d5637afe772d17f34486
|
P 13c80e903ee7f178528918716b11fc0b57fc50b923dcd8aeabf9e6e04e93cdae
|
||||||
R be5632311d45cdba9967fc14583b2918
|
R d4bf7edf1868ff7033014bf0bf84ebaf
|
||||||
U dan
|
U stephan
|
||||||
Z 29bc2637cfcfc43e3bf668a29f18cbf3
|
Z d6448a1531d4b5bb134ac998a221cb98
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
13c80e903ee7f178528918716b11fc0b57fc50b923dcd8aeabf9e6e04e93cdae
|
70923a00cfca2c64b7c7c824325ab75cdd05d452b79d2eaf43297898af891c47
|
||||||
|
|||||||
Reference in New Issue
Block a user