Commit Graph

937 Commits

Author SHA1 Message Date
dan
0bce1d6c9f Fix an inaccuracy in the documentation in fts5.h.
FossilOrigin-Name: ec3ca6f17972a9624018ae352e5a4be8dc34602a4569c80e827e09cd7fbed7f7
2024-11-27 18:01:25 +00:00
dan
3e4ccc3208 Update fts5 so that the xInstToken() extension API works with prefix queries.
FossilOrigin-Name: 41b79bde4a4b6510b41cc9175ff2527fbd3ca9209812361783754f24cf67ef9e
2024-11-26 20:46:18 +00:00
dan
e2a3c7232b Update documentation in fts5.h.
FossilOrigin-Name: f1e44f703acb415e2ff7d7f87fa05fc874ef1c432095bb3ccb45c6ad2fd085a9
2024-11-26 20:16:34 +00:00
dan
032bcf72fb Fix compiler warnings caused by variable shadowing.
FossilOrigin-Name: 211b305791980b24c4192ffc57a0471473de3fca32bfc146c0eeacedef7a88aa
2024-11-20 20:39:18 +00:00
dan
de8aa17eb5 Fix a "applying zero offset to null pointer" usan error in the fts5 trigram tokenizer.
FossilOrigin-Name: 9b79b999d4192a3a250bf343825f61e9cb83203e4d94dcfa20c320d5f1386d69
2024-11-18 14:08:42 +00:00
drh
92e9fa6fe8 Ensure that the sqlite3_index_info.idxStr string coming back from FTS5
is always zero-terminated, even if the xBestIndex call fails with an
SQLITE_CONSTRAINT error.

FossilOrigin-Name: a4e976a030851357049e672bbc0ff66d9cc152b3d5f8e03fff36a7c6f060a755
2024-11-12 13:37:00 +00:00
dan
0cd2ffffb7 Fix the fts5 trigram tokenizer so that it handles non-nul-terminated strings.
FossilOrigin-Name: 84f4e37178a65e3128ac0240d37ac40df08b4050ab070d10707e35d11dcbeb10
2024-11-11 19:49:26 +00:00
dan
67a3914e65 Merge latest trunk changes into this branch.
FossilOrigin-Name: edb842349320eda9550bdfcd5a327949c5512e02f4b993782587b2131a425746
2024-11-06 17:31:48 +00:00
dan
8acaa6d039 Add tests for xInstToken() and prefix queries with various fts5 configurations.
FossilOrigin-Name: 9cc04331a01760189d88697233009dbe8a60eda589792ad01b56300499e9f54d
2024-11-06 16:20:16 +00:00
drh
c6a6f1507c Fix harmless compiler warnings.
FossilOrigin-Name: bc93e17924f732468282c5e7a483811d27af573a47aec8ba806f4fe3c5919893
2024-11-04 19:18:19 +00:00
dan
090b8649be Allow an fts5 table or query to be configured to collect xInstToken data for any prefix terms as part of the first parse of the main index, if any.
FossilOrigin-Name: 46929ae92b26f02bc70de9931b21a8a7cf9a2453d5fb07f68b712f62e28e9152
2024-11-02 19:10:50 +00:00
dan
cd9b951e6b Merge latest trunk changes into this branch.
FossilOrigin-Name: bce9a524de6dda87daa90395cd55713d2d3ccfc090e53a947548e434db5eef5e
2024-10-28 10:39:14 +00:00
drh
6d05f9af81 Fix build errors in fts5_tcl.c on Mac.
FossilOrigin-Name: 133fff8bd79d46f74eeeee677a929b611f3af79cbc492864211e61e2a35846e9
2024-10-27 16:12:58 +00:00
dan
346f1e0ed9 Fix test code added by [ba358d26].
FossilOrigin-Name: b7da7980d33e2f2d5d0a4384a43eff39e1a2de4f53b8b4074eea48598a35b9d7
2024-10-27 15:58:28 +00:00
dan
b27a30c620 Merge latest trunk into this branch.
FossilOrigin-Name: 740a37c5d54b57befa86a6bb299ffa89ed4243d10db885a08ab5c63238460dad
2024-10-27 14:41:58 +00:00
dan
59b4f75e0f Add test case for fts5 trigram tokenizer.
FossilOrigin-Name: ba358d265b7ee360d62b5219faaa1010ea90dac4e20cc7adc3ebd46161a65f94
2024-10-26 18:09:13 +00:00
drh
542d1c923e Tweaks to help make jimsh0 usable to build using nmake. Does not quite work
yet, but getting closer.

FossilOrigin-Name: e911303b8d180897c256e5de6edaa6b99239f914b84de2d08b3410650cd52c6d
2024-10-24 13:27:25 +00:00
drh
2c264ad060 Add two new #include statements to the composite "fts5.c" file that
is constructed as part of the build process.  These #includes are no-ops
in the SQLite amalgamation (and are commented out automatically by the
amalgamation builder) but are needed if the FTS5 extension is built
separately, it seems.
[https://bugzilla.mozilla.org/show_bug.cgi?id=1926321#c3|Enhancement request].

FossilOrigin-Name: 1bf8daeb24142044e1b5d4b205317c42353004643fadb6b34f9ae6bfa4e3a6bc
2024-10-23 10:36:02 +00:00
drh
fe15ed4342 Fixes from code inspection:
(1) Extra paranoid defense against integer overflow.
(2) Remove a stray blank line in an FTS5 comment.

FossilOrigin-Name: 8563728deeb1d3ead9ff99a3ad2c7819b2223ead44e7374ecc7bbeda2d955ade
2024-10-17 18:12:03 +00:00
drh
4924847cb9 Avoid the possibility of buffer overrun in the READ_UTF8 macro by using
an less-than operator rather than not-equal-to.

FossilOrigin-Name: 20e60bf058c54bc818ea1b8ce54ace8bcd50699734713cef622bf79e49a9a279
2024-10-14 18:43:04 +00:00
dan
44b8c37017 Fix a typo in fts5delete.test.
FossilOrigin-Name: b1f001435eff72c2119ecee973194385f70fd1b66ef0be8a66c0b0ad02ae43df
2024-10-02 17:43:06 +00:00
dan
c5c3cbc026 Add the contentless_unindexed=1 option to fts5. This causes the values of any UNINDEXED columns of a contentless fts5 table to be stored persistently in the database.
FossilOrigin-Name: 58313ac59e0bd164f601d68a1474f658c5d1c038638e00f3dc15eb58202e661c
2024-10-02 17:04:30 +00:00
dan
d2a88e961a Rationalize code further. And add tests.
FossilOrigin-Name: 0ca002a4ab88f3e7ae1e6e518038157eaa20759f57888c2ed7e50cb92bd96348
2024-10-01 20:38:08 +00:00
dan
d5838eaa42 In fts5, avoid starting a new merge of level L if there exists already an ongoing merge of a level less than L.
FossilOrigin-Name: 350c6e75ce3c1e81458d1baa73045df489284206e8b279ab3c2f5e3d011c262a
2024-09-30 17:28:45 +00:00
dan
7d56669bc4 Rationalize some of the new code on this branch.
FossilOrigin-Name: 66f209ba40e7de49b304d7931ff38a4994038452aab08e9347286a234c6f7075
2024-09-28 20:45:11 +00:00
dan
54e35b543d Add tests for DELETE on contentless, contentless-delete and contentless-unindexed fts5 tables.
FossilOrigin-Name: 74832fffb61d5e09ff256622cc9aa1fd2c40d30324c410bd6a8c688f0506a536
2024-09-28 15:09:43 +00:00
dan
58b4a8f6e7 Extra test cases for UPDATEs of contentless tables.
FossilOrigin-Name: 4d11d844de3edd82f022c36381ca7f14a546a608293c329b91e7f041cec82ff5
2024-09-27 19:21:09 +00:00
dan
43eafb7b76 Fix a problem with UPDATE statements that modify the rowid of contentless_delete=1 tables.
FossilOrigin-Name: d69abca82145465c85241a12322986f22bf12ffe42f86c2c8e8e2f2a77d53bf8
2024-09-27 19:10:54 +00:00
dan
08f1ba0767 Fix a problem with UPDATEs that do not modify all UNINDEXED columns of a contentless_delete=1, contentless_unindexed=1 table.
FossilOrigin-Name: b6b1db8d343d3e55c3a5589af3ec629762e06c6b689b77defd445347198cb2e7
2024-09-27 18:32:52 +00:00
dan
bcd6d5d393 Allow UPDATEs of unindexed columns in fts5 contentless_unindexed=1 tables. Testing to come.
FossilOrigin-Name: cd36d66c88d7282eb0a3ccde5713253f72f5843e451b2693b71adfdae28b41fb
2024-09-27 10:57:41 +00:00
dan
2eff8f2252 Change the way tokendata indexes are collected for prefix queries.
FossilOrigin-Name: 204ddf4e726b695dd12ab4a945ec2461655aa0bcc38b74e970f07ed2ac43c6ff
2024-09-25 18:55:11 +00:00
dan
777c35dbe8 Prevent regular DELETE and UPDATE statements from running against contentless_unindexed=1 tables that are not also contentless_delete=1.
FossilOrigin-Name: 21539e9d0d57fdc762affbce9220d1bb1ca009d9dc751b4ccfe63eecbbe2f575
2024-09-25 12:03:08 +00:00
dan
e25a267e81 Fix the fts5 xInstToken() API for prefix queries that do not use prefix-indexes. This is experimental.
FossilOrigin-Name: 97c2824f471e7e622c4a166947a6e8162cae891345101539829a6fcec83373fe
2024-09-14 20:30:14 +00:00
dan
0218424e5a Require that the contentless_unindexed=1 option be specified before storing the values of fts5 UNINDEXED column belonging to contentless tables.
FossilOrigin-Name: c51dc2a5e75baacbd905cf314e7b1a58a81993ff05ca656739e028d7db25d5b2
2024-09-13 16:30:18 +00:00
dan
6e8b3d3caa Merge latest trunk changes, including the changes to the fts5 locale=1 feature, into this branch.
FossilOrigin-Name: d2f0d19936222911bc317efecc831007d3aba81f9b32877030ffb29d1728bbdc
2024-09-13 15:37:31 +00:00
dan
0c8144ab4f Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables.
FossilOrigin-Name: 198305de92ebba7045d8ec7d2de98511f3b00924f808a3811f061dca47b01ec7
2024-09-10 20:32:36 +00:00
dan
27119c56bd Remove a stray "breakpoint" from a test script.
FossilOrigin-Name: 7d87a27a01311153ddee122cedecedc3bcc331618dc2ab1da397a3b257dc21cf
2024-09-10 18:38:47 +00:00
dan
7a41b48cf9 Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables.
FossilOrigin-Name: 55c5c119a0a77fac2c9f46d718ef78c0f33ed3520e10c240cf5bf1801e0586ee
2024-09-10 16:19:31 +00:00
dan
cd889c7a88 Fix an OOM-handling problem affecting locale=1 fts5 tables.
FossilOrigin-Name: d8103684f660ff9b3186d0f89afb113ca580bd16f0bf413ed8a9434236b54426
2024-09-09 19:12:57 +00:00
drh
a8cf79e322 Fix harmless compiler warnings in FTS5.
FossilOrigin-Name: aa75e701de61fe63ec15c35d70e53e950ff73b0dcb0d871dd8721412f3af297a
2024-09-09 15:12:21 +00:00
dan
cf25c16a54 Fix a problem with fts5 locale=1 tables and UPDATE statements that may affect more than one row.
FossilOrigin-Name: 70e42f941c0778a04b82655409c7caf4c1039589f7e43a8ec1e736ea8f931b26
2024-09-07 16:22:22 +00:00
dan
f1c750e4ca Add tests for an fts5 NEAR() expression with a single argument phrase.
FossilOrigin-Name: e319d43bfd5ee4ed92b93531b239af4d1be0a8215b2a06c3532122ff2c7b6a7c
2024-09-06 20:12:59 +00:00
dan
de30fb5fc2 Store the values of any UNINDEXED columns of a contentless fts5 table persistently in the database. Warning: This currently creates a (technically) incompatible file-format for contentless fts5 tables that have UNINDEXED columns.
FossilOrigin-Name: dcacb1a8ef359b4507b4733356d3150ba5dc105cc9867c103d16a0908a1a9f64
2024-09-03 18:55:38 +00:00
dan
70989b6f59 Fix a technically undefined signed integer overflow in fts5.
FossilOrigin-Name: e6bec37ea1ca51e1d048941ce4c5211d8fc5c5e3556a1441f9c79b036843f9e3
2024-09-02 18:41:59 +00:00
dan
50ca8af6f2 Fix a dropped error code in fts5.
FossilOrigin-Name: df55502e4f412e5b1daccf82f11fa4eb932047d9972dcd16e36be00cf09f78e1
2024-08-28 15:54:46 +00:00
dan
f5a9b58c8b Avoid reading the structure record from within the fts5 xConnect method.
FossilOrigin-Name: 6a6ce343b249e269229867b2c2f107a49ac8a8f24ad66801718ef01159655319
2024-08-27 20:37:30 +00:00
dan
c8edf07ca7 Modify the implementation of "wrapper" tokenizers to make them more robust in the case where the database connection is closed before the tokenizers are deleted.
FossilOrigin-Name: 7c0001d6eb43f89144eb84d9e30f575a3feed401d685a0d1f260692e419b2df2
2024-08-27 19:27:40 +00:00
dan
3c39f1f5d6 Add test code to drop an fts5 table with corrupt records in its shadow tables.
FossilOrigin-Name: ca21c942c30a3dbff0e7d118e105b847d80b5388c74d19c2eeea71581f8f40b8
2024-08-27 18:25:04 +00:00
dan
c013fa50db Changes to documentation comments in fts5.h.
FossilOrigin-Name: 886545a8d0e9cbf4911ecf747da0ea8aad702d79cb065dad01a04aa4f51da12b
2024-08-26 19:08:54 +00:00
drh
cc902fd25e Fix harmless compiler warnings in fts5V2toV1Tokenize().
FossilOrigin-Name: df65d00f104f31741056686f2ba41ecb192c552012bffb17c2a8b5d4db058328
2024-08-24 20:05:59 +00:00