Commit Graph

59 Commits

Author SHA1 Message Date
dan
971742058f Fix a broken assert() in fts3_write.c. Also fix a couple of compiler warnings in fts3 code.
FossilOrigin-Name: a730a05b39c45138765df98d34b9db1ab4e72152
2009-12-14 14:49:57 +00:00
dan
ca6be31b69 Tests to cover a few extra branches in fts3.c.
FossilOrigin-Name: 06b72b007393dc34d75a8bb16ce0e4507d5f8faa
2009-12-12 19:15:27 +00:00
dan
f5fff2a7b2 Add coverage test cases for fts3.
FossilOrigin-Name: 8fcb0478c82507403165719724b62a308cb83b57
2009-12-12 09:51:25 +00:00
dan
601cd9aa24 Change the fts3 test interface used to configure the advisory node size paraemeter.
FossilOrigin-Name: 87fc0ce151c89beb5a43b65c0b1706f340c0c173
2009-12-11 16:03:45 +00:00
dan
dcf3cc1f91 Remove some unused macros and types from fts3.c.
FossilOrigin-Name: 83a80efe8a6c3d53a7f80b4c5f4e0f40aa0aa52f
2009-12-10 18:38:54 +00:00
dan
0502e56415 Fix handling of "WHERE col MATCH ? AND docid = ?" clauses in fts3.
FossilOrigin-Name: 6cbbae849990d99b7ffe252b642d6be49d0c7235
2009-12-10 18:29:04 +00:00
dan
2c11d597c7 Fix an OOM related problem in the snippet() and offsets() functions of fts3.
FossilOrigin-Name: 61efff414254f209f1c69728ae2da3b3888b7290
2009-12-10 18:20:31 +00:00
dan
b893721a45 Changes to fts3 to avoid flushing data to disk within a SELECT statement.
FossilOrigin-Name: 48c0db0eb2d134bb302bb5eca6beb0ec46736257
2009-12-10 16:04:25 +00:00
dan
18ff7fa6b4 Improve test coverage of fts3.c.
FossilOrigin-Name: 56b6432f8622d53ffd3a4d9a2244114f8531ed71
2009-12-09 14:39:41 +00:00
dan
6d67e33776 Mark fts3ReallocOrFree and fts3InitVtab as static. Ticket [ff44d82f3b].
FossilOrigin-Name: a9038306c33c88120d8bef27209d8f0641c85c9b
2009-12-09 05:30:36 +00:00
dan
84db21ec6a Add tests to improve coverage of fts3. Associated bugfixes.
FossilOrigin-Name: f0eac4175aee6c50ee68acc253f76fbe44574250
2009-12-08 19:05:53 +00:00
shaneh
0d935576a4 Move some SQLITE_TEST code down to avoid mixing code and variable declarations.
Fix a test for high-order bit handling in sqlite3Fts3InitTokenizer().

FossilOrigin-Name: fad43d290f9489726aaa2e999a17ea17ed78b27b
2009-12-07 16:18:37 +00:00
dan
ff32e39c8e Add some tests for OR, AND and NOT operations to fts3rnd.test. Add tests to check that errors are returned when bad arguments are passed to fts3 functions snippet, offsets and optimize. Minor fix for the same
FossilOrigin-Name: 5811df3f0412598d189d46b58de4deff24573651
2009-12-07 12:34:51 +00:00
dan
28f372f6d9 Fix another bug in 3-way NEAR queries.
FossilOrigin-Name: 3bb13a06521b54194c9f3eb44e0dc42bacf016a4
2009-12-05 14:29:22 +00:00
dan
6e053f9c23 Fix some problems with FTS3 and 3-way NEAR queries.
FossilOrigin-Name: 23dc6fb5b28712d1ba18dc7ddb3f2ef3b469d611
2009-12-05 11:37:19 +00:00
dan
165b67cb36 Fix a problem involving a 3-way NEAR query.
FossilOrigin-Name: 507890a9139875b1b594225c432c714f67312c0e
2009-12-04 19:07:24 +00:00
dan
acf28fbdd8 Modify [2ad1461f25] to avoid leaving a prepared statement in "active" state following an OOM error in FTS3.
FossilOrigin-Name: 69c21ee46aeeb624fd8638b17ff7259a3e5f9a46
2009-12-04 14:11:33 +00:00
drh
406a15ad8b Fix an FTS3 problem where an OOM error was not being propagated back
out to the top-level interface.

FossilOrigin-Name: 2ad1461f255c2499367b706a5ec65b44c1fc1618
2009-12-04 13:42:59 +00:00
dan
e2e5145441 Fix an incorrect assert() in fts3.c. Add further fts3 tests.
FossilOrigin-Name: 75863c2d55e0801add5b8dcf88d575c5c870af04
2009-12-03 17:36:22 +00:00
shaneh
e585b8f05c Updates to FTS3 to correct compiler warnings under MSVC.
FossilOrigin-Name: 37495b55ffbdc2db4482367ac7d8e32d4d71d58e
2009-12-03 06:26:46 +00:00
drh
65e8c82e1a Changes to the TCL interface header to allow it to be compiled independently
from the amalgamation.

FossilOrigin-Name: 58113932d93926b4aa037a7487105a55f883cd0a
2009-12-01 13:57:48 +00:00
drh
9287d93c17 Change FTS3 to detect when the RHS of the MATCH opertor encounters an OOM
during string format conversion and report back an SQLITE_NOMEM error.

FossilOrigin-Name: 31eed4f8f95f0799d634eccbd9e09cb58172d250
2009-11-28 17:23:47 +00:00
dan
8e9f6aedae Add a test case for creating an FTS3 table with no module arguments or opening/closing brackets in the CREATE VIRTUAL TABLE statement.
FossilOrigin-Name: a9cba7ea0a06efa7a63a3069b219cc30fb127e98
2009-11-28 15:35:16 +00:00
dan
81fa6dc319 Fix a bug introduced by the fts3 refactoring (segfault when creating a table with zero module args). Also a fix to handle an OOM error.
FossilOrigin-Name: eada284bc10cafcab9beb3473bb0c70b3b4de2f9
2009-11-28 12:40:32 +00:00
dan
f6d7b055fa Remove a C++ism accidentally added to fts3.c.
FossilOrigin-Name: 97d332416069d2fbce323740b276d0e7523eeee5
2009-11-27 12:14:47 +00:00
dan
7eee299243 Add some missing comments to fts3 files. No source code changes.
FossilOrigin-Name: b6402b2065b844acb3f1bb94ad964568706bcb86
2009-11-21 03:03:21 +00:00
dan
d313865550 Minor optimizations to fts3 code.
FossilOrigin-Name: b456eacbbb16513d1b27e90015ea58a6dc92cc3b
2009-11-20 02:24:15 +00:00
dan
8f4a4f24dd Fix a performance regression introduced while reworking the fts3 code.
FossilOrigin-Name: 7cd178a72ab99c94fdacffb19aad819ae600e57d
2009-11-19 18:28:45 +00:00
dan
5dc842ddf7 Fix problems introduced into fts3 as part of the refactoring.
FossilOrigin-Name: fa0998e19d984ee57f4f506c34eb858026cc49c3
2009-11-19 00:15:27 +00:00
dan
bd61689382 Add some missing comments and fix some other issues in fts3 code.
FossilOrigin-Name: 2fe579e778b75fbf503c02e01e5424c1926f2b49
2009-11-18 15:35:58 +00:00
dan
f13b704ee6 Improvements to the way fts3 reads the full-text index.
FossilOrigin-Name: 45c051e78651d8204c17cecdda2bde705698881f
2009-11-17 12:52:10 +00:00
dan
948a5f88ea Add a few extra coverage test cases for fts3.
FossilOrigin-Name: f29c8fcade4aadeae3824975cf59f306c11c906b
2009-11-16 16:36:23 +00:00
dan
91f0ce39e4 Further OOM testing for fts3 code. Add Tcl code implementing an integrity-check for fts3.
FossilOrigin-Name: c27d46b33e8596b45c562c2742b05030e8899092
2009-11-14 11:41:00 +00:00
dan
09977bb9f0 Start reworking fts3 code to match the rest of SQLite (code conventions, malloc-failure handling etc.).
FossilOrigin-Name: 30a92f1132801c7582007ee625c577ea2ac31cdf
2009-11-13 10:36:20 +00:00
shane
be21779385 Corrected typos and misspellings. Ticket #3702. (CVS 6336)
FossilOrigin-Name: 6404afa0c515a6536fc2e878d4fb451e4dc06942
2009-03-05 04:20:31 +00:00
drh
d162988b47 Fix typos in comments in FTS3 implementation. (CVS 6178)
FossilOrigin-Name: b0f066630c35c4947d3ecd29d32d91036da19e94
2009-01-14 18:59:41 +00:00
drh
be90df0b3e Do not display matches against
the right-hand side of a NOT operator in the output
of the FTS snippet() or offsets() functions. (CVS 6097)

FossilOrigin-Name: d44c84c0f77bd0fc4a9942177b6cae6d109b89b7
2009-01-02 01:10:42 +00:00
danielk1977
33e8903540 Modify fts3 to support a more complex expression syntax that allows parenthesis. The new syntax is not entirely backwards compatible, so is disabled by default. Use -DSQLITE_ENABLE_FTS3_PARENTHESIS to enable it. (CVS 6034)
FossilOrigin-Name: 7389b9ecb80294569845c40a23e0c832d07f7a45
2008-12-17 15:18:17 +00:00
drh
8578611b95 Fix the NEAR connector in FTS3 so that it can take ranges in excess of 9.
The maximum range is now 32767. (CVS 5695)

FossilOrigin-Name: 8e9b9553115c42dae38cad0612d98d9a0c453a5c
2008-09-12 18:25:30 +00:00
shess
b5f94870c2 Re-used prepared statement from fts3 cursor. Previously, each call to
fulltextFilter() finalized any existing prepared statement and
prepared a new one.  In the case where idxNum has not changed, simply
reseting the statement suffices.  This provides an order of magnitude
speedup in incoming joins against docid. (CVS 5489)

FossilOrigin-Name: a08a5f2b1256b8a93beca5a359ccfc28d403efa3
2008-07-29 01:13:02 +00:00
shess
7d9ef0d0fc Implement optimize() function. This merges all segments in the fts
index into a single segment, including dropping delete cookies. (CVS 5417)

FossilOrigin-Name: b22e187bc2b38bd219dd0feba19b97279bd83089
2008-07-15 21:32:07 +00:00
shess
c2c66a030d Delete all fts3 index data the table becomes empty. Previously,
deleting all rows from an fts3 table would leave a bunch of index data
describing the terms of the original data, plus deletions of those
terms, perhaps with some amount of it merged together so the deletions
knocked out the originals.  Even when all rows were deleted that
original data would hang out, though eventually it would mostly be
overwritten if new data contained the same set of terms. (CVS 5413)

FossilOrigin-Name: 8b872e426091d9ef108e52dbec0d968ed7452907
2008-07-14 20:43:15 +00:00
shess
6c106e3f3b fts3 functions for testing scripts. These are a first step towards
being able to write test script which verify that fts3 is internally
building indices in the expected way.  Both new functions are only
defined if fts3.c is compiled with SQLITE_TEST defined, as when
building testfixture.  These functions are not intended to be part of
the exposed fts3 API.

dump_terms() generates a TEXT result of all the terms in the index (or
a specified segment), sorted and joined with spaces.

dump_doclist() generates a TEXT representation of the doclist
associated with a given term in the index (or a specified segment). (CVS 5340)

FossilOrigin-Name: a48e3d95f7a656285e959cef595cbe6d53428ad9
2008-07-03 19:53:21 +00:00
drh
8a29dfdea0 Remove all instances of sprintf() from the FTS modules. Ticket #3049. (CVS 4996)
FossilOrigin-Name: 062bf5d44d53ae0ee2bf96eddcc8de09157aa789
2008-04-12 13:06:09 +00:00
drh
dd95535f20 Minor fixes to FTS3 so that it works better when appended to the end
of the amalgamation. (CVS 4769)

FossilOrigin-Name: 62ede6699d8f116921a5a0baddca5e7e63740cd3
2008-02-01 15:34:09 +00:00
drh
85b623f2f9 Change all instances of "it's" in comments to either "its" or "it is",
as appropriate, in case the comments are ever again read by a pedantic
grammarian.  Ticket #2840. (CVS 4629)

FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
shess
b6a75606ed Change prefix search from O(N*M) to O(NlogM). The previous code
linearly merged the doclists, so as the accumulated list got large,
things got slow (the M term, a fucntion of the number of documents in
the index).  This change does pairwise merges until a single doclist
remains.  A test search of 't*' against a database of RFC text
improves from 1m16s to 4.75s. (CVS 4599)

FossilOrigin-Name: feef1b15d645d638b4a05742f214b0445fa7e176
2007-12-07 23:47:53 +00:00
drh
8255feca02 The FTS3 amalgamation can now be appended to the SQLite amalgamation to
generate a single source file that contains both components. (CVS 4558)

FossilOrigin-Name: 0fc61f99b54bd269fcc011f448b9b971e902cb01
2007-11-24 00:41:52 +00:00
drh
613a0fe455 Changes fts3 to use only sqlite3_malloc() and not system malloc.
Ticket #2762. (CVS 4554)

FossilOrigin-Name: 460af6bb668094c99a1d4dc1540b44b6d1d036b6
2007-11-23 17:31:17 +00:00
shess
cd7274ceb0 Don't do anything when input doclists are both empty. Ticket #2774 (CVS 4546)
FossilOrigin-Name: 75cb46f82a6a95dbe9e279dede299bafa2e91cae
2007-11-16 00:23:07 +00:00