dan
9613c9f4a6
Fix the fts3/4 integrity-check command so that it works with "ORDER=DESC" tables. Fix for [8a6fa2bb].
...
FossilOrigin-Name: 5863546df99abd1ad4ebcaba18dec647be4368e2c13ce0b28e48c8608d3e87ef
2019-10-11 14:27:17 +00:00
dan
cd79010964
Fix a problem in the fts3 integrity-check routine causing it to report as corrupt tables that contain values with embedded 0x00 bytes.
...
FossilOrigin-Name: 629e20c9880acc2cb9e2fa6da39a15a90483e9a8f433df29d285c23bdfb03b0b
2019-10-10 16:41:44 +00:00
dan
23d3f5d661
Fix a long-standing problem in fts4 incrmental merge.
...
FossilOrigin-Name: 67da31e24ebb49c4cac81c9e7cfca37ca422555fd0fdb01d8f180890783c84ff
2019-10-02 19:33:34 +00:00
drh
5e81e9fdae
The nodeReaderInit() function in FTS3 may not assume that the node is
...
non-empty.
FossilOrigin-Name: 361eb2f682a303bba72b39d322d9de630494ca044fe0508dcb23b6130d312d85
2019-09-30 19:13:31 +00:00
dan
8279fe8a4b
Fix a crash in fts3 caused by corrupt database records.
...
FossilOrigin-Name: 11f7f94f1c5d761e7f381e277658b7e857cc369283996c509061de55fd6aad52
2019-07-29 16:53:30 +00:00
dan
7d840e530f
Fix a valgrind problem in fts3corrupt4.test.
...
FossilOrigin-Name: cb3dec427e399064eeec31c15565346f045bd7c46d2f7860b1cd346bbcccb124
2019-07-05 15:16:22 +00:00
dan
471e88f732
Fix a segfault in fts3 that could occur when processing corrupt fts records.
...
FossilOrigin-Name: dff24c6c7a4e7623984b5bb24c2ff14fe079dc49a0ad048cbfc66f84c08875b0
2019-06-04 13:11:37 +00:00
dan
efdb371a1d
Fix an assert() in fts3 that could fail when processing corrupt records. Also some minor sanitizer warnings.
...
FossilOrigin-Name: c736c40aab071a69bd5c5347b7c116d87ea3954019e967ca8ff7bdb4b518e5bf
2019-05-28 14:42:32 +00:00
dan
29fa6b6642
Fix a buffer overread that could in fts3 when dealing with corrupt records.
...
FossilOrigin-Name: 1660d7733eb443ab085ddef7666b998a1c75ac81cc54a9620960a8d3b377e28e
2019-05-22 14:22:44 +00:00
dan
bebea908b8
Fix another instance in fts3 where a corrupt record can cause a buffer overflow.
...
FossilOrigin-Name: e1724f1d618cfbcfd1e495d8965a395656cfc1114e1bffd4bc3be0bd5cdb6550
2019-04-24 16:13:52 +00:00
dan
04687f9e03
Fix an error in fts3_write.c allowing a corrupt database to cause a crash.
...
FossilOrigin-Name: 6e4a5f22811bcd1485e27073ec96821d448b91b6d1ff1659cc3772449d19a762
2019-04-24 15:13:02 +00:00
drh
3b574e4ea9
Use the 64-bit memory allocator interfaces in extensions, whenever possible.
...
FossilOrigin-Name: 07ee06fd390bfebebc014b47583d489747b0423bb96c810bed5c605ce0e3be71
2019-04-13 04:38:32 +00:00
drh
b43ac0021f
Fix an assert() that might not be true if the %_segdir table of FTS3 contains
...
corrupt entries.
FossilOrigin-Name: a6509ca3dc2602c7d0376230ee63c1bb4c4066f007e77e9ac20d8eee966e5e13
2019-02-18 12:16:03 +00:00
dan
2fa619a3a8
Change a few assert() statements in fts3 that might fail if the database is corrupt.
...
FossilOrigin-Name: db74a56af73d92b7a9d43ceda7e4540915c580c68a0266b4ddefb9e0d5cbcbeb
2019-02-09 19:23:54 +00:00
dan
c1f6618217
Add an assert_fts3_nc() macro to fts3 - for assert() conditions that are only true when it is guaranteed that the fts3 database is not corrupt.
...
FossilOrigin-Name: 3498908cd7f3d0e35b70796537124e3da0bd99d48750ba51bcb9eba87e28ed4d
2019-01-25 14:48:18 +00:00
dan
2c7a73eaea
Fix another segfault caused by a corrupt fts3 database.
...
FossilOrigin-Name: ba3b8412726548a0716c1a2d67260c3b7e31956474f4cd4ce607cf2cebc667dd
2019-01-22 12:21:28 +00:00
dan
4ccb41fc99
Fix a memory leak that could occur in fts3 when handling a corrupt database.
...
FossilOrigin-Name: 65cebb06a0afcbcb4157c3d518a62ed188b1e90d9e9b69d88fece484bcb6e380
2019-01-16 11:38:06 +00:00
dan
94ec92a1f7
Fix a problem with querying a corrupt fts3 database.
...
FossilOrigin-Name: 65e50706a017751d72d0f9c7f575955194977decd0acf13aaca90c3cb925f20e
2019-01-14 15:09:00 +00:00
drh
c49d43a787
Fix the fts3DecodeIntArray() function so that it will not read off the end
...
of the buffer it is handed. Any unread integers are set to zero.
FossilOrigin-Name: 666cf8f6b39ae1f72e82b45e9cacba23caf61370ca0c695b3b14452accbb1a0d
2019-01-10 01:12:43 +00:00
dan
d8f3b4c320
Fix a problem with corrupt fts3 database detection introduced by [95a9a39f].
...
FossilOrigin-Name: c80bb15b44e9b6a3c0c5a49d5e93e66376c3520ecefc1db7425c8a7e09d3eade
2018-12-26 14:15:09 +00:00
dan
29e9af8848
Change the way a comparison used to detect corrupt databases in fts3 is done
...
to avoid potential pointer overflow in 32-bit builds.
FossilOrigin-Name: 95a9a39ff784b960b62dd6298e722a620ba3f9c8b76839a49bbef35d7bc84a8e
2018-12-24 13:34:36 +00:00
dan
1ea0443c2d
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing
...
statements that are not allowed to use any virtual tables. Use this to prevent
circular references in triggers on virtual table shadow tables from causing
resource leaks.
FossilOrigin-Name: 25666e3d03950caf753295cdb55df162e07dbcf6840b05875c6e0b127c469ecb
2018-12-21 19:29:11 +00:00
drh
afdc9e23fc
In FTS3, avoid calling memcpy() with a NULL source pointer, even if the
...
transfer amount is zero bytes.
FossilOrigin-Name: 1abb83d29a06308c96bea379311b390240347c5f81824749348d18ad75840c96
2018-12-21 18:51:27 +00:00
dan
e1e28ec35c
Remove an assert() that could fail on a corrupt db from fts3_write.c.
...
FossilOrigin-Name: 4cdcda408a4edcd2845584ddef64f0efdd2b4cc030afbc05fc2b8b555c69d3f6
2018-12-21 11:53:43 +00:00
dan
29d77dc450
Add extra defenses against strategically corrupt databases to fts3/4.
...
FossilOrigin-Name: d44318f59044162e229a444582692e9788f17b5c404b4eb702f4c2114b22fefe
2018-11-03 16:51:30 +00:00
drh
d446e79545
Remove an unused variable from FTS4.
...
FossilOrigin-Name: 27ea783b281606196ad1e7e6e6dcbd80c75d4bafcf3e58756a71c213320e4db2
2018-02-13 16:30:19 +00:00
dan
e84c498be1
Ensure that multiple updates of the same FTS4 row (i.e. the row with the same
...
rowid) within a single transaction are written to separate segments. Fix for
[d6ec09ec].
FossilOrigin-Name: d2a81a3752a8298ee65fddcf32dee2147ba6467f770315a41966b3533977aa64
2018-02-13 16:21:32 +00:00
dan
eab0e10304
In extensions rtree, fts3 and fts5, ensure that when dynamic buffers are bound
...
to persistent SQL statements using SQLITE_STATIC, the binding is replaced with
an SQL NULL before the buffer is freed. Otherwise, a user may obtain a pointer
to the persistent statement using sqlite3_next_stmt() and attempt to access
the freed buffer using sqlite3_expanded_sql() or similar.
FossilOrigin-Name: 2a5f813bc61f9e780f2ccbda425611f65ad523b6d486a1e5e2b9d5e9f1d260a2
2018-02-07 18:02:50 +00:00
drh
2c2f392dca
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the
...
extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one
bit in that argument.
FossilOrigin-Name: 4a25c5883380fe5990d8180adb58c3bdc7a3d081bc4c69cd4de3cd57074fb251
2017-06-01 00:54:35 +00:00
dan
920c83f18f
Fix some problems in fts3 found by address-sanitizer.
...
FossilOrigin-Name: 16a8e84fa7f67a467f824bdd7f72cbd6a6e95dab8cc7aa1e0e751720b98f3e31
2017-03-20 18:53:32 +00:00
dan
57ebc84a6e
Fix a problem in fts3/4 that was causing it to discard data cached in-memory if an 'optimize' command is run when there is no data on disk. The usual way this would happen is if the very first transaction that writes to the fts3/4 table also includes an 'optimize' command.
...
FossilOrigin-Name: 79338b991bf01e81d336790ca87a0fa747da4ff3
2016-03-09 18:17:42 +00:00
dan
c7dbce0f2a
Update fts3/4 so that the 'merge=X,Y' command merges at least, instead of exactly, Y segments from a single level. This matches the documentation. 'merge=X,0' is, as it was in 3.11, an error.
...
FossilOrigin-Name: 64b3cb29159491cbfab7e01844b54408541ece5e
2016-03-08 15:37:48 +00:00
dan
108b7953ed
Update fts3/4 so that the 'merge=X,0' command merges X pages from all segments of the first level in the fts index that contains 2 or more segments.
...
FossilOrigin-Name: cddf69dbc46f10ee7e87538dd850e086386b544c
2016-03-07 20:14:27 +00:00
dan
5171e911f2
Fix an fts3 bug causing NEAR queries on uncommitted data to malfunction.
...
FossilOrigin-Name: 6f90839e91024e2006042f5eb7f21ca5b47a9b4a
2015-10-01 18:31:29 +00:00
dan
0f40037eee
Also allow UPDATE on virtual tables to use the onepass strategy.
...
FossilOrigin-Name: 1aa27d706db9b2e21737ce4b94b47ecd12c2570f
2015-09-28 20:03:49 +00:00
dan
d943b27596
Update fts3 to use the onepass strategy for delete operations.
...
FossilOrigin-Name: fffab4f70f85eeb2acbb89534064a6e397c39384
2015-09-28 15:23:29 +00:00
dan
38f2024062
Fix a problem causing the fts3 integrity-check to fail if run inside a transaction.
...
FossilOrigin-Name: 3b925189a75eae875da256b6e54999cad3cef1eb
2015-04-23 11:52:04 +00:00
mistachkin
44723ce096
Improvements to the MSVC build. Fix harmless compiler warnings. Enable use of 'stdcall'.
...
FossilOrigin-Name: 737630b87314283b2c38790ace9d25ec05f81f4a
2015-03-21 02:22:37 +00:00
mistachkin
1a51ce78ba
Fix some harmless compiler warnings.
...
FossilOrigin-Name: 2b8eecbfe7935d3d9826fbcd473dd3a49138ad11
2015-01-12 18:38:02 +00:00
dan
33b7bcb319
Fix a problem that was causing the FTS4 integrity-check command to fail if the table had one or more "notindexed" columns.
...
FossilOrigin-Name: 7123bb2605216396f65db5d156431b3613f313b5
2014-06-05 11:15:56 +00:00
drh
3c559a8d3c
Fix harmless compiler warnings.
...
FossilOrigin-Name: 20b75460c0661b5dc071177b4a0791aceccda029
2014-05-27 19:18:36 +00:00
mistachkin
02c1e264a9
Fix harmless compiler warnings.
...
FossilOrigin-Name: 7e60347e21a7473974061965a8d1f2eadde987e2
2014-05-16 23:38:59 +00:00
dan
a7b9e7d2d9
Fix a bug causing an incorrect segment size value to be stored if both an old and new FTS version performed work on the same incremental merge operation.
...
FossilOrigin-Name: a9a2aeab298ba2ac0b8835e61406e2d83bf7e39b
2014-05-16 10:30:44 +00:00
dan
157c957a65
Fix a problem with the handling of delete markers by automerge on large databases.
...
FossilOrigin-Name: 2b09bd17eb85ea3c682e930d2aabc6441f2265e0
2014-05-15 18:36:39 +00:00
dan
5b34f15a82
Do not search for promotable segments following an FTS 'optimize' operation or creation of a new segment on the oldest existing level.
...
FossilOrigin-Name: 34f6b4b8e4cb8ea45fd518672dc96335d1ce06ab
2014-05-14 19:49:17 +00:00
dan
a0b7ca90b7
Fix a problem to do with loading the value of the FTS automerge setting from the database.
...
FossilOrigin-Name: 7268119f74602929b372b88eca7b3c3b4964f7d5
2014-05-14 18:45:27 +00:00
dan
9e83e465eb
Fix various problems to do with segment promotion. Add test file fts4growth2.test, containing tests to check that the FTS index does not grow indefinitely as the table is updated.
...
FossilOrigin-Name: 21491a9bc686e63bec32f1a67103622f1160a2f9
2014-05-14 15:58:47 +00:00
dan
c0caea21de
Fix a problem preventing delete markers from ever being removed from the FTS index.
...
FossilOrigin-Name: 7f47ae5c5ddb1227484ddae7c6960183932a052a
2014-05-13 20:11:37 +00:00
dan
6bb9889ef0
Experimental code to prevent FTS indexes from growing indefinitely as the table is updated.
...
FossilOrigin-Name: b3b505a4dd0c679437a4272109f1188175088cd1
2014-05-12 20:04:48 +00:00
dan
82d25da5b0
Changes to FTS to ensure that it does not access the database from within the xConnect method.
...
FossilOrigin-Name: c67a52c356416cc200f51f9168d942e78db11d34
2014-03-12 19:20:36 +00:00