SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

200 most recent check-ins using file test/snapshot_fault.test version f6c5ef7c

2023-11-29
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. (Leaf check-in: f10d4fc4 user: drh tags: branch-3.28)
16:07
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: f9c6e6a7 user: drh tags: branch-3.28)
2023-10-19
21:05
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: d4bfa8d2 user: drh tags: branch-3.28)
2023-10-12
20:03
Fix a problem with an fts5 secure-delete on a rowid/term pair that follows a legacy delete of the same pair. (Leaf check-in: f5913e76 user: dan tags: branch-3.42)
2023-09-15
20:04
Drop support for the view-scan optimization as it was causing multiple performance regressions. In its place, reduce the estimated row count for DISTINCT subsqueries by a factor of 8. (check-in: 796a65fa user: drh tags: branch-3.28)
2023-09-08
19:32
Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records. (check-in: cc0f82a4 user: dan tags: branch-3.42)
2023-09-02
22:07
Eliminate a redundant NK_DbAboutToClose notification. (Leaf check-in: eccffaa7 user: larrybr tags: cli_extension)
22:00
Issue NK_DbAboutToClose notifications for any shell DB about to be closed, whether presently visible in ShellExState or not. (check-in: 8e6e54e4 user: larrybr tags: cli_extension)
2023-08-11
20:32
Fix a makefile deps problem which caused ext/jni build to fail if sqlite3.c/h were not created beforehand. (check-in: 101de670 user: stephan tags: jni)
18:59
Minor SQLTester test tweaks and have 'make tester' include the out-of-tree tests if they are found. (check-in: 6c8538d8 user: stephan tags: jni)
18:31
Fix a problem with handling savepoints in BEGIN CONCURRENT transactions. (check-in: ca422d00 user: dan tags: bedrock)
18:25
Fix a problem with handling savepoints in BEGIN CONCURRENT transactions. (check-in: 4a5c0439 user: dan tags: begin-concurrent)
18:04
Bind sqlite3_sql() and sqlite3_expanded_sql() to JNI. Start marking C-side functions which would need explicit mutex support if we remove 'synchronized' from their Java entry points (but there are many more left to mark). (check-in: c7fb32d1 user: stephan tags: jni)
17:45
Add a doc link for the new sqlite3_js_posix_create_file(). (check-in: 0d7aac45 user: stephan tags: trunk)
17:38
Add sqlite3.capi.sqlite3_js_posix_create_file() and oo1.OpfsDb.importDb() as alternatives for the newly-deprecated sqlite3_js_vfs_create_file(). (check-in: da6eaf8d user: stephan tags: trunk)
14:31
Deprecate sqlite3_js_vfs_create_file() because, it was discovered today, its out-of-scope use of the sqlite3_vfs, sqlite3_file, and sqlite3_io_methods APIs triggers unresolvable assertions in the core when built with SQLITE_DEBUG. (check-in: f3647a3a user: stephan tags: trunk)
11:46
Merge all the latest trunk enhancements into the bedrock branch. (check-in: 859932eb user: drh tags: bedrock)
11:40
Merge the latest trunk enhancements into the wal2 branch. (check-in: fe1bf30c user: drh tags: wal2)
11:34
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 7cb2b4e3 user: drh tags: begin-concurrent)
11:30
Provide the -DSQLITE_LEGACY_JSON_VALID compile-time option to restore the (incorrect) legacy behavior of json_valid(NULL). (check-in: 00bc9f1b user: drh tags: trunk)
11:24
Fix bug in the test case for the previous check-in. (Closed-Leaf check-in: c5daae88 user: drh tags: legacy-json-valid)
11:23
Update test scripts specific to this branch so that they work on windows. (check-in: f0ca13ed user: dan tags: wal2)
11:12
Up until version 3.42.0, there was a bug in json_valid() such that it would return False (0) for a NULL input. That bug is fixed in 3.42.0. This check-in adds a compile-time option -DSQLITE_LEGACY_JSON_VALID that restores the old buggy behavior for applications that depend on it. (check-in: 15c2eadb user: drh tags: legacy-json-valid)
2023-08-10
21:50
Mark _all_ JNI binding funcs as synchronized so that Java can lock them and protect our global-state access. The alternative is writing a mountain of C-side code to do the same thing. (check-in: afe190a9 user: stephan tags: jni)
21:29
Work around jdk8 and jdk19 mangling the C name of sqlite3_db_config() differently. Correct the variadic arg handling of the JNI-side subset of sqlite3_db_config() options. (check-in: 746894c3 user: stephan tags: jni)
20:52
Add a working dist zip file for the JNI bits. (check-in: d6a4d212 user: stephan tags: jni)
18:57
Initial pass at 'make dist' rules for the JNI bundle, but they still need a bare-bones, posix-make-compatible makefile to include in the bundle. (check-in: ff54e66a user: stephan tags: jni)
18:50
New testcase() macro in the tokenizer, to better document its behavior. (check-in: b2fdac0b user: drh tags: trunk)
17:39
Merge trunk into jni branch for the newly-relocated version-info tool. (check-in: cc8e8cba user: stephan tags: jni)
17:32
Move ext/wasm/version-info.c to tool/ for re-use in build other dist bundles. (check-in: 4b0871fd user: stephan tags: trunk)
17:04
Mark test script wal2big.test as "TESTRUNNER: slow". (check-in: ae7f3bcb user: dan tags: wal2)
17:03
Merge latest trunk changes into this branch. (check-in: 72f7807b user: dan tags: wal2)
16:42
Add SQLTester --keep-going flag to allow it to continue to the next script after an error. (check-in: 4d635f78 user: stephan tags: jni)
13:10
Document that auto-extensions registered via JNI will fail if they open a db (to avoid triggering an endless loop in the auto-extensions). Discover the hard way that JDKv19 creates different mangled JNI names for some functions than JDKv8. Start reformatting much of the JNI API decls in prep for making them even longer. (check-in: 99c0941f user: stephan tags: jni)
12:36
Resolve two assertions in the auto-extension JNI which were triggered via new SQLTester infrastructure. Move SQLTester's db-init SQL injection into an auto-extension. (check-in: 2952906c user: stephan tags: jni)
11:15
Make test completion status more visible at a glance on modern terminals. (check-in: a4e96c30 user: stephan tags: jni)
11:04
Disable REQUIRED_PROPERTIES handling in SQLTester, per /chat. Scripts with that directive are now skipped. (check-in: ddc534cb user: stephan tags: jni)
10:58
Add a visual indicator (emoji) to TestScript verbose messages, dependent on the message's level of verbosity. (check-in: dc323d38 user: stephan tags: jni)
10:44
Add the current --testcase name to SQLTester --verbose output. (check-in: f8736740 user: stephan tags: jni)
10:34
More SQLTester docs. Add --verbosity command to help zoom in on script areas while debugging. Spice up test-start/end output with some emoji. (check-in: 8dd08021 user: stephan tags: jni)
05:25
Give DbException the option of closing the db to simplify error handling in one case. (check-in: 908c9a44 user: stephan tags: jni)
05:14
Initial version of REQUIRED_PROPERTIES support for SQLTester, with TEMPSTORE_(FILE/MEM) and RECURSIVE_TRIGGERS options. (check-in: 48d16c9d user: stephan tags: jni)
04:24
Generic cleanups and fixes in SQLTester. (check-in: fc5d3cc3 user: stephan tags: jni)
02:09
Change the SQLite3Jni API annotations to use SOURCE retention (used only at compile-time). (check-in: 3c3fea6b user: stephan tags: jni)
01:44
Move all of the SQLTester code into a single file, since it's only got 1 public class. Remove 'public' from many methods which don't need it. Add more documentation to it. (check-in: 2815d676 user: stephan tags: jni)
01:19
Defer static JNI-side init of SQLTester until main() is called so that its auto-extensions do not leak over to clients of the main library. (check-in: e461fdd5 user: stephan tags: jni)
01:05
Merge trunk into jni branch. (check-in: 52fa6f78 user: stephan tags: jni)
01:03
Treat all args to --glob as a single glob. (check-in: 4737bd34 user: stephan tags: jni)
00:58
Remove --print's ability to read ahead. (check-in: 15cfee97 user: stephan tags: jni)
00:34
Replace the SQLTester infrastructure with a line-oriented, non-regex-heavy parser. Add --column-names command. (check-in: 88863908 user: stephan tags: jni)
2023-08-09
23:47
Port the SQLTester 'v1' commands to the 'v2' evaluation bits. Still TODO is swapping out v1 with these separate impls. (check-in: 0cf57e5b user: stephan tags: jni)
22:30
Correct REQUIRED_PROPERTIES handling to not fail if there are no properties. (check-in: 7a19bef4 user: stephan tags: jni)
22:18
More for the SQLTester rework. Can read input and dispatch commands, but only --print is currently implemented. (check-in: 4fa2ad33 user: stephan tags: jni)
19:51
Initial sketches of a line-by-line parser for SQLTester to overcome its compatibility shortcomings. Far from complete. (check-in: 43534cd0 user: stephan tags: jni)
18:25
Adapt TestScript to skip REQUIRED_PROPERTIES, per [7a07863e082664da], and improve a couple of adject reasons-for-skipping messages. (check-in: f937097e user: stephan tags: jni)
17:47
Add an extra constraint to the test-script-interpreter.md spec. (check-in: 7a07863e user: drh tags: jni)
17:23
SQLTester --result command: do not double-{}-wrap error messages and do not throw on db error. (check-in: f7be20f5 user: stephan tags: jni)
17:04
Move the test command body's trim() back into the TestScript class (to simplify Command-level code) but do it after double-verbose has had the chance to emit it as-is (so that debug output is not mangled by the trim). (check-in: f15ecb68 user: stephan tags: jni)
16:56
Tweak the SQLTester --verbose and double-verbose output a bit for legibility. (check-in: 46b79afa user: stephan tags: jni)
16:29
Strip --oom commands from SQLTester input since (A) we can't currently do anything with them and (B) they can appear as body content of --testcase commands and the current parser cannot deal with that. If --verbose is provided once, emit the name and args of each command as it's run. If --verbose is used twice or more, also emit the command's body text, if any. (check-in: 0770e846 user: stephan tags: jni)
16:03
Update the definition of "special characters" for the SQLTester and correct the code to match it. (check-in: 217f6e0c user: stephan tags: jni)
15:46
Extend TestScript to be able to report why it should be skipped. Expand the test-skipping rules to account for the current spec doc. Add the {} empty-string case to the spec doc. (check-in: 4fcc8cb0 user: stephan tags: jni)
14:47
Add a test for the --null command. (check-in: 83ac815d user: stephan tags: jni)
14:43
Extend SQLTester glob support with '#'. (check-in: 756ef83f user: stephan tags: jni)
14:24
Implement the SQLTester's result escaping rules. (check-in: 61bb9508 user: stephan tags: jni)
13:51
Add --json and --json-block SQLTester commands. (check-in: 478129d9 user: stephan tags: jni)
13:16
Add SQLTester --tableresult command. (check-in: 8c5b6d89 user: stephan tags: jni)
12:05
Clean up the SQLTester output a bit by using the module name, instead of filename, where appropriate. (check-in: 5323e4fd user: stephan tags: jni)
11:10
Document SQLTester's --print command and add some argument validation to it. (check-in: ab9c945b user: stephan tags: jni)
11:05
Rework how SQLTester's Command objects are dispatched and how TestScript stores its command entries. (check-in: f929f1f7 user: stephan tags: jni)
09:56
Some minor tweaks in SQLTester in prep for larger refactoring. (check-in: 1d93f93a user: stephan tags: jni)
2023-08-08
22:10
Remove the current-statement tracking from the JNI internals because it will break down in the face of client-side mixed-mode native/java code, e.g. in cases like SQLTester. This makes tracing of sqlite3_stmt a micron slower but also reliably correct. (check-in: 4c0ec89d user: stephan tags: jni)
21:22
Adapt JNI build to be buildable with or without SQLTester. (check-in: adae7d78 user: stephan tags: jni)
21:05
Add SQLTester dup() and dup_count() UDFs. Correct arg handling of the --run command. (check-in: 0dba3073 user: stephan tags: jni)
20:41
Correct --result arg count check and add infrastructure to let us add custom C-side behavior to SQLTester via an auto extension. (check-in: bb832170 user: stephan tags: jni)
20:15
If SQLTester now treats a no-args --result as comparing against an empty string. (check-in: 49005ca5 user: stephan tags: jni)
20:02
Add glob/notglob commands to SQLTester and complete the interrupted-midway impls of the strglob() and strlike() JNI bindings. (check-in: 4ba98ec0 user: stephan tags: jni)
19:20
When SQLTester hits an unknown command, emit a warning and skip the rest of that script instead of aborting the whole run, per /chat discussion. Reduce verbosity a bit. (check-in: 3e78d22d user: stephan tags: jni)
17:36
Minor cleanups in sqlite3Int.h. By reordering some fields in the Parse object, it packs more tightly and uses less memory and less CPU to initialize. (check-in: aa6de539 user: drh tags: trunk)
16:53
Fix an issue in the amalgamation generator in which it was not correctly expanding the SQLite version in the header comment. (check-in: 293f6191 user: drh tags: trunk)
14:58
Correct the spacing output of multi-select SQL blocks for SQLTester --result. (check-in: 8d98645a user: stephan tags: jni)
14:49
Updates to the test script interpreter spec: Rather than failing immediately upon encountering an incompatibility, simply abandon the rest of that particular input file. (check-in: d2c99b96 user: drh tags: jni)
14:40
A number of baby steps for SQLTester.java. It can now handle basic --result cases. (check-in: 0404f688 user: stephan tags: jni)
14:25
Add a few words of clarification on how the SQLite Test Script Interpreter should be initialized to start each test script. (check-in: 3aa2b5a5 user: drh tags: jni)
13:05
Correct JNI sqlite3_prepare() to emit a null stmt handle when the C counterpart succeeds but results in a NULL pointer. (check-in: 94628f88 user: stephan tags: jni)
11:46
Implement the new/open/close SQLTester commands. (check-in: dc823bf0 user: stephan tags: jni)
11:46
Add a JNI-layer sqlite3.toString() for debugging. (check-in: 45669164 user: stephan tags: jni)
10:58
Bind sqlite3_strlike/strglob() to JNI. (check-in: eb5440f7 user: stephan tags: jni)
09:45
SQLTester: add print command and improve argument error reporting infrastructure. (check-in: 1b6e84f6 user: stephan tags: jni)
00:59
Add missing license header. Minor cleanups in SQLTester. (check-in: 5be50fd5 user: stephan tags: jni)
00:37
Rework SQLTester dispatching and add stub impls for several commmands. (check-in: 9e61af75 user: stephan tags: jni)
2023-08-07
23:59
Add command dispatcher to SQLTester. (check-in: e0a06931 user: stephan tags: jni)
23:04
SQLTester now ignores tests which contain constructs specified in the spec doc. (check-in: ecaeee65 user: stephan tags: jni)
22:32
SQLTester can now split a test script into a series of individual commands. (check-in: d3d1accc user: stephan tags: jni)
22:02
SQLTester can now read a script and strip it of all noise content. (check-in: 59bd3928 user: stephan tags: jni)
21:04
Initial skeleton for adding an SQL-driven test script interpreter for the JNI bindings. (check-in: 2aa8f0ed user: stephan tags: jni)
17:09
Enhance sqlite3_vtab_nochange() so that it works with "UPDATE ... FROM ..." statements. Use this to allow some updates on fts5 contentless-delete tables. (check-in: 27ff86e4 user: dan tags: trunk)
16:15
Changes so that sqlite3_vtab_nochange() works with "UPDATE ... FROM...". Use this to allow UPDATE on a contentless fts5 table if new values are supplied for all indexed columns. (Closed-Leaf check-in: 16cd2161 user: dan tags: fts5-contentless-delete)
11:18
When converting a Java exception to a db error message, use Throwable.toString() instead of getMessage() so that the exception type's name is included. More internal API renaming for consistency. (check-in: 2d44720d user: stephan tags: jni)
10:59
Lots of JNI internal API renaming, for consistency, and moving-around of utility functions. Make it safe for more callback types to throw. (check-in: 9a494394 user: stephan tags: jni)
10:01
JNI API renaming to better match the C API. (check-in: 6e0bd03d user: stephan tags: jni)
09:44
Rename fts5_api pContext parameters to pUserData, per /chat discussion. This is a cosmetic change made to reduce confusion between those parameters and the two other context-type parameters in that API. (check-in: 2ca064d8 user: stephan tags: trunk)
01:06
Make sqlite3_stmt() Java ctor private - it's only constructed from JNI code. (check-in: ce82c42f user: stephan tags: jni)
00:29
Minor internal cleanups and additional test metrics. (check-in: fa0a6b6e user: stephan tags: jni)
00:06
Bind the auto-extension APIs to JNI. (check-in: 746a5fa0 user: stephan tags: jni)
2023-08-06
22:09
Rework the sqlite3_open(_v2)() order of operations so that pending auto-extension support can get ahold of the open-time Java state despite the Java/C (sqlite3*) binding not having yet been established. (check-in: 34da294a user: stephan tags: jni)
21:29
Completely rework how the JNI sqlite3_open(_v2) and sqlite3_prepare(_vN)() bindings deal with output pointers to give the JNI side full control over the origin of db and stmt handles (necessary for solving chicken/egg situations in auto-extensions and prepare-time trace). Lots of adjacent internal API renaming. (check-in: 644999ca user: stephan tags: jni)
20:01
Start adding JNI-side support for auto extensions, but hit a brick wall which requires slightly awkward semantics changes in the JNI bindings for sqlite3_open(_v2)() to resolve, so stash this #if'd out for the time being. (check-in: 77a32d23 user: stephan tags: jni)
15:01
Doc cleanups. (check-in: 5f56b007 user: stephan tags: jni)
14:19
Bind sqlite3_config() to JNI for call variants taking (int,int*) and (int,const char *) variadic arguments. (check-in: 6119289d user: stephan tags: jni)
13:02
JNI-internal cleanups and API renaming. Add a C-side java-string-to-utf8 conversion. (check-in: 672d8579 user: stephan tags: jni)
11:05
Remove doc outdated warning about sqlite3_trace_v2() JNI binding being incompatible with MUTF-8. Use new to-string capability to simplify Fts5ExtensionApi::xColumnText() JNI binding. (check-in: ebcfc237 user: stephan tags: jni)
10:49
Add a way to convert from standard UTF-8 to a Java string (JNI lacks this capability). (check-in: 07dd082c user: stephan tags: jni)
10:14
Bind sqlite3_db_filename() and (closely related) (A) add many more docs about the UTF-8/MUTF-8 discrepancy (B) start adding internals to enable us to perform the standard-UTF-8-to-Java conversion from C. (check-in: 586720fa user: stephan tags: jni)
2023-08-05
22:41
Bind sqlite3_set_authorizer() to JNI. (check-in: e0fa0313 user: stephan tags: jni)
21:35
Refactor the per-JNIEnv cache from a fixed-size static array to a linked list of dynamically-allocated entries. Uncache all per-db state (which is necessarily JNIEnv-specific) when the corresponding JNIEnv is uncached. (check-in: 9dd8b784 user: stephan tags: jni)
20:19
Add SQLite3Jni.uncacheJniEnv(), a way for Java threads to clear their thread-specific cached state from the JNI bindings when they're about to terminate (or are otherwise done using the library). (check-in: 7468f876 user: stephan tags: jni)
19:20
In the JNI docs, note that the sizeof SQLITE_TRANSIENT and SQLITE_STATIC should ideally be the same as the platform's pointer size. (check-in: 7d4ac44e user: stephan tags: jni)
19:15
Tiny doc typo fixes from forum post 31eb707250. No code changes. (check-in: 8ede5008 user: stephan tags: trunk)
12:48
JNI internal refactoring and cleanups. (check-in: 7397973a user: stephan tags: jni)
11:16
Bind Fts5ExtensionApi::xUserData() to JNI and extend xCreateFunction() to accept that argument. In test code, use assert() instead of exceptions if assert() is enabled so that test failures (exceptions) thrown via callbacks do not get suppressed (which they otherwise necessarily are to avoid crashing the host app). (check-in: e4383737 user: stephan tags: jni)
04:30
Add missing Fts5PhraseIter.java to the build. (check-in: 96281ad0 user: stephan tags: jni)
04:23
Bind fts5_api::xCreateFunction() to JNI and demonstrate it with a test. (check-in: c653bf16 user: stephan tags: jni)
01:28
Start adding fts5_api to JNI. (check-in: 14d18fe9 user: stephan tags: jni)
00:40
Bind the remaining Fts5ExtensionApi methods to JNI, noting that all are completely untested because the higher-level bits needed to do so are still missing. (check-in: 23383c1d user: stephan tags: jni)
2023-08-04
16:01
In the opfs-sahpool VFS's importDb() and exportFile() methods, throw if the actually-wrote/read amounts differ from the expected-to-write/read amounts, per feedback in forum post a4122e986f. (check-in: a617ebf4 user: stephan tags: trunk)
15:38
More work on the JNI binding of fts5 customization (still a long ways to go). (check-in: 1a246fd2 user: stephan tags: jni)
13:29
Merge the json_remove() bug fix from trunk into the bedrock branch. (check-in: a8872aa5 user: drh tags: bedrock)
13:27
Eliminate code duplication in the two JNI tester classes. (check-in: 63e7bbe3 user: stephan tags: jni)
13:24
Merge the json_remove() bug fix from trunk into the wal2 branch. (check-in: e6c066ca user: drh tags: wal2)
13:19
Fix a bug in the jsonLookup() routine used to search JSON. Bug was introduced by the recent (unreleased) JSON caching enhancements check-in [a4c1af616e672a0d] merged into trunk at [df099ad713011b67]. (check-in: ba7a66db user: drh tags: trunk)
13:03
FTS-related JNI refactoring. Move FTS-specific tests into their own class and dynamically load it, if possible, from the main test app. (check-in: b7a8428f user: stephan tags: jni)
12:44
More work towards binding FTS5 customization to JNI. Add Fts*.java files missing from previous checkin. (check-in: 91263178 user: stephan tags: jni)
11:10
Change comment on Fts5ExtensionApi.iVersion from "always set to 3" to "always set to 2". (check-in: b7de399c user: dan tags: trunk)
11:08
Start including fts5 customization bits into JNI, but it's far from functional. (check-in: abaf5edd user: stephan tags: jni)
09:53
Improve internal error handling in the JNI create_function() impl. (check-in: 2c88390f user: stephan tags: jni)
08:45
Resolve the timing/ordering issue of a JS-to-WASM-converted xDestroy() function being uninstalled from WASM right before the underlying native call tries to call it. This has been a long-unnoticed bug which appears only when removing such functions or replacing them. (check-in: 031c9a76 user: stephan tags: trunk)
08:41
Part 2 of the fix from [a0f808363318c00fd1db78b]. (check-in: 5c310422 user: stephan tags: trunk)
08:39
More work towards fts5 customzation in JS. (Leaf check-in: ce2a65d8 user: stephan tags: wasm-fts5)
2023-08-03
23:26
Merge the latest trunk enhancements into the bedrock branch. (check-in: 877ffece user: drh tags: bedrock)
23:22
Merge the latest trunk enhancements into the wal2 branch. (check-in: 6fa71e11 user: drh tags: wal2)
22:43
Minor internal cleanups in the JS-side fts5 cleanup steps. (check-in: 2666f52e user: stephan tags: wasm-fts5)
21:14
Retain all xDestroy method WASM proxies created for fts5_api::xCreateFunction() until the db is closed, then free them all at once. (check-in: f4b9743a user: stephan tags: wasm-fts5)
20:45
Rework the fts5 db-close cleanup to avoid that fts5 internally calls a just-unbound-from-wasm xDestroy() method. There is still work to do here to cover the case of fts5 functions being replaced (in which all xDestroy methods have to be retained until the db is closed). (check-in: 795f2242 user: stephan tags: wasm-fts5)
20:02
Part 2 of the fix from [a0f808363318c00fd1db78b]. (check-in: ce0674b1 user: stephan tags: wasm-fts5)
18:46
Resolve the timing/ordering issue of a JS-to-WASM-converted xDestroy() function being uninstalled from WASM right before the underlying native call tries to call it. This has been a long-unnoticed bug which appears only when removing such functions or replacing then. (check-in: a0f80836 user: stephan tags: wasm-fts5)
18:14
Fix harmless scan-build warnings. (check-in: 65a8716d user: drh tags: trunk)
16:22
Fix a discrepancy between sqlite3_values_to_js() and its API docs/intended behavior. (check-in: 7b85c68f user: stephan tags: trunk)
16:21
More infrastructure towards binding FTS5 customization support to WASM. (check-in: 163e3e44 user: stephan tags: wasm-fts5)
16:02
Fix a discrepancy between sqlite3_values_to_js() and its API docs/intended behavior. (check-in: 16658b3c user: stephan tags: wasm-fts5)
13:30
Fix build problems associated with SQLITE_OMIT_WSD and SQLITE_OMIT_TRIGGER. (check-in: de031a5e user: drh tags: trunk)
13:07
Fix a test case whose value changes under the no_optimization permutation due to the recent change to add the ability for SQLITE_TESTCTRL_OPTIMIZATION to disable one-pass. (check-in: 976e39c6 user: drh tags: trunk)
12:41
Unix builds now assume the presence of nanosleep() in the standard library. The -DHAVE_NANOSLEEP=0 compile-time option can be used to build on systems (if any still exist) where this is not the case. (check-in: 779d5dc8 user: drh tags: trunk)
07:20
Initial work on exposing the FTS5 APIs to wasm, per request in the forum. This builds and loads the structs into JS but is completely untested. (check-in: 52c8b73a user: stephan tags: wasm-fts5)
2023-08-02
18:20
If a query has an ORDER BY clause that only refers to result columns of the left-most table and the left most table is a MATERIALIZED common table expresion, then attempt to push the ORDER BY clause down into the subquery. (Leaf check-in: 8e7a70b2 user: drh tags: order-by-push-down)
17:29
More JNI-internal docs. Correct handling of a Java exception if a trace callback throws. (check-in: 306b269a user: stephan tags: jni)
17:20
Internal doc additions in the JNI bits. (check-in: b5664364 user: stephan tags: jni)
16:06
Performance optimization for JSON rendering logic. (check-in: ea0b9aec user: drh tags: trunk)
13:45
Remove an unreachable branch in the ascii-to-floating-point conversion that was added by [e989a37ff9d5b52e]. (check-in: c4347e44 user: drh tags: trunk)
13:38
Stricter enforcement of the idea that a MATERIALIZED common table expression is an optimization fence. (check-in: 354425f8 user: drh tags: trunk)
13:29
Remove a condition from query flattening that is now taken care of by the caller. Factor out the reverse_unordered_selects processing from the main loop of sqlite3WhereBegin() for performance. (Closed-Leaf check-in: f068f105 user: drh tags: materialize-order-by)
12:39
Simplify the select.c logic that enforces the optimization fence around a MATERIALIZED common table expression. Do not allow the reverse_unordered_selects setting to affect a fenced CTE that itself has an ORDER BY clause. (check-in: 165b9bda user: drh tags: materialize-order-by)
11:06
Never flatten a CTE that is labeled MATERIALIZED. This is really something of a bug fix because the documentation says that a MATERIALIZED CTE is an optimization barrier. (check-in: b7ef9796 user: drh tags: materialize-order-by)
00:09
When a query is inside an AS MATERIALIZED CTE, do not attempt the omit-ORDER-BY optimization. If the developer specifies MATERIALIZED, that means he wants the sort to actually happen. (check-in: aa769ee7 user: drh tags: materialize-order-by)
2023-08-01
19:10
Avoid ASAN warnings when converting over-sized long double values into double. (check-in: e989a37f user: drh tags: trunk)
16:41
Filter the wasmfs-specific JS module result type check out of non-wasmfs builds. (check-in: ef7c1210 user: stephan tags: trunk)
16:38
Fix part 2 of 2 for /fiddle: a make deps problem which caused fiddle to load but fail to run when sqlite3.c was missing. (check-in: 6011bc26 user: stephan tags: trunk)
16:17
Fix part 1 of 2 for /fiddle not running: build flags which were renamed during refactoring. (check-in: 214ffeef user: stephan tags: trunk)
11:03
Fix an assert() in fts5_index.c that might fail when dealing with corrupt records. (check-in: aa55c83f user: dan tags: trunk)
10:19
More docs for the Java side of the JNI bindings. (check-in: d8e9bcee user: stephan tags: jni)
09:44
Internal exception-handling cleanups in the JNI bindings. (check-in: 057b1d4f user: stephan tags: jni)
08:48
Minor JNI-related doc tweaks and code re-ordering. (check-in: b663b27e user: stephan tags: jni)
01:07
Remove redundant comparison operator. (check-in: 01898432 user: drh tags: trunk)
00:34
Restore part of the UPDATE one-pass optimization that was removed by check-in [2c56b984a0bd3be5]: only disable one-pass if the WHERE clause contains a subquery. Allow subqueries in the SET expressions. Fix for performance problem reported by forum post 8ab195fd44e75ed0. (check-in: 42916af9 user: drh tags: trunk)
2023-07-31
22:03
Restrict the new column cache to table-btree, which is the common case anyhow. That way, writes to indexes do not need to clear the column cache. (check-in: 659284ab user: drh tags: trunk)
20:02
The original column-cache implementation from check-in [ab1edcc7fedcf279] (merged to trunk at [771fe35074b50b8d]) is unsound. This check-in fixes the issue. Had to give back a little performance, the optimization is still a overall win. (check-in: ec95e970 user: drh tags: trunk)
17:39
Add bit to sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) that will disable the one-pass optimizating in DELETE and UPDATE. (check-in: 22f6dd5c user: drh tags: trunk)
17:20
Improved debug tracking of the Parse.nQueryLoop value. (check-in: 4a8a1749 user: drh tags: trunk)
13:52
Experimentally change the JNI sqlite3_trace_v2() callback type to have more convenient access to the current Java-side sqlite3_stmt at the cost of some uncomfortably fiddly current-statement tracking in the JNI layer. Subject to change. (check-in: 459db332 user: stephan tags: jni)
12:10
Add some JNI-internal metrics, accessible via passing -v when running Tester1.java. Document an OpenJDK bug which leads to incorrect -Xlint:jni warnings. (check-in: a5d68a6b user: stephan tags: jni)
10:55
Correct a mis-cast in the JNI wrapper which just happened to accidentally work. Update JNI binding of sqlite3_context_db_handle() to return the bound-at-open() db instance instead of a new/temp proxy object. (check-in: 9faca5d9 user: stephan tags: jni)
10:42
Add another test for JNI-bound scalar UDFs. (check-in: 8b322d92 user: stephan tags: jni)
10:22
Update some internal docs for the past two checkins. Add a way to dump out some debug info about the current JNI environment. (check-in: ac9b8bb1 user: stephan tags: jni)
10:08
Refactor the busy-handler-specific JNI hook type to use the generic hook type. (check-in: d9efdc6d user: stephan tags: jni)
09:45
Refactor the collation-specific JNI hook type to use the generic hook type. (check-in: 02c1d3b6 user: stephan tags: jni)
09:28
Internal JNI doc tweaks. (check-in: f4aa2c82 user: stephan tags: jni)
07:15
Consolidate triplicated xDestroy()-calling code. Remove some unnecessary casts. (check-in: 24c0763d user: stephan tags: jni)
2023-07-30
18:41
Internal JNI API renaming. (check-in: fcfc0706 user: stephan tags: jni)
17:24
Internal JNI refactoring towards consolidating support for callbacks with and without finalizers. (check-in: 120983a5 user: stephan tags: jni)
13:47
Mark the Java wrapper classes of the C-native types as 'final' (cannot be subclassed). (check-in: 4fd3d936 user: stephan tags: jni)
13:30
Minor tweaks and optimizations in the JNI bindings. (check-in: 41fb5898 user: stephan tags: jni)
11:36
Bind sqlite3_collation_needed() to JNI. Related adjacent cleanups and fixes. (check-in: 16ff1676 user: stephan tags: jni)
10:47
Internal JNI refacoring to support the pending sqlite3_collation_needed() callback. Correct a bug in the linked-list handling of PerDbStateJni which triggered an assert(). (check-in: 7ac6614e user: stephan tags: jni)
09:45
Incremental checkin to minimize the diff while narrowing in on an assertion caused by refactoring. (check-in: 2d7a91b1 user: stephan tags: jni)
08:12
Consolidate some warnings for java callbacks which must not throw but do. (check-in: 5e592ed2 user: stephan tags: jni)
07:44
Bind sqlite3_update_hook() to JNI. (check-in: a5bbaa90 user: stephan tags: jni)
06:44
Bind sqlite3_rollback_hook() to JNI. (check-in: 5f8ee440 user: stephan tags: jni)
06:00
Add commit hook failure to JNI tests. (check-in: be4459b4 user: stephan tags: jni)
05:50
Bind sqlite3_commit_hook() to JNI. (check-in: c687297f user: stephan tags: jni)
04:31
Bind sqlite3_progress_handler() to JNI. Add some metrics to Tester1.java. (check-in: 437ecfe8 user: stephan tags: jni)