/ Timeline
Login

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

100 most recent check-ins

2023-10-01
18:59
Fix problems following OOM in JSONB parsing. (Leaf check-in: 0d8cd6b5 user: drh tags: jsonb)
12:15
Add JNI binding for sqlite3_normalized_sql(). (Leaf check-in: 2532e566 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: 906e2ed3 user: stephan tags: trunk)
2023-09-30
18:13
Changes so that fts5 can handle tokens with embedded '\0' bytes. (Leaf check-in: c027c092 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: c04022b7 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: 15ffd932 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: 5e387275 user: stephan tags: trunk)
14:48
JNI: rename sqlite3_errmsg16() to sqlite3_errmsg(), as the 16 suffix is superfluous there. (check-in: df25b216 user: stephan tags: trunk)
14:34
Expose sqlite3_stmt_busy() to JNI. (check-in: 5733aa5f user: stephan tags: trunk)
14:34
Finish adding jsonb_ versions for all JSON routines that return JSON text. (check-in: 6daa7b69 user: drh tags: jsonb)
13:16
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. (Leaf check-in: 1545f0f7 user: stephan tags: branch-3.43)
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: fd463254 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: 082b8668 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: 7927c424 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: ec82f725 user: stephan tags: jni-ptr-passing)
09:41
More work towards the new pointer-passing mechanism in JNI, and code-adjacent cleanups. (check-in: 6c63987e 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: bb5e50ff 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: 96f545f6 user: drh tags: jsonb)
16:37
Additional refactoring and cleanup. (check-in: 45dd1760 user: drh tags: jsonb)
15:56
Add test case to ensure the assert() removed by [f090af77] no longer fails. (check-in: 615ab717 user: dan tags: trunk)
15:53
Remove an incorrect assert(). (check-in: f090af77 user: drh tags: trunk)
15:18
Bad edit (Closed-Leaf check-in: c794aeb3 user: drh tags: mistake)
12:45
Improvements to comments and procedure names for clarity in the JSON implementation. (check-in: 9b620d81 user: drh tags: jsonb)
11:17
Describe the JSONB encoding in a header comment to the json.c source file. (check-in: 1c0cba34 user: drh tags: jsonb)
2023-09-28
20:34
JNI: correct a NullPointerException triggered via SQLTester. (check-in: 0a873de7 user: stephan tags: jni-ptr-passing)
19:11
Fix some minor memory issues so that all legacy tests now pass. (check-in: 1744bfc6 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: 2f496873 user: drh tags: jsonb)
17:41
Merge trunk changes into the jsonb branch for the compiler warning fixes from two days ago. (check-in: cee113cc 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: 5853065b user: drh tags: jsonb)
17:23
Extract directly from BLOB is now complete and appears to work. (Closed-Leaf check-in: 3de58ec9 user: drh tags: jsonb-direct-extract)
17:07
Miscellaneous bugs fixed. (check-in: 5c0815fa user: drh tags: jsonb-direct-extract)
15:56
Improvements to json_extract() to better support JSONB. Still not 100% working. (check-in: 8c825761 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: b488b9fb 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: 4182f027 user: stephan tags: jni-ptr-passing)
10:50
Convert the remaining macro-generated JNI bindings to the new pointer-passing mechanism. (check-in: 250fd6ae 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: 5f47fb77 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: c1feba70 user: drh tags: jsonb-direct-extract)
2023-09-27
16:55
Performance tests for JSONB added. (check-in: 7c1be8e3 user: drh tags: jsonb)
14:41
Adapted JNI sqlite3_blob_...() and sqlite3_close...() to the new pointer-passing mechanism. (check-in: 0b22c8ef 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: 980d559f 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: bccdfeb9 user: stephan tags: jni-ptr-passing)
09:58
Rework the JNI sqlite3_backup APIs to the new pointer-passing approach. (check-in: 48aeb1e2 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: 66c814dd user: stephan tags: jni-ptr-passing)
21:22
Fix harmless compiler warnings in the testfixture testing utility. (check-in: 5a39a02d 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: b633d8bb user: stephan tags: trunk)
19:46
Merge partial-index constant value fixes from trunk into the jsonb branch. (check-in: 700bdbd7 user: drh tags: jsonb)
19:38
Fix yet another assert() in the partial-index constant value optimization. (check-in: f459d080 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: e6045b4e 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: 63aea8c3 user: dan tags: trunk)
15:13
Merge all the latest trunk enhancements into jsonb branch. (check-in: ac242c4d user: drh tags: jsonb)
14:57
Remove unreachable code from the partial-index constant value optimization ([8d4160910d651246]). (check-in: 7ad38254 user: drh tags: trunk)
09:46
Remove some outdated JNI docs. (check-in: 2ca5cbbb user: stephan tags: trunk)
07:43
Minor JNI doc updates. No code changes. (check-in: 63687cc6 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: 8d416091 user: dan tags: trunk)
17:21
Another very minor tweak to code on this branch to save cycles. (Closed-Leaf check-in: 2c805dc6 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: a82ebbac user: drh tags: jsonb)
15:25
Change the order of an if..else... in new code to make it slightly faster. (check-in: f80dc644 user: dan tags: partial-index-terms)
14:20
Enable -Wall for the compiler on --enable-debug builds. (check-in: 63a7b521 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: 14f2e95a user: drh tags: jsonb)
11:12
Fix a bad interaction between LEFT JOIN, bloom filters and partial indexes. (check-in: 5775f92b 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 (Leaf check-in: 8fc2c455 user: larrybr tags: expert-enhancement)
2023-09-24
22:51
Make expert changes acceptable to C89. (check-in: a4f03c22 user: larrybr tags: expert-enhancement)
19:47
Merge expert changes to accept UDFs and custom collations. (check-in: 8ead1b5e user: larrybr tags: expert-enhancement)
19:38
Add minimal exercise of expert acceptance of UDFs and custom collations. (Closed-Leaf check-in: 0f6bbb79 user: larrybr tags: expert-udfs)
19:28
Sync w/trunk prior to merge back. (check-in: 2d290854 user: larrybr tags: expert-udfs)
19:13
Resolve the JNI FTS5 test5() failure and remove some nearby dead code. (check-in: 5655c51f user: stephan tags: trunk)
19:00
Give expert ability to deal with custom collations. (check-in: ac1dc1b6 user: larrybr tags: expert-udfs)
2023-09-23
21:31
Add extra tests for changes on this branch. (check-in: cb45f5b0 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: d5dd39e3 user: dan tags: partial-index-terms)
18:52
Fix a failing assert() caused by changes on this branch. (check-in: d0e21f20 user: dan tags: partial-index-terms)
18:49
Fix a harmless compiler warning. (check-in: 7c421025 user: drh tags: partial-index-terms)
15:34
Add extra tests for the fts5 xPhraseQuery API. (check-in: b5edea16 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: 0233f310 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: b8151f87 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: 66ed7abd user: dan tags: partial-index-terms)
16:20
Fix minor parse-to-BLOB bugs. (check-in: 8b53b2e6 user: drh tags: jsonb)
14:33
Add the ability to render a binary BLOB back into valid canonical JSON. (check-in: 0b70cb77 user: drh tags: jsonb)
14:20
Give expert ability to deal with UDFs. (check-in: 3406b05b 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: b817dd86 user: drh tags: jsonb)
11:20
Improvements to the JSON binary BLOB format design. (check-in: 2c89ae5d user: drh tags: jsonb)
2023-09-21
18:16
Reorganize the code to put the new JSONB routines together, for easier editing. (check-in: dc23e783 user: drh tags: jsonb)
17:51
Initial development code for an experimental binary BLOB encoding for JSON. (check-in: 8131b3c2 user: drh tags: jsonb)
2023-09-18
20:42
Add extra tests for java Fts5ExtensionApi API. (check-in: f9d62b85 user: dan tags: trunk)
18:12
Extra tests for java Fts5ExtensionApi interface. (check-in: c923893f 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: d1fd00e0 user: drh tags: trunk)
2023-09-16
18:18
Fix resolution of "rowid" and similar identifiers in queries that use nested joins. (check-in: 37ec43d9 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: c362bde4 user: dan tags: trunk)
16:39
Add a NEVER() to an unreachable branch. (Closed-Leaf check-in: 6b6eb389 user: drh tags: nested-from-rowid-expansion)
16:23
Fix minor code indentation inconsistencies. No function changes. (check-in: 05107a0a user: drh tags: nested-from-rowid-expansion)
16:12
Fix a harmless compiler warning. (check-in: 9e9ff4ca user: drh tags: nested-from-rowid-expansion)
14:42
Further tests and assert() statements for the change on this branch. (check-in: 1c202d54 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: bbcbd3d5 user: dan tags: nested-from-rowid-expansion)
20:28
Simplifications and performance optimizations for the RTree extension. (check-in: 04a333f5 user: drh tags: trunk)
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. (Leaf check-in: 796a65fa user: drh tags: branch-3.28)
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: f911f1c4 user: drh tags: trunk)
19:27
Minor simplification to the DISTINCT output row count change. (Closed-Leaf check-in: 0738386d 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: 27390051 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: 59a1bbc6 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: 5a940e47 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: d9625a9e user: drh tags: rethink-viewscan)