0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2025-05-19 04:06:57 +00:00

Commit Graph

  • faf7531abc Merge pull request #761 from tursodatabase/test-inject-frameno-empty-db Piotr Sarna 2023-12-06 12:22:40 +00:00
  • e9870835ae Merge pull request #764 from Horusiath/bottomless-snapshot-db-file-check Piotr Sarna 2023-12-06 11:42:27 +00:00
  • e4ded4f64f bottomless db snapshot: add more logging Bartosz Sypytkowski 2023-12-06 20:13:59 +09:00
  • 3af4acff7b Support deserialize to Option<T> and Unit wyhaya 2023-12-06 14:27:51 +08:00
  • 88208296c2 Rework the JSON functions so that they use the JSONB format internally. The original JsonNode parse tree design is removed. All JSON functions that accept text JSON also accept JSONB. New functions generate JSONB. drh 2023-12-05 19:45:09 +00:00
  • 5afd67b3c3 Use extra assert() statement to silence harmless static analyzer warnings. drh 2023-12-05 19:24:07 +00:00
  • fb923fc4cc Further tests for the new code on this branch. dan 2023-12-05 18:36:23 +00:00
  • a0de45459e Miscellaneous comment cleanup and typo fixes. drh 2023-12-05 18:28:15 +00:00
  • 242fdddb03 test inject replication index in empty db ad hoc 2023-12-05 18:18:06 +01:00
  • 89e595d12b migrate from bytemuck to zerocopy ad hoc 2023-12-05 17:51:38 +01:00
  • 682ada7916 Merge pull request #748 from tursodatabase/store-replication-index ad hoc 2023-12-05 13:57:49 +00:00
  • 8eac91fab7 Use strspn() to accelerate whitespace bypass in the JSON parser. drh 2023-12-05 12:52:13 +00:00
  • 590aaff992 Small performance gain by unwinding the string literal delimiter search loop in the JSON parser by one more level. drh 2023-12-05 12:22:05 +00:00
  • 78f7d2f4c1 Clean up the JSONB performance test script. drh 2023-12-05 12:20:58 +00:00
  • 6df98b980e add replication index injection tests ad hoc 2023-12-05 11:56:37 +01:00
  • b426c62f44 inject replication index in db header on checkpoint ad hoc 2023-12-05 11:56:13 +01:00
  • 913660ad41 add read_at to SqliteFile ad hoc 2023-12-05 11:55:53 +01:00
  • ebb8d2bc03 add patched Sqlite3Header ad hoc 2023-12-05 11:53:10 +01:00
  • 683f0d79d2 add zerocopy dependency ad hoc 2023-12-05 11:51:48 +01:00
  • 6f0dc40384 Merge pull request #757 from tursodatabase/safer-pager-header-iter ad hoc 2023-12-05 09:32:53 +00:00
  • 2ea5b9296c safe page header iter ad hoc 2023-12-05 10:21:37 +01:00
  • 796790b15a Merge pull request #756 from tursodatabase/wal-wrapper ad hoc 2023-12-05 09:03:47 +00:00
  • 0bc7df7cb5 add WalWrapper utility ad hoc 2023-12-05 09:42:46 +01:00
  • 6a4ed724c4 Merge pull request #755 from tursodatabase/use-non-0-u32 ad hoc 2023-12-05 08:29:50 +00:00
  • ae9daa8b74 Use NonZeroU32 for frame_no and page_no ad hoc 2023-12-05 09:09:33 +01:00
  • fa43e21711 Use an assert() to fix a harmless static analyzer warning. drh 2023-12-05 01:44:15 +00:00
  • ae2e972802 Fix OOM and corrupt JSONB handling in json_patch(). drh 2023-12-05 00:17:17 +00:00
  • 3cdb079476 Rename the internal routine jsonMergePatchBlob() to just jsonMergePatch(). drh 2023-12-04 23:12:57 +00:00
  • be02919ed2 sqld: release v0.22.10 libsql-server-v0.22.10 Lucio Franco 2023-12-04 16:03:27 -05:00
  • dd29249a9b Merge pull request #754 from tursodatabase/lucio/small-improvements Lucio Franco 2023-12-04 15:46:06 -05:00
  • 8a65caa043 sqld: add version label Lucio Franco 2023-12-04 15:35:02 -05:00
  • d4c116c174 sqld: use debug for error messages Lucio Franco 2023-12-04 15:26:44 -05:00
  • 49bfbc1ef3 Add further tests for xInstToken(). dan 2023-12-04 19:48:08 +00:00
  • f26e26afc5 Fixes to error handling in json_array_length(). drh 2023-12-04 19:32:17 +00:00
  • 0b8b1c309d Do not make the input JSONB editable in json_remove() if there are no PATH argument. drh 2023-12-04 19:14:13 +00:00
  • 3fedb7e59e Fix errors in rendering JSON5 escape sequences embedded in JSONB. drh 2023-12-04 18:53:10 +00:00
  • 54318b382a Fixes for xInstToken() with tokendata=0 tables. And with prefix queries. dan 2023-12-04 18:45:14 +00:00
  • 910c77b049 Fix memory leak in new code on this branch. dan 2023-12-04 17:58:56 +00:00
  • 0ce61a6ecf Merge pull request #753 from tursodatabase/fix-libsql-deser ad hoc 2023-12-04 17:49:57 +00:00
  • 3dfc063705 Fix a problem with the xInstCount() API and "ORDER BY rank" queries. dan 2023-12-04 17:45:33 +00:00
  • 9c794b9bff Continuing simplifications and code cleanup. drh 2023-12-04 17:40:28 +00:00
  • 9d373ca1c5 Fix bug in xInstToken() causing the wrong token to be returned. dan 2023-12-04 17:05:37 +00:00
  • 816e8fa802 Merge pull request #752 from tursodatabase/clippy7 ad hoc 2023-12-04 17:02:50 +00:00
  • fbfbe84aeb fix libsql Value deserialization ad hoc 2023-12-04 17:43:48 +01:00
  • 99c41692f1 Remove reachable ALWAYS and NEVER macros. drh 2023-12-04 16:01:39 +00:00
  • 17acd27aa4 treewide: apply clippy Piotr Sarna 2023-12-04 15:10:00 +01:00
  • 732fb64ad3 Two new NEVER macros. drh 2023-12-04 15:22:42 +00:00
  • 43b4864a98 Add tests for using tokendata=1 and contentless_delete=1 together. dan 2023-12-04 15:08:21 +00:00
  • dc138cb186 Repair issues and inefficiencies found during testing. drh 2023-12-04 13:12:45 +00:00
  • 2ff73a5f3e Better pre-scan size estimations for objects in the JSON parser resulting in fewer reallocations and memmove operations. drh 2023-12-04 01:14:23 +00:00
  • b7fd951be4 Back off on the use of strlen() for situations where sqlite3_value_bytes() will work as well, for performance. drh 2023-12-04 00:31:58 +00:00
  • 9af45dc482 Remove dead code. Improved reporting of errors in JSON inputs. drh 2023-12-03 23:38:24 +00:00
  • 16e8a5b2f3 Avoid problems when the path argument to json_tree() contains embedded U+0000 characters. drh 2023-12-03 23:30:59 +00:00
  • a3bf077b60 Ensure that OOM conditions in the generation of the "bad JSON path" error message result in an SQLITE_NOMEM error. drh 2023-12-03 20:11:35 +00:00
  • 0a18a5807a Enable incorrect JSONB to be rendered into text without hitting an assertion for a bad whitespace escape in a string. drh 2023-12-03 19:59:45 +00:00
  • 78fa0186b8 Do not let bad hexadecimal digits in malformed JSONB cause an assertion fault. drh 2023-12-03 11:54:39 +00:00
  • eb18ae3089 Minor code changes for consistency and to simplify testing. drh 2023-12-03 00:51:30 +00:00
  • c78c3c91ae Implement strict JSONB checking in the json_valid() function. drh 2023-12-02 21:39:34 +00:00
  • 8f8d481485 Fix harmless compiler warnings reported by MSVC. drh 2023-12-02 20:37:45 +00:00
  • c22d2b7b7f Fix various compiler warnings and other problems with the new code on this branch. dan 2023-12-02 20:35:04 +00:00
  • c1e85742da Code and comment cleanup. Everything should work the same. drh 2023-12-02 20:25:36 +00:00
  • 53c2160db0 Fix harmless compiler warnings. Refactor some identifier names for clearer presentation. drh 2023-12-02 18:17:38 +00:00
  • 94c521295a When tokendata=1 queries require multiple segment-cursors, allow those cursors to share a single array of in-memory tombstone pages. dan 2023-12-02 18:14:07 +00:00
  • a11aaff05a Take extra care to ensure that JSONB values that are in cache are actually owned by the JSON subsystem, and that ownership of such values is not handed back to the bytecode engine. drh 2023-12-02 18:04:27 +00:00
  • c44041e03b Ensure that tokendata=1 queries avoid loading large doclists for queries like "common AND uncommon", just as tokendata=0 queries do. dan 2023-12-02 17:32:16 +00:00
  • 05db513435 Protect a memcpy() against OOM conditions. drh 2023-12-02 16:11:22 +00:00
  • 2c26bde4ff Do not allow a JsonParse object to be considered "editable" after an OOM. drh 2023-12-02 15:59:48 +00:00
  • 4cd397c0d9 Fix potential unsigned integer underflow in jsonAppendString(). drh 2023-12-02 15:06:43 +00:00
  • 82136d90f8 Minor fix to the header comment on jsonXlateTextToBlob(). drh 2023-12-02 14:55:46 +00:00
  • f0b8b16317 Performance optimization in jsonAppendString(). drh 2023-12-02 14:16:47 +00:00
  • 679c90850c Simplification and optimization of the JSON parser. drh 2023-12-02 13:36:52 +00:00
  • 768b6e32f6 Remove a NEVER that can be true if a virtual table column is declared to have a DEFAULT. See [forum:/forumpost/3d4de8917627d058|forum post 3d4de8917627d058]. drh 2023-12-02 12:23:34 +00:00
  • 6df61985d4 Unroll a loop in the parser for a performance increase. drh 2023-12-02 01:38:53 +00:00
  • 5ec9c916ad Fix harmless compiler warnings and enhance performance the parser. drh 2023-12-02 01:06:33 +00:00
  • 3af20cf3a0 Performance optimization in the JSON parser. drh 2023-12-01 22:01:26 +00:00
  • f4c2962558 Remove old code for tokendata=1 queries. dan 2023-12-01 20:37:11 +00:00
  • ebd173a79f Merge latest trunk with this branch. dan 2023-12-01 20:10:20 +00:00
  • b5effc0605 Different approach to querying a tokendata=1 table. Saves cpu and memory. dan 2023-12-01 20:09:59 +00:00
  • 03075fa868 JSON cache is now more effective. drh 2023-12-01 18:49:02 +00:00
  • 063d0d4c3a Fix up the JSON cache to work better. drh 2023-12-01 18:46:14 +00:00
  • cbe77a4a8f Merge pull request #745 from tursodatabase/lucio/remove-deb Lucio Franco 2023-12-01 17:04:19 +00:00
  • 9543ae9fb9 prepare: v0.22.9 release libsql-server-v0.22.9 Lucio Franco 2023-12-01 12:03:38 -05:00
  • 82ef23b1ce server: remove dbg! in trace Lucio Franco 2023-12-01 11:54:39 -05:00
  • 77cd2fd728 server: remove dbg! in trace Lucio Franco 2023-12-01 11:54:39 -05:00
  • 025090d828 Merge pull request #741 from tursodatabase/lucio/in-process-s3 Lucio Franco 2023-12-01 14:34:48 +00:00
  • 0197fd4154 Apply suggestions from code review Lucio Franco 2023-12-01 09:00:10 -05:00
  • 5bfa7e65d1 Cache is working better, but does not preserve the hasJson5 flag. drh 2023-12-01 13:28:13 +00:00
  • ca1ce7773c First attempt to get the JSON text-to-binary cache working. All test cases pass, but the cache seems not to help much. drh 2023-12-01 12:57:12 +00:00
  • b461636129 Merge pull request #742 from tursodatabase/remove-stray-dir-in-test ad hoc 2023-12-01 10:18:56 +00:00
  • e58c294e70 fix test leaving stray directory ad hoc 2023-12-01 11:09:40 +01:00
  • 4b9ed1b256 Remove all trace of JsonNode from the JSON implementation. The JSONB format is used as the internal binary encoding for searching and editing. drh 2023-11-30 23:36:14 +00:00
  • 29bb970559 sqld: add in process s3 for bottomless tests Lucio Franco 2023-11-30 17:39:58 -05:00
  • 38aeb97f27 Convert json_valid() over to using only JSONB as its internal format. drh 2023-11-30 20:57:48 +00:00
  • 68003d9f18 Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. stephan 2023-11-30 20:34:24 +00:00
  • 276042bd23 Convert json_type() to use JSONB internally. drh 2023-11-30 19:29:56 +00:00
  • 0ab1e25468 Convert json_insert(), json_replace(), and json_set() over to using only JSONB internally. drh 2023-11-30 19:11:14 +00:00
  • 66795962b5 Enhance json_set() and json_insert() so that they create missing substructure. drh 2023-11-30 19:06:27 +00:00
  • 7394a6ef57 Simplification of the new JSON insert/set test cases. drh 2023-11-30 16:17:09 +00:00
  • 48222bef66 New JSON test cases showing insert or set with missing substructure. drh 2023-11-30 16:16:10 +00:00
  • 2f9b888256 bump libsql-server to v0.22.8 libsql-server-v0.22.8 rc-libsql-server-v0.22.8 ad hoc 2023-11-30 15:50:18 +01:00