Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
265 check-ins using file src/util.c version e87f66258c
2023-10-19
| ||
13:00 | Fix an error in a debugging routine used inside of testcase(). Does not appear in production. Problem discovered by scan-build. (check-in: c6c9d7ed6d user: drh tags: trunk) | |
12:36 | New assert() statements to help verify correctness of the ORDER BY aggregate code. (check-in: 8b6fffb552 user: drh tags: trunk) | |
12:12 | Fix the sqlite3ReferencesSrcList() routine so that it recognizes columns in the ORDER BY clause of an aggregate. Fixes a problem with [634286828dad873d] discoverd by dbsqlfuzz. (check-in: 3d26f1aaa4 user: drh tags: trunk) | |
01:26 | Add support for ORDER BY on the argument list of aggregate functions. (check-in: 634286828d user: drh tags: trunk) | |
01:09 | Merge the latest changes from trunk. (Closed-Leaf check-in: d18bc40014 user: drh tags: agg-orderby) | |
00:25 | Fix a false-positive in run-time error checking. (check-in: cd63eec075 user: drh tags: trunk) | |
2023-10-18
| ||
23:48 | Changes for test coverage. (check-in: ddfa09c603 user: drh tags: agg-orderby) | |
22:53 | Test case for alter column that is used in the ORDER BY of an aggregate. (check-in: 648ddb3a8e user: drh tags: agg-orderby) | |
22:27 | Deal with an OOM condition while processing aggregate ORDER BYs. (check-in: b6d44427ec user: drh tags: agg-orderby) | |
22:03 | Make sure all terms of the ORDER BY within an aggregate go through aggregate analysis. Do not attach an aggregate ORDER BY to a window function. (check-in: 16f3805514 user: drh tags: agg-orderby) | |
19:44 | Basic test cases. (check-in: 6cccf86c36 user: drh tags: agg-orderby) | |
19:07 | Fix one minor error in order to get all legacy tests to pass. (check-in: 5a885139c4 user: drh tags: agg-orderby) | |
18:11 | ORDER BY on aggregates seem to work, at least for simple smoke tests. Lots more testing is needed though. Surely there are many bugs. (check-in: 64c12a835b user: drh tags: agg-orderby) | |
13:58 | Basic error checking. Resolve symbols in the aggregate ORDER BY expressions. (check-in: c83a53a574 user: drh tags: agg-orderby) | |
13:18 | Enhance the parser so that it can accept an ORDER BY clause on a function invocation. For this incremental check-in, the ORDER BY clause is currently ignored. (check-in: 3a98ff24bf user: drh tags: agg-orderby) | |
2023-10-17
| ||
23:35 | JS: replace one errant reference to 'self' with 'globalThis' and remove a separate dead-code 'self' reference. (check-in: da1a47932e user: stephan tags: trunk) | |
19:33 | Fix a harmless compiler warning about variant types for a pointer function. (check-in: 37ff0d8e7f user: drh tags: trunk) | |
18:59 | Make a new branch in the SqlExec opcode reachable by tests. (check-in: 023ad470b6 user: drh tags: trunk) | |
18:28 | Omit an unreachable branch when SQLITE_ENABLE_API_ARMOR is not defined. (check-in: 5f8b807b56 user: drh tags: trunk) | |
17:53 | Changes to sqlite3IntFloatCompare() in an attempt to better measure branch coverage in the face of aggressive compiler optimization. (check-in: 5781d043ff user: drh tags: trunk) | |
13:41 | Fix a JSON bug introduced by the optimization of [df099ad713011b67] and first appearing in 3.43.0. The problem occurs when doing a JSON_EXTRACT() on an array element that was added by JSON_SET() without first reparsing. Reported by forum post fc0e3f1e2a. (check-in: e5099c549a user: drh tags: trunk) | |
11:57 | Enhance the documentation of sqlite3_deserialize() to make it clear that the input database may not be in WAL mode. Forum post a7e272cee9ac469f (check-in: e754789971 user: drh tags: trunk) | |
10:47 | When an I/O or similar error occurs during a transaction with journal_mode=MEMORY, attempt to rollback before closing the journal, as all rollback information is forgotten when a memory rollback journal is closed. (check-in: 1d67f75de2 user: drh tags: trunk) | |
02:15 | Harden API_ARMOR checks for sqlite3_stmt_scanstatus_v2(). (check-in: d3f38e813b user: stephan tags: trunk) | |
2023-10-16
| ||
16:04 | JNI: add aggregate function support to the wrapper1 API. (check-in: 15b28b340a user: stephan tags: trunk) | |
14:31 | JNI: add scalar UDF support to the wrapper1 API. (check-in: a850535766 user: stephan tags: trunk) | |
13:04 | JNI: initial draft (untested - requires more infrastructure first) of a UDF argument/result-handling interface which completely hides the C-style API from the client. (check-in: 43b10a5cf9 user: stephan tags: trunk) | |
10:38 | JNI: cleanups in Tester2 and update the jar makefile target to account for [9fcdf96adca2]. (check-in: abc82bf4b8 user: stephan tags: trunk) | |
10:27 | JNI: move the C-style API parts into the capi subpackage and the higher-level wrapper into (tentatively) wrapper1, so that CApi.java can support multiple independent higher-level wrappers without name collisions, and CApi can be made public but have the option to be elided from wrapper-level javadocs for wrappers which do not wish to expose it. (check-in: 9fcdf96adc user: stephan tags: trunk) | |
08:10 | JNI: after calling a Java-side UDF, zero-out the pointer of the Java-side sqlite3_context and sqlite3_value array entries to avoid misbehavior if a client makes the mistake of holding a reference to one of those objects. (check-in: 9fc3104f76 user: stephan tags: trunk) | |
08:05 | JNI: do not expose SQLITE_OPEN_... flags which are specific to VFSes. (check-in: 2b4e53d8be user: stephan tags: trunk) | |
2023-10-15
| ||
13:36 | Change 3 instance of #if SQLITE_ENABLE_API_ARMOR to #ifdef for consistency with how it is normally used. (check-in: dd766eeb59 user: stephan tags: trunk) | |
13:32 | JNI: enable all optional components in the default build and fix a test broken by an option toggle. (check-in: 5586a9df58 user: stephan tags: trunk) | |
13:25 | Correct non-void return from sqlite3_preupdate_hook() when API_ARMOR is enabled. Broken by [6cb77503484e]. (check-in: 40f5906f48 user: stephan tags: trunk) | |
12:17 | Merge trunk into the wasm-xGetLastError branch. (check-in: 0239e374d2 user: stephan tags: wasm-xGetLastError) | |
12:11 | Add coverage of more functions to SQLITE_ENABLE_API_ARMOR builds. (check-in: 6cb7750348 user: stephan tags: trunk) | |
2023-10-14
| ||
20:44 | JNI: extend [baf220e78a46246c47] to include macro-generated sqlite3_value_...() bindings. (Closed-Leaf check-in: ad34b2542e user: stephan tags: api-armor-audit) | |
20:34 | JNI: make the sqlite3_value_...() family of bindings resistent to NULL arguments. (check-in: baf220e78a user: stephan tags: api-armor-audit) | |
20:24 | Do not allow an ALTER TABLE ADD COLUMN on a STRICT table if the added column contains a DEFAULT clause that would violate the type of the added column. (check-in: 75b075863e user: drh tags: trunk) | |
20:01 | Add API_ARMOR support to the scanstatus family of functions. (check-in: 2f3101f016 user: stephan tags: api-armor-audit) | |
17:14 | The rtreecheck() SQL function should not invoke BEGIN or COMMIT as this causes issues for statement transactions. (check-in: b7b2e30b57 user: drh tags: trunk) | |
16:57 | JNI: add a missing result code check to sqlite3_bind_value(stmt, null). (check-in: f1a357f42d user: stephan tags: api-armor-audit) | |
16:56 | JNI: add missing sqlite3_bind_value() and minor memory-safety-related cleanups. (check-in: 3900031763 user: stephan tags: api-armor-audit) | |
16:29 | Add API_ARMOR support to the sqlite3_result_...() family of functions and sqlite3_bind_zeroblob64(). (check-in: afabe3e35a user: stephan tags: api-armor-audit) | |
14:53 | More API_ARMOR additions. (check-in: 78ebf838f6 user: stephan tags: api-armor-audit) | |
13:24 | Add column name to API_ARMOR check in sqlite3_blob_open() to avoid a null-pointer deref. (check-in: 0114a6622a user: stephan tags: api-armor-audit) | |
12:45 | Revert [f6cd88e6b234] - the NULL callback case is perfectly legal. (check-in: 718ab67607 user: stephan tags: api-armor-audit) | |
12:40 | Bring JNI-side sqlite3_last_insert_rowid() and sqlite3_table_column_metadata() in line with the core's NULL handling. (check-in: c2afc1c2a2 user: stephan tags: api-armor-audit) | |
12:20 | Extend API_ARMOR checks on sqlite3_commit/rollback_hook() to include a check for the callback pointer. (check-in: f6cd88e6b2 user: stephan tags: api-armor-audit) | |
12:19 | Add missing JNI bindings for sqlite3_db_readonly() and sqlite3_db_name(). Code-adjacent tweaks for the API_ARMOR audit. (check-in: e5eace747a user: stephan tags: api-armor-audit) | |
10:54 | Bug fix in sqlite3_analyzer: for databases larger than 1GiB, take into account the lock-byte page when calculating the number of freelist pages. (check-in: 26a909cdd3 user: drh tags: trunk) | |
2023-10-13
| ||
22:19 | Earlier detection of a host of errors in CREATE TABLE, such the CREATE TABLE statement itself fails, rather than generating an error on the first attempted use of the created table. (check-in: 348fa7aaf7 user: drh tags: trunk) | |
19:41 | Apply the correct affinity to DEFAULT values that are TRUE or FALSE. (check-in: 4958db70c8 user: drh tags: trunk) | |
18:29 | Do not allow triggers on shadow tables under defensive mode. (check-in: 44b932ff16 user: drh tags: trunk) | |
15:59 | Fix an fts5 problem caused by a 'rebuild' followed by a DELETE in secure-delete mode. (check-in: 18be505c62 user: dan tags: trunk) | |
13:49 | Immediately fail a CREATE TABLE statement that attempts to create a table that has a generated column loop. Legacy allows the table to be created but the table would not be usable for anything. (check-in: 3237bf9641 user: drh tags: trunk) | |
12:57 | Actually prevent PRAGMA writable_schema=ON from being set in defensive mode, rather than just preventing it from functioning. (check-in: 2b574d9e7e user: drh tags: trunk) | |
12:48 | Round one of an audit for SQLITE_ENABLE_API_ARMOR for functions exposed by JNI and those functions missing armor, as reported in several forum posts. (check-in: 8c25c4b18a user: stephan tags: api-armor-audit) | |
01:39 | Avoid potential overflow in hex(). See forum post 7ac0c9c5ea. (check-in: 2e968114fd user: larrybr tags: trunk) | |
2023-10-12
| ||
20:51 | Make sure virtual tables have been connected before trying to invoke the xIntegrity method during PRAGMA integrity_check. (check-in: 4a4eccb681 user: drh tags: trunk) | |
19:46 | Fix a problem with an fts5 secure-delete on a rowid/term pair that follows a legacy delete of the same pair. (check-in: 579aea0c28 user: dan tags: trunk) | |
18:46 | Enable SQLITE_VTAB_INNOCUOUS for FTS3, FTS5, and RTREE. (check-in: f34c533b6c user: drh tags: trunk) | |
18:09 | Add test case for [29937081]. (check-in: d3b983edf7 user: dan tags: trunk) | |
17:47 | Merge fixes from trunk into the jsonb branch. (check-in: a760bd7bcc user: drh tags: jsonb) | |
17:41 | Make sure the journal file is closed when transitioning into MEMORY journal mode, to avoid an assertion fault in the new sqlite3_randomness() avoidance code added by [c84e4483cb44f827]. (check-in: 29937081a9 user: drh tags: trunk) | |
15:12 | CLI to check for rare prepare failures. See forum post 5be6395182. (check-in: 286d1e8012 user: larrybr tags: trunk) | |
2023-10-11
| ||
21:08 | Add the tokendata=1 option to ignore trailing token-data when querying an fts5 table. (check-in: 122935182a user: dan tags: fts5-token-data) | |
20:37 | Unconditionally force use of SQLITE_ENABLE_API_ARMOR in the WASM and JNI builds. Their corresponding test suites still work. (check-in: c11394b50d user: stephan tags: trunk) | |
17:24 | Fix the use of an uninitialized value that occurs when doing a json_insert() of a string value that contains embedded U+0000 characters. (check-in: d3c0cbb909 user: drh tags: trunk) | |
17:21 | Fix the use of an uninitialized value that occurs when doing a json_insert() of a string value that contains embedded U+0000 characters. (check-in: fc5ee9e51a user: drh tags: jsonb) | |
13:52 | Add (prepare, step, reset, finalize) parts of the JNI level-2 stmt wrapper and associated tests. (check-in: a7082f186f user: stephan tags: trunk) | |
13:34 | Simplification to sqlite3ApiExit(). Generates identical machine code, but easier for humans to read. (check-in: 793bbfa5af user: drh tags: trunk) | |
13:19 | Fix a missing zero-terminator on a string when processing JSON aggregates into JSONB. (check-in: fb81d570a3 user: drh tags: jsonb) | |
12:44 | Fix an issue that can arise when processing corrupt JSONB. (check-in: e50045c222 user: drh tags: jsonb) | |
12:21 | Improved robustness against corrupt JSONB. (check-in: 0fbda92bb0 user: drh tags: jsonb) | |
11:42 | Fix an assertion fault in json_patch() that can occur if the patch JSON is malformed JSONB. Report the malformed JSONB instead. (check-in: a72d54645c user: drh tags: jsonb) | |
2023-10-10
| ||
23:02 | Improved robustness in the decoding of JSON5 text escape sequences found in malformed JSONB. (check-in: 35e0108af2 user: drh tags: jsonb) | |
18:55 | Fix an off-by-one error in the changes from the previous check-in on the jsonb branch. (check-in: 216191b113 user: drh tags: jsonb) | |
18:42 | Improved robustness when translating corrupt JSONB into JSON text. (check-in: 0caa320d90 user: drh tags: jsonb) | |
18:32 | Fix a potential buffer overrun due to corrupt JSONB. (check-in: 5cbb861fc6 user: drh tags: jsonb) | |
18:04 | Fix bugs uncovered by the fuzzer. (check-in: c96eb7fb61 user: drh tags: jsonb) | |
17:34 | Merge the latest trunk enhancements into the jsonb branch. (check-in: f93f16c94d user: drh tags: jsonb) | |
15:33 | Fix a bug in the mkautoconfamal.sh script, introduced by check-in [3308fdda4b81c110] so that the "snapshot-tarball" and "amalgamation-tarball" makefile targets work again when run from outside of the source tree. (check-in: 65ccf5fef8 user: drh tags: trunk) | |
12:16 | Start adding tests for the second JNI layer. (check-in: 0177f4dfe8 user: stephan tags: trunk) | |
2023-10-09
| ||
22:45 | Use snprintf() in place of sprintf() in a debugging function in the CLI. (check-in: 5e5e4d2b49 user: drh tags: trunk) | |
18:33 | Systematize the names of some of the translation function in the JSON implementation. (check-in: db44bd1d62 user: drh tags: jsonb) | |
17:54 | Avoid calling sqlite3_randomness and taking the PRNG mutex when writing a journal header in "journal_mode=memory" mode. (check-in: c84e4483cb user: dan tags: trunk) | |
14:56 | Add a TCL script that does various verification checks on the source tree to make sure that generated code has been updated correctly. (check-in: 1f1a358af7 user: drh tags: trunk) | |
14:47 | Fix a compiler warning caused by the previous check-in. (check-in: 7e8768bf8b user: drh tags: trunk) | |
14:05 | Turn on SEH by default when building using MSVC. (check-in: f57e8275cf user: drh tags: trunk) | |
12:57 | Merge the latest trunk fixes and enhancements into the jsonb branch, and especially the JSON cache spill UAF fix. (check-in: 9422c24f4a user: drh tags: jsonb) | |
12:46 | Fix a potential UAF caused by JSON parser cache spill. Forum post b25edc1d46. (check-in: a163fecca9 user: drh tags: trunk) | |
12:45 | Flesh out the error state captured by SqliteException.java. Doc additions. (check-in: 5c5397ff15 user: stephan tags: trunk) | |
12:39 | Fix harmless compiler warning in the test module for sessions. (check-in: 3d5ec99397 user: drh tags: trunk) | |
12:10 | In the VDBE trace output (available under -DSQLITE_DEBUG only), identify register values that hold a refernce-counted string. (Closed-Leaf check-in: 53d5c50462 user: drh tags: mistake) | |
11:46 | Add JNI Sqlite and SqliteException classes. Add Tester2.java as the main test app for the high-level API. (check-in: 6acf52be7a user: stephan tags: trunk) | |
10:44 | Minor JNI doc and public/private cleanups. (check-in: c49d36ece2 user: stephan tags: trunk) | |
10:30 | Rename SQLite3Jni to CApi to (A) reduce name prefix collisions with incoming classes and (B) align with its counterpart in the JS build. Remove the Canonical annotation because (A) the new code separation will inherently make that distinction and (B) the line between truly canonical and semi-canonical (e.g. differing in signature overloads) is blurry enough that consistent use of that annocation is becoming an unnecessary burden. (check-in: ca216b4486 user: stephan tags: trunk) | |
2023-10-07
| ||
23:35 | Remove some unnecessary code. Report errors for invalid JSONB input on an extract. (check-in: cbea16c29e user: drh tags: jsonb) | |
19:46 | The return from sqlite3_value_blob() in jsonFuncArgMightBeBinary() might be a NULL pointer. Check for that case. (check-in: 7b52b266b0 user: drh tags: jsonb) | |
19:40 | Improved detection of malformed JSONB when parsing it into a JsonNode array. (check-in: ed99a78841 user: drh tags: jsonb) | |
19:05 | Fix the jsonbChangePayloadSize() routine so that it shifts the payload in order to always render the most compact encoding of the payload size. This is necessary as sometimes (as discovered by dbsqlfuzz) the payload size can grow significantly due to json_insert() or json_replace(). (check-in: 8d6d04ca97 user: drh tags: jsonb) | |
17:50 | Improvements to error messages returned when the ->> operator fails. (check-in: 2f3388f14c user: drh tags: jsonb) | |
17:29 | Fix a problem with sqlite3changegroup_schema() and patchsets. (check-in: c4ab4200dc user: dan tags: trunk) | |
16:32 | Add the sqlite3changegroup_schema() API. To allow changegroup objects to upgrade the schema of a changeset/patchset under some circumstances. (check-in: 03f9e50b15 user: dan tags: trunk) | |
16:07 | Fix a problem with the changes on this branch and tables that use an implicit primary key. (Closed-Leaf check-in: 1f9d10235f user: dan tags: session-alter) | |
11:37 | Merge the memory leak fix from trunk. (check-in: 358de1b09f user: drh tags: jsonb) | |
11:36 | Improved error messages from search on JSONB. (check-in: 96cfdc31e3 user: drh tags: jsonb) | |
09:13 | Report unknown JSONB element type when parsing JSONB into JsonNode. (check-in: 1f4d326825 user: drh tags: jsonb) | |
08:15 | Add a test case to prevent a regression of the leak fixed in the previous trunk check-in. (check-in: f99ff655d0 user: drh tags: trunk) | |
08:00 | Fix a resource leak: sqlite3_blob_reopen() was failing to invoke the xDel() distructor on a register when it sets that register to the new rowid. This was never a problem prior to the large-column cache of [771fe35074b50b8d] as that destructor was always a no-op. dbsqlfuzz cd96368deaece480fb94d42427dde053737a650e. (check-in: 545edd5ecf user: drh tags: trunk) | |
2023-10-06
| ||
23:02 | Correct handling of "raw" strings in JSON. This requires three test-case changes in TH3 to add double-quotes to the path outputs from json_tree(). The new behavior is correct, I believe. (check-in: ab2bf3e359 user: drh tags: jsonb) | |
22:16 | Improved error detection for JSONB inputs. (check-in: 6945e11aa4 user: drh tags: jsonb) | |
20:39 | Add missing source code comments and fix other issues with the new code on this branch. (check-in: df39fbe9ab user: dan tags: session-alter) | |
19:46 | Update this branch with latest changes from the trunk. (check-in: 897e926a5e user: dan tags: session-alter) | |
19:01 | Add tests for the sqlite3changegroup_schema() API. (check-in: 5dab481c10 user: dan tags: session-alter) | |
18:21 | Incremental improvements to the JSONB logic. (check-in: fe326829c2 user: drh tags: jsonb) | |
15:35 | Fixes to rendering JSON5 extensions encoded as JSONB. (check-in: 5a17e4479a user: drh tags: jsonb) | |
14:59 | Fix compiler warnings. (check-in: 5227add3c8 user: drh tags: jsonb) | |
14:52 | Improvements to error handling. (check-in: b41dd237fb user: drh tags: jsonb) | |
13:05 | Merge compiler warning fixes from trunk into the jsonb branch. (check-in: 6409d30791 user: drh tags: jsonb) | |
12:55 | Remove an unused parameter from the recomputeColumnsNotIndexed() routine in order to squash a harmless compiler warning. (check-in: 9bf4bfd680 user: drh tags: trunk) | |
12:51 | Ensure that all fields of static sqlite3_module objects are explicitly initialized, in order to hush-up nuisance compiler warnings. (check-in: f3b3d712d6 user: drh tags: trunk) | |
12:22 | Remove an unused static variable from shell.c.in in order to silence a harmless compiler warning. (check-in: 477577120b user: drh tags: trunk) | |
12:15 | Increase the size of some variables associated with the PMA sorter in order to avoid any possibility of a signed integer overflow. Chromium fuzzer issue 1489025. (check-in: dc3be3af47 user: drh tags: trunk) | |
00:06 | Improvements to coping with malformed JSONB. (check-in: 563cde404c user: drh tags: jsonb) | |
2023-10-05
| ||
23:05 | Better error detection when doing a lookup on a JSONB. (check-in: 6e8e0eedbf user: drh tags: jsonb) | |
22:52 | Improvements to comments. No changes to code. (check-in: ac74d78776 user: drh tags: jsonb) | |
20:17 | Turn an unreachable branch into an assert(). (check-in: 0f75199160 user: drh tags: jsonb) | |
19:09 | Add the sqlite3changegroup_schema() API. To allow changegroups to handle differences in schema created by ALTER TABLE ADD COLUMN. (check-in: 309deee2dd user: dan tags: session-alter) | |
18:33 | Fix the parsing of non-standard "Infinity" and "NaN" values from text into JSONB. (check-in: df1fbbeb83 user: drh tags: jsonb) | |
18:09 | Change the json_valid(X) routine to return true whenever X is a blob that could plausibly be a valid JSONB. (check-in: 425f0b85a6 user: drh tags: jsonb) | |
17:52 | Fix the text-to-JSONB parser so that it handles some JSON5 floating point literals correctly. (check-in: 564edb3b6d user: drh tags: jsonb) | |
16:33 | Slightly stricter testing for when a BLOB is valid JSONB: If the element is a null, true, or false, its payload size must be zero. (check-in: 487781be8a user: drh tags: jsonb) | |
15:05 | Fix a memory leak following a syntax error in jsonb(). (check-in: bf4b36eda8 user: drh tags: jsonb) | |
15:02 | Allow the PG-style syntax for the PATH operand on the right-hand side of the ->> and -> operators. (check-in: bae5071b08 user: drh tags: jsonb) | |
11:22 | Merge trunk enhancements into the jsonb branch. (check-in: be5907b648 user: drh tags: jsonb) | |
11:06 | Improved detection of corrupt databases in balance_nonroot(). dbsqlfuzz d1cf013c50a620b68c2a5bd240d29afd65e5f58e. (check-in: a2464bbb82 user: drh tags: trunk) | |
11:04 | Do not squelch exceptions from SAHPool VFS importDb() - rethrow them. Problem reported in forum post c80fc578809b80a3. (check-in: 325bcdea4a user: stephan tags: trunk) | |
10:35 | Remove a stray blank line from the beginning of btree.c. No functional code changes. (check-in: c89983dcfc user: drh tags: trunk) | |
2023-10-04
| ||
21:15 | Allow a session object to generate a changeset, even if columns were added to one of the tables using ALTER TABLE ADD COLUMN while the changeset was being collected. (check-in: a3f435eccf user: dan tags: session-alter) | |
12:49 | The Makefile distinguishes between tcl8.4 and tcl8.5. Some makefile targets require tcl8.5, but others (ex: "sqlite3.c", "shell.c", and "sqlite3") require only tcl8.4. (check-in: 770308db97 user: drh tags: trunk) | |
11:52 | Modify the main makefile so that it fails with an error if the tclsh found by ./configure is not tclsh 8.5 or later. Forum post 4380363682708ece. (check-in: 1765f3b5a0 user: drh tags: trunk) | |
11:04 | Hard fail the ./configure script if it is unable to find a working tclsh. Forum post 4380363682708ece. (Closed-Leaf check-in: 9f6402831b user: drh tags: error-no-tclsh) | |
2023-10-03
| ||
22:40 | Fix a memory leak in JSON group-aggregates when the output is JSONB. (check-in: 08e7db138b user: drh tags: jsonb) | |
21:54 | Fix a bug in the jsonReturnFromBlob() function that causes a positive result for a negative value for when a JSON integer is too large and needs to be converted into double. (check-in: dca684da0c user: drh tags: jsonb) | |
20:58 | Fix problems in the "json" output column of the json_tree() virtual table for the case when the input is JSONB. (check-in: fefa4475c4 user: drh tags: jsonb) | |
20:01 | Augment the jsonBlobChangePayloadSize() routine so that it tries to shift content in order to render the payload size in its minimal form. (Closed-Leaf check-in: 562e8e7b08 user: drh tags: jsonb-opt1) | |
19:37 | Improved handling of OOM while translating the JsonNode representing into the BLOB representation. (check-in: ef5956710b user: drh tags: jsonb) | |
19:06 | Fixes for fts5 expression parser module to allow embedded 0x00 bytes in tokens. (check-in: 342c8d0783 user: dan tags: fts5-token-data) | |
17:07 | Update fts5_decode() to allow for embedded 0x00 bytes in tokens. (check-in: e051120067 user: dan tags: fts5-token-data) | |
11:36 | Merge the latest trunk enhancements into the jsonb branch. (check-in: e6406a9865 user: drh tags: jsonb) | |
10:59 | Fix a problem in the JSONB parser that comes up following an OOM. (check-in: 355acfb188 user: drh tags: jsonb) | |
10:43 | Fix an issue with the use of jsonb_group_array() and jsonb_group_object() when used by window functions. (check-in: 808bd349ba user: drh tags: jsonb) | |
2023-10-02
| ||
23:56 | New test cases for JSONB. (check-in: 6d4aeff575 user: drh tags: jsonb) | |
20:16 | Fix jsonb_insert() so that it does not behave like jsonb_set(). New test cases added. (check-in: 54197149b8 user: drh tags: jsonb) | |
17:12 | JNI: when fetching text-or-blob/length pairs, fetch the text-or-blob first, then the length, as the API docs suggest. (check-in: e4f9d3946f user: stephan tags: trunk) | |
17:06 | Fix the length of the string in the new concat() and concat_ws() functions. (check-in: 3252432265 user: drh tags: trunk) | |
15:56 | Remove an ALWAYS() from a branch that can in fact be false following an OOM fault. (check-in: 3a1feb1c46 user: drh tags: trunk) | |
15:37 | Revisit the opfs-sahpool's handling of sqlite3_vfs::xGetLastError(). This impl seems to be in line with what the library internal expects but it requires more testing (via purposely-induced I/O errors) before merging. (check-in: c53fd21f68 user: stephan tags: wasm-xGetLastError) | |
14:51 | New test cases for JSONB. (check-in: d624c31e5c user: drh tags: jsonb) | |
14:44 | Pointer-casting-related fixes for JNI on 32-bit ARM (pi4 armv7l). (check-in: 54441039ae user: stephan tags: trunk) | |
13:35 | Allow json_replace() to accept JSONB arguments as the new value. (check-in: 95eb7b37fa user: drh tags: jsonb) | |
13:20 | Improvements to error handling for BLOB inputs on JSON. (check-in: 14f20ecbfa user: drh tags: jsonb) | |
12:40 | Gather forward references into a single place for the JSON code. Allow JSONB arguments to json_array() and json_object() and similar. (check-in: c352201b8c user: drh tags: jsonb) | |
2023-10-01
| ||
18:59 | Fix problems following OOM in JSONB parsing. (check-in: 0d8cd6b5fb user: drh tags: jsonb) | |
12:15 | Add JNI binding for sqlite3_normalized_sql(). (check-in: 2532e5662a user: stephan tags: trunk) | |
11:53 | Make JNI binding of sqlite3_value_frombind() return boolean instead of int and add tests for it. (check-in: 906e2ed3e9 user: stephan tags: trunk) | |
2023-09-30
| ||
18:13 | Changes so that fts5 can handle tokens with embedded '\0' bytes. (check-in: c027c092c4 user: dan tags: fts5-token-data) | |
17:08 | Fix JNI binding to compile without SQLITE_ENABLE_PREUPDATE_HOOK. Add build option to disable all optional ENABLE flags. (check-in: c04022b740 user: stephan tags: trunk) | |
16:50 | Restore the trunk version of sqlite3_user_data(). Fix the xColumn for virtual tables so that the sqlite3_context contains a valid but NULL user data pointer. (check-in: 15ffd932fe user: drh tags: jsonb) | |
16:19 | Make all SQLite3Jni methods which take a void-pointer-as-long-int argument explicitly package-private, as they're always for internal use only even if SQLite3Jni is eventually made public. (check-in: 5e387275f6 user: stephan tags: trunk) | |
14:48 | JNI: rename sqlite3_errmsg16() to sqlite3_errmsg(), as the 16 suffix is superfluous there. (check-in: df25b21689 user: stephan tags: trunk) | |
14:34 | Expose sqlite3_stmt_busy() to JNI. (check-in: 5733aa5fe3 user: stephan tags: trunk) | |
14:34 | Finish adding jsonb_ versions for all JSON routines that return JSON text. (check-in: 6daa7b6969 user: drh tags: jsonb) | |
13:13 | Correct an undefined-value deref in the JS bindings, triggered by passing invalid args and then tripping over an undefined value while trying to report that. Reported in forum post dd42df144651d779. (check-in: fd46325407 user: stephan tags: trunk) | |
10:59 | Make (almost) all SQLite3Jni.sqlite3_... members public but make the SQLite3Jni class package-private, which has the same foot-protection effect but makes it much simpler to patch SQLite3Jni to publicize the interface later. Remove some of the extraneous foot-shooting protection from indidivual functions, in lieu moving it to the still-pending higher-level interfaces. (check-in: 082b86683e user: stephan tags: trunk) | |
10:37 | Merge in and close jni-ptr-passing branch. The remaining pointer-passing adaptation can be done incrementally without affecting the interface. (check-in: 7927c42410 user: stephan tags: trunk) | |
10:31 | Make all native JNI sqlite3_...() bindings package-private as a foot-shooting protective measure (higher-level pre-native-call argument validation is largely pending). Move SQLTester.java and TesterFts5.java into the org.sqlite.jni package so that they can access the being-tested methods. (Leaf check-in: ec82f7251a user: stephan tags: jni-ptr-passing) | |
09:41 | More work towards the new pointer-passing mechanism in JNI, and code-adjacent cleanups. (check-in: 6c63987e89 user: stephan tags: jni-ptr-passing) | |
2023-09-29
| ||
22:37 | Update json_each() and json_tree() so that they work with JSONB inputs. (check-in: bb5e50ff56 user: drh tags: jsonb) | |
19:47 | The u.zJContent field of JsonNode for a string or label should NOT include the quotation mark delimiters. Ever. This is an inefficiency that really ought to be fixed on trunk, but that can wait until this branch lands. (check-in: 96f545f6f8 user: drh tags: jsonb) | |
16:37 | Additional refactoring and cleanup. (check-in: 45dd176087 user: drh tags: jsonb) | |
15:56 | Add test case to ensure the assert() removed by [f090af77] no longer fails. (check-in: 615ab71761 user: dan tags: trunk) | |
15:53 | Remove an incorrect assert(). (check-in: f090af775f user: drh tags: trunk) | |
15:18 | Bad edit (Closed-Leaf check-in: c794aeb374 user: drh tags: mistake) | |
12:45 | Improvements to comments and procedure names for clarity in the JSON implementation. (check-in: 9b620d813e user: drh tags: jsonb) | |
11:17 | Describe the JSONB encoding in a header comment to the json.c source file. (check-in: 1c0cba3461 user: drh tags: jsonb) | |
2023-09-28
| ||
20:34 | JNI: correct a NullPointerException triggered via SQLTester. (check-in: 0a873de76c user: stephan tags: jni-ptr-passing) | |
19:11 | Fix some minor memory issues so that all legacy tests now pass. (check-in: 1744bfc669 user: drh tags: jsonb) | |
18:23 | Allow the sqlite3_user_data() function to be invoked with a NULL argument or with an sqlite3_context pointer from a virtual table. It returns NULL in both cases. (check-in: 2f49687371 user: drh tags: jsonb) | |
17:41 | Merge trunk changes into the jsonb branch for the compiler warning fixes from two days ago. (check-in: cee113cc31 user: drh tags: jsonb) | |
17:27 | The json_extract() function now works on BLOBs without the need to translate into an array of JsonNode objects. This is much faster. (check-in: 5853065b7e user: drh tags: jsonb) | |
17:23 | Extract directly from BLOB is now complete and appears to work. (Closed-Leaf check-in: 3de58ec994 user: drh tags: jsonb-direct-extract) | |
17:07 | Miscellaneous bugs fixed. (check-in: 5c0815fa2e user: drh tags: jsonb-direct-extract) | |
15:56 | Improvements to json_extract() to better support JSONB. Still not 100% working. (check-in: 8c82576176 user: drh tags: jsonb-direct-extract) | |
15:00 | Clarify serialization API doc w.r.t. buffer validity and usage, instigated by forum post 8922e2ad2ad41205. No code changes. (check-in: b488b9fb71 user: larrybr tags: trunk) | |
11:19 | Adapted the JNI bindings for the sqlite3_value_...() and (pre)update hook APIs to the new pointer-passing mechanism. (check-in: 4182f0275d user: stephan tags: jni-ptr-passing) | |
10:50 | Convert the remaining macro-generated JNI bindings to the new pointer-passing mechanism. (check-in: 250fd6ae80 user: stephan tags: jni-ptr-passing) | |
10:27 | Convert the macro-generated JNI bindings which take a db pointer to the new pointer-passing mechanism. (check-in: 5f47fb77db user: stephan tags: jni-ptr-passing) | |
10:20 | Work toward getting json_extract() to operate directly on the BLOB, omitting the translation into a JsonNode array. (check-in: c1feba70f5 user: drh tags: jsonb-direct-extract) | |
2023-09-27
| ||
16:55 | Performance tests for JSONB added. (check-in: 7c1be8e361 user: drh tags: jsonb) | |
14:41 | Adapted JNI sqlite3_blob_...() and sqlite3_close...() to the new pointer-passing mechanism. (check-in: 0b22c8ef93 user: stephan tags: jni-ptr-passing) | |
11:01 | Adapt JNI sqlite3_bind_...() bindings to the new pointer-passing method and correct the mapping of sqlite3_bind_zeroblob64() to use zeroblob64() instead of zeroblob(). Related internal API renaming. (check-in: 980d559fff user: stephan tags: jni-ptr-passing) | |
10:29 | Add missing license headers to JNI annotation classes and extend the definition of @NotNull to include 0L as the equivalent of null to account for the current rework of how pointers are passed from Java to C. (check-in: bccdfeb9ef user: stephan tags: jni-ptr-passing) | |
09:58 | Rework the JNI sqlite3_backup APIs to the new pointer-passing approach. (check-in: 48aeb1e2cd user: stephan tags: jni-ptr-passing) | |
2023-09-26
| ||
21:37 | Start reworking JNI methods such that they pass void pointers from Java to C instead of passing their strongly-typed wrappers, as that is reportedly significantly faster than passing the wrapper objects to C and extracting the pointers there. There are still many, many functions left to rework for this. (check-in: 66c814dd47 user: stephan tags: jni-ptr-passing) | |
21:22 | Fix harmless compiler warnings in the testfixture testing utility. (check-in: 5a39a02d2d user: drh tags: trunk) | |
19:49 | JNI: implement AutoCloseable for the sqlite3 and sqlite3_stmt classes, and adjust a few tests to use it. Override Object.finalize() for sqlite3 class but not sqlite3_stmt (where it triggers a JVM crash for as-yet-unknown reasons). (check-in: b633d8bbdb user: stephan tags: trunk) | |
19:46 | Merge partial-index constant value fixes from trunk into the jsonb branch. (check-in: 700bdbd738 user: drh tags: jsonb) | |
19:38 | Fix yet another assert() in the partial-index constant value optimization. (check-in: f459d0806c user: drh tags: trunk) | |
19:30 | Add in many jsonb_xxxx() interfaces. Still uses the internal JsonNode representation for transformations and search, but it does at least conform to the desired API design. Largely untested. (check-in: e6045b4e1b user: drh tags: jsonb) | |
19:26 | Remove a NEVER() from a condition in the partial-index constant value optimization that can sometimes be true. (check-in: 63aea8c3e0 user: dan tags: trunk) | |
15:13 | Merge all the latest trunk enhancements into jsonb branch. (check-in: ac242c4d47 user: drh tags: jsonb) | |
14:57 | Remove unreachable code from the partial-index constant value optimization ([8d4160910d651246]). (check-in: 7ad38254c3 user: drh tags: trunk) | |
09:46 | Remove some outdated JNI docs. (check-in: 2ca5cbbb2a user: stephan tags: trunk) | |
07:43 | Minor JNI doc updates. No code changes. (check-in: 63687cc659 user: stephan tags: trunk) | |
2023-09-25
| ||
17:46 | In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index. (check-in: 8d4160910d user: dan tags: trunk) | |
17:21 | Another very minor tweak to code on this branch to save cycles. (Closed-Leaf check-in: 2c805dc681 user: dan tags: partial-index-terms) | |
17:14 | When parsing JSON text into the BLOB format, only use node type JSONB_TEXTJ for an unquoted object label if the object label contains escape sequences. (check-in: a82ebbac3c user: drh tags: jsonb) | |
15:25 | Change the order of an if..else... in new code to make it slightly faster. (check-in: f80dc64483 user: dan tags: partial-index-terms) | |
14:20 | Enable -Wall for the compiler on --enable-debug builds. (check-in: 63a7b52139 user: drh tags: trunk) | |
13:23 | As a temporary measure, try to translate the BLOB JSON format into the legacy node format for processing. (check-in: 14f2e95a9e user: drh tags: jsonb) | |
11:12 | Fix a bad interaction between LEFT JOIN, bloom filters and partial indexes. (check-in: 5775f92b31 user: dan tags: partial-index-terms) | |
00:39 | Cause sqlite3_exper_new() to replicate UDFs and custom collations early enough to appear in virtual column expressions during schema copy. forum post e030aa4b3a (check-in: 8fc2c45558 user: larrybr tags: expert-enhancement) | |
2023-09-24
| ||
22:51 | Make expert changes acceptable to C89. (check-in: a4f03c22ec user: larrybr tags: expert-enhancement) | |
19:47 | Merge expert changes to accept UDFs and custom collations. (check-in: 8ead1b5ed6 user: larrybr tags: expert-enhancement) | |
19:38 | Add minimal exercise of expert acceptance of UDFs and custom collations. (Closed-Leaf check-in: 0f6bbb79cb user: larrybr tags: expert-udfs) | |
19:28 | Sync w/trunk prior to merge back. (check-in: 2d290854cd user: larrybr tags: expert-udfs) | |
19:13 | Resolve the JNI FTS5 test5() failure and remove some nearby dead code. (check-in: 5655c51f10 user: stephan tags: trunk) | |
19:00 | Give expert ability to deal with custom collations. (check-in: ac1dc1b6de user: larrybr tags: expert-udfs) | |
2023-09-23
| ||
21:31 | Add extra tests for changes on this branch. (check-in: cb45f5b070 user: dan tags: partial-index-terms) | |
19:25 | Avoid an error when parsing a schema that contains indexes with WHERE clauses containing unknown collation sequences. (check-in: d5dd39e37a user: dan tags: partial-index-terms) | |
18:52 | Fix a failing assert() caused by changes on this branch. (check-in: d0e21f20bd user: dan tags: partial-index-terms) | |
18:49 | Fix a harmless compiler warning. (check-in: 7c4210253b user: drh tags: partial-index-terms) | |
15:34 | Add extra tests for the fts5 xPhraseQuery API. (check-in: b5edea1631 user: dan tags: trunk) | |
06:50 | Resolve the JNI FTS5 test5() crash, caused by two unrelated typos in JNI callback signature strings. That test now fails with an expected-vs-got mismatch but no longer dies in the native code. (check-in: 0233f310bf user: stephan tags: trunk) | |
06:37 | Remove an invalid optimization from JNI code and add a missing check check for Java-side exception. (check-in: b8151f8797 user: stephan tags: trunk) | |
2023-09-22
| ||
20:21 | In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index. (check-in: 66ed7abdfa user: dan tags: partial-index-terms) | |
16:20 | Fix minor parse-to-BLOB bugs. (check-in: 8b53b2e660 user: drh tags: jsonb) | |
14:33 | Add the ability to render a binary BLOB back into valid canonical JSON. (check-in: 0b70cb77a4 user: drh tags: jsonb) | |
14:20 | Give expert ability to deal with UDFs. (check-in: 3406b05b4f user: larrybr tags: expert-udfs) | |
12:16 | Begin adding code to render binary JSON back into text. Very incomplete. This is an incremental check-in. (check-in: b817dd865e user: drh tags: jsonb) | |
11:20 | Improvements to the JSON binary BLOB format design. (check-in: 2c89ae5d02 user: drh tags: jsonb) | |
2023-09-21
| ||
18:16 | Reorganize the code to put the new JSONB routines together, for easier editing. (check-in: dc23e783d4 user: drh tags: jsonb) | |
17:51 | Initial development code for an experimental binary BLOB encoding for JSON. (check-in: 8131b3c272 user: drh tags: jsonb) | |
2023-09-18
| ||
20:42 | Add extra tests for java Fts5ExtensionApi API. (check-in: f9d62b853c user: dan tags: trunk) | |
18:12 | Extra tests for java Fts5ExtensionApi interface. (check-in: c923893f36 user: dan tags: trunk) | |
2023-09-17
| ||
16:36 | Remove a NEVER() in btree.c that could actually be reached, with the approriate database corruption. (check-in: d1fd00e087 user: drh tags: trunk) | |
2023-09-16
| ||
18:18 | Fix resolution of "rowid" and similar identifiers in queries that use nested joins. (check-in: 37ec43d92b user: dan tags: trunk) | |
17:11 | Enable "OR IGNORE" support via SQLITE_VTAB_CONSTRAINT_SUPPORT for internal-content (not contentless or external-content) fts5 tables. (check-in: c362bde4f4 user: dan tags: trunk) | |
16:39 | Add a NEVER() to an unreachable branch. (Closed-Leaf check-in: 6b6eb38979 user: drh tags: nested-from-rowid-expansion) | |
16:23 | Fix minor code indentation inconsistencies. No function changes. (check-in: 05107a0ae1 user: drh tags: nested-from-rowid-expansion) | |
16:12 | Fix a harmless compiler warning. (check-in: 9e9ff4ca3a user: drh tags: nested-from-rowid-expansion) | |
14:42 | Further tests and assert() statements for the change on this branch. (check-in: 1c202d540a user: dan tags: nested-from-rowid-expansion) | |
2023-09-15
| ||
20:57 | Fix resolution of unqualified "rowid" identifiers in queries with nested joins. (check-in: bbcbd3d537 user: dan tags: nested-from-rowid-expansion) | |
20:28 | Simplifications and performance optimizations for the RTree extension. (check-in: 04a333f5fa user: drh tags: trunk) | |
19:51 | Drop support for the view-scan optimization (check-in [609fbb94b8f01d67]) 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: f911f1c497 user: drh tags: trunk) | |
19:27 | Minor simplification to the DISTINCT output row count change. (Closed-Leaf check-in: 0738386d7c user: drh tags: rethink-viewscan) | |
19:00 | Do not reduce subquery output row count estimates due to DISTINCT until after the decision of whether or not to use an index for ORDER BY has been made. (check-in: 27390051e8 user: drh tags: rethink-viewscan) | |
18:36 | Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses. (check-in: 59a1bbc69f user: dan tags: nested-from-rowid-expansion) | |
16:15 | Experimental: Assume that a DISTINCT clause on a subquery reduces the number of rows returned by that subquery by a factor of 8. (check-in: 5a940e47d5 user: drh tags: rethink-viewscan) | |
14:06 | The view-scan optimization was added to enhance the performance of one specific query, but it causes performance regressions on a host of others. Disable it (at least temporarily) in order to try to find an alternative way of fixing the one specific query that it was created to fix - an alternative way that does not cause performance problems for other unrelated queries. (check-in: d9625a9eaf user: drh tags: rethink-viewscan) | |
10:24 | Do not try to convert a double into an unsigned 64-bit integer, as that does not work on all platforms. A double can only be converted into a signed 64-bit integer. This is a fix for the problem reported in forum post 9f6db917e1c05d40. (check-in: ce33904641 user: drh tags: trunk) | |
2023-09-14
| ||
16:45 | According to forum post 9f6db917e1, older MSVC compilers are unable to convert a double directly into an unsigned long long int, but must first go through a signed long long int. Work around this by restricting the range of doubles that are converted into long long integers so that only the lower 63 bits are used. (Closed-Leaf check-in: 0ab05871ba user: drh tags: legacy-msvc-workaround) | |