Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove some dead JS code and update some JS docs. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
6935ac71bad3d36cc519f0325ae4447a |
User & Date: | stephan 2024-06-11 17:04:43 |
Context
2024-06-12
| ||
11:39 | Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes. (check-in: 2af7a96f user: stephan tags: trunk) | |
2024-06-11
| ||
22:47 | A second approach to working on the round() function so that it gives a small boost to numbers that are ...49999999 such that they round up. (check-in: 44dd6328 user: drh tags: round-up-2) | |
20:03 | Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: 4ae3300b user: dan tags: unix-dotfile-fix) | |
17:37 | Merge trunk enhancements into the exists-to-join branch. (check-in: 5f25a951 user: drh tags: exists-to-join) | |
17:04 | Remove some dead JS code and update some JS docs. (check-in: 6935ac71 user: stephan tags: trunk) | |
17:04 | When compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit goto label is reachable. (check-in: 06e6f645 user: stephan tags: trunk) | |
Changes
Changes to ext/wasm/api/sqlite3-api-worker1.js.
︙ | ︙ | |||
567 568 569 570 571 572 573 | [ 'bigIntEnabled' ].forEach(function(k){ if(Object.getOwnPropertyDescriptor(src, k)) rc[k] = src[k]; }); rc.version = sqlite3.version; rc.vfsList = sqlite3.capi.sqlite3_js_vfs_list(); | < | 567 568 569 570 571 572 573 574 575 576 577 578 579 580 | [ 'bigIntEnabled' ].forEach(function(k){ if(Object.getOwnPropertyDescriptor(src, k)) rc[k] = src[k]; }); rc.version = sqlite3.version; rc.vfsList = sqlite3.capi.sqlite3_js_vfs_list(); return rc; }, /** Exports the database to a byte array, as per sqlite3_serialize(). Response is an object: |
︙ | ︙ | |||
594 595 596 597 598 599 600 | }; wState.xfer.push(response.byteArray.buffer); return response; }/*export()*/, toss: function(ev){ toss("Testing worker exception"); | < < < < < < | 593 594 595 596 597 598 599 600 601 602 603 604 605 606 | }; wState.xfer.push(response.byteArray.buffer); return response; }/*export()*/, toss: function(ev){ toss("Testing worker exception"); } }/*wMsgHandler*/; globalThis.onmessage = async function(ev){ ev = ev.data; let result, dbId = ev.dbId, evType = ev.type; const arrivalTime = performance.now(); |
︙ | ︙ |
Changes to ext/wasm/api/sqlite3-vfs-opfs.c-pp.js.
︙ | ︙ | |||
34 35 36 37 38 39 40 | - The counterpart Worker (see below) could not be loaded. - The environment does not support OPFS. That includes when this function is called from the main window thread. Significant notes and limitations: | < < < < | | > | | | > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | - The counterpart Worker (see below) could not be loaded. - The environment does not support OPFS. That includes when this function is called from the main window thread. Significant notes and limitations: - The OPFS features used here are only available in dedicated Worker threads. This file tries to detect that case, resulting in a rejected Promise if those features do not seem to be available. - It requires the SharedArrayBuffer and Atomics classes, and the former is only available if the HTTP server emits the so-called COOP and COEP response headers. These features are required for proxying OPFS's synchronous API via the synchronous interface required by the sqlite3_vfs API. - This function may only be called a single time. When called, this function removes itself from the sqlite3 object. All arguments to this function are for internal/development purposes only. They do not constitute a public API and may change at any time. The argument may optionally be a plain object with the following configuration options: - proxyUri: name of the async proxy JS file. - verbose (=2): an integer 0-3. 0 disables all logging, 1 enables logging of errors. 2 enables logging of warnings and errors. 3 additionally enables debugging info. Logging is performed via the sqlite3.config.{log|warn|error}() functions. - sanityChecks (=false): if true, some basic sanity tests are run on the OPFS VFS API after it's initialized, before the returned Promise resolves. This is only intended for testing and development of the VFS, not client-side use. On success, the Promise resolves to the top-most sqlite3 namespace object and that object gets a new object installed in its `opfs` property, containing several OPFS-specific utilities. */ const installOpfsVfs = function callee(options){ if(!globalThis.SharedArrayBuffer |
︙ | ︙ | |||
990 991 992 993 994 995 996 | }catch(e){ //sqlite3.config.warn("mkdir(",absDirName,") failed:",e); return false; } }; /** Checks whether the given OPFS filesystem entry exists, | | > > | 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 | }catch(e){ //sqlite3.config.warn("mkdir(",absDirName,") failed:",e); return false; } }; /** Checks whether the given OPFS filesystem entry exists, returning true if it does, false if it doesn't or if an exception is intercepted while trying to make the determination. */ opfsUtil.entryExists = async function(fsEntryName){ try { const [dh, fn] = await opfsUtil.getDirForFilename(fsEntryName); await dh.getFileHandle(fn); return true; }catch(e){ |
︙ | ︙ | |||
1106 1107 1108 1109 1110 1111 1112 | }); } return false; } }; /** | | | | | 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 | }); } return false; } }; /** Traverses the OPFS filesystem, calling a callback for each entry. The argument may be either a callback function or an options object with any of the following properties: - `callback`: function which gets called for each filesystem entry. It gets passed 3 arguments: 1) the FileSystemFileHandle or FileSystemDirectoryHandle of each entry (noting that both are instanceof FileSystemHandle). 2) the FileSystemDirectoryHandle of the parent directory. 3) the current depth level, with 0 being at the top of the tree |
︙ | ︙ | |||
1138 1139 1140 1141 1142 1143 1144 | If this function is passed a function, it is assumed to be the callback. Returns a promise because it has to (by virtue of being async) but that promise has no specific meaning: the traversal it performs is synchronous. The promise must be used to catch any exceptions propagated by the callback, however. | < < < < < | 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 | If this function is passed a function, it is assumed to be the callback. Returns a promise because it has to (by virtue of being async) but that promise has no specific meaning: the traversal it performs is synchronous. The promise must be used to catch any exceptions propagated by the callback, however. */ opfsUtil.traverse = async function(opt){ const defaultOpt = { recursive: true, directory: opfsUtil.rootDirectory }; if('function'===typeof opt){ |
︙ | ︙ |