Commit Graph

14074 Commits

Author SHA1 Message Date
dan bcc2f04c68 Add the "columnsize=" option to fts5, similar to fts4's "matchinfo=fts3".
FossilOrigin-Name: aa12f9d9b79c2f523fd6b00e47bcb66dba09ce0c
2015-06-09 20:58:39 +00:00
dan 90502c3dc7 Fix a comment in fts5.h.
FossilOrigin-Name: e964b5877497b16cf985d3d847e82529bb3fa4a3
2015-06-06 19:23:32 +00:00
dan 7193b69f52 Fix handling of fts5 rowid constraints in the absence of a MATCH clause. Add tests to cover recently added branches.
FossilOrigin-Name: 3a9cb648138a059862fb438c0787fdd888f5e88e
2015-06-06 16:28:29 +00:00
dan e4449454c5 Make use of range constraints on the rowid field of an fts5 table in full-text queries.
FossilOrigin-Name: 32cbc0ed3699cc21302f0b6a159493117ad4bd4f
2015-06-05 19:05:57 +00:00
dan 6f277eb6bc Fix an fts5 problem in extracting columns from position lists containing large varints.
FossilOrigin-Name: 4ea015ab983300d420ef104cca550b22a6395866
2015-06-03 11:23:30 +00:00
dan f67bb4a21b Change the fts5 multi-column syntax to use parenthesis instead of square brackets.
FossilOrigin-Name: ab85a6fc4f7580278fc9d1f0090fdcf0a90d065b
2015-06-02 19:38:15 +00:00
dan 167fd757f0 Merge latest trunk changes with this branch.
FossilOrigin-Name: c9ffda4abb4390bbc5719e269196e2807b254f97
2015-06-02 18:07:58 +00:00
dan dbef6e752e Reimplement [ec69e09a] so that each call to the xNext() method does not involve two iterations of the match expression tree (only one).
FossilOrigin-Name: 80fe305b3eefb17310a9d6185d1c8cd73ee38b1e
2015-06-02 17:57:01 +00:00
drh 467c1c70fb Add test cases for type affinity rules.
FossilOrigin-Name: 9678646d9a14ba283a83839be329599a676a537a
2015-06-02 17:25:05 +00:00
drh a88994ee57 Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with
"no affinity".

FossilOrigin-Name: 29ad9e917330969810ac1bc685bba4282401bdae
2015-06-02 16:19:56 +00:00
drh 05883a3409 Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB.
FossilOrigin-Name: bce3f04186cd2d69414a5a98b5b77dc8f060554a
2015-06-02 15:32:08 +00:00
drh cd8fb7cfd5 Fix a faulty assert() in btree.c. Update the database fuzz test file with
new test cases.

FossilOrigin-Name: 4e621af1345a001360938de76e3b0a14deb5e991
2015-06-02 14:02:18 +00:00
dan 5350d91ed3 Improve performance of the fts5 AND operator.
FossilOrigin-Name: b43e9a5b7a0483ccb102316a4dbc5e32b5bc69ec
2015-06-01 19:17:06 +00:00
drh fcb9f4f3ca Corrections to comments in expr.c. No code changes.
FossilOrigin-Name: f925389eaf5bf8962a28fcaa652b75caa606efba
2015-06-01 18:13:16 +00:00
drh 5fea985851 Typo fixes and additional background information in README.md.
FossilOrigin-Name: 9b8e5823bccf69f5cdedd8655e75df6e9718b809
2015-06-01 11:10:39 +00:00
dan 34efc82eed Change fts5 expression processing to avoid linear scans of long doclists caused by phrases that match specific columns only.
FossilOrigin-Name: ec69e09a55b4daf1c40aeaaf9ee95091fe86f5c0
2015-06-01 09:15:20 +00:00
drh f960a64d29 Updates to configure.ac to help it find where the TCL libraries hidden
on Ubuntu 14.04.

FossilOrigin-Name: c864ff912db8bc0a3c3ecc1ceac61a25332e76c5
2015-05-30 22:57:49 +00:00
mistachkin 2efcf2aac2 Fix minor typo in comment. No changes to code.
FossilOrigin-Name: 73fc058b3a74c1b018cff990de793f19a602c12f
2015-05-30 22:05:17 +00:00
dan 3f3074e0c1 Remove the "#include sqlite3Int.h" from fts5Int.h.
FossilOrigin-Name: e008c3c8e29c843ec945ddad54b9688bbf2bdb44
2015-05-30 11:49:58 +00:00
dan a8c024905c Add extra tests and fixes for multi-column matches.
FossilOrigin-Name: ae6794ffa23ef6191bd8834422abf322d978c11b
2015-05-29 19:00:22 +00:00
drh 1c8badeb26 Ensure that allocateBtreePage() always clears the MemPage pointer when
it fails due to an I/O or memory allocation error.

FossilOrigin-Name: 09a38bf665902834936d39341627ded88142e6ae
2015-05-29 18:42:11 +00:00
drh e726622579 Move two unreachable conditionals inside of NEVER() or assert().
FossilOrigin-Name: db4e9728fae5f7b0fad6aa0a5be317a7c9e7c417
2015-05-29 17:51:16 +00:00
drh 1f2d968622 Remove a corruption test in balance_nonroot that is superceded by a prior
better check.

FossilOrigin-Name: 00693682d8664fa608ba43684f6376a9bd5b84eb
2015-05-29 17:13:14 +00:00
dan 6d21f42db2 Add syntax to fts5 used to specify that a phrase or NEAR group should match a subset of columns. For example "[col1 col2 ...] : <phrase>".
FossilOrigin-Name: 0fc0ea20920615f3e48ea2dbe2b7dcd979b0993e
2015-05-29 15:55:30 +00:00
drh b5a2d55ee6 Omit the rowallock.test script (Read-Only WAL lock) from the
inmemory_journal permutation.

FossilOrigin-Name: d21db3308996510ffc3c869c2ac093de70d03412
2015-05-29 15:15:40 +00:00
drh 9d69464adc Add support for automatic indexes on FROM-clause subqueries that are
implemented via co-routine.

FossilOrigin-Name: 020b8b106fc8f840f6b506e1c9c3bc75676daec3
2015-05-29 14:47:18 +00:00
drh d092ed4355 Add some extra source-code comments and a test case.
FossilOrigin-Name: 6d410442fb532e2cf0ad1859bc9e843651f8ff4d
2015-05-29 14:36:30 +00:00
drh 7b3aa08e22 An attempt to allow automatic index creation on subqueries accessed via
co-routine.

FossilOrigin-Name: 521345add67e9dfd7df1446eb942aa0d84b9e6eb
2015-05-29 13:55:33 +00:00
drh 7cea7f95c7 Using "SELECT ALL" instead of just "SELECT" on a query that uses a single
unflattenable subquery or view in its FROM clause will force the subquery to
be manifested into a temporary table rather than run incrementally using a
co-routine.  This is a stop-gap means of controlling the decision to manifest
while we try to work out a better to make that decision automatically.

FossilOrigin-Name: a29e117d7ecec05da949348689dbfb0d3acb1280
2015-05-29 01:35:19 +00:00
dan e96efb6426 Optimizations for fts5 queries that match against a specific column.
FossilOrigin-Name: b29ac50af0491a780a5a4c0985d88d0e5e014ba3
2015-05-28 19:57:12 +00:00
drh c68275032e Added comments and testcase() macros to error cases in the btree search.
FossilOrigin-Name: 7da7dc714bf1fe34b38fc33a923490dfd3e4f070
2015-05-28 15:14:32 +00:00
dan af5cd564f0 Remove some dead code from fts5. Add auxiliary function api tests to the same.
FossilOrigin-Name: 0f9df202cc58097afddb8dad662b7c7fdc2c7d0c
2015-05-28 14:37:26 +00:00
drh 73d340adff Earlier detection of incompatible sibling pages in balance_nonroot.
FossilOrigin-Name: 60a09f17d8b70dbc4b020586a1b81bce76882729
2015-05-28 11:23:11 +00:00
drh 24cf1e546c Add new test cases to the fuzzdata3.db set of database fuzz tests.
FossilOrigin-Name: 467b13a40171dd8462dc11d05bb1e9cb588e6a23
2015-05-28 03:45:03 +00:00
drh 7e8c6f1c2e Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content
pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT.

FossilOrigin-Name: fe15d1f70360d6fef8ef1a111dd43e060d059623
2015-05-28 03:28:27 +00:00
drh 275fe3adf1 Do not attempt to take any write lock on a read-only database on Windows.
FossilOrigin-Name: a47ff0cdab0f82398c68ea770053f193f4812a51
2015-05-28 00:54:35 +00:00
drh 3da29a112a The fuzzoomtest makefile target is no longer supported, so update
releasetest.tcl accordingly.

FossilOrigin-Name: 06959d4ada53b765cae4b192a691fced4b8aebbb
2015-05-27 19:35:08 +00:00
drh f74d35be8c Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles
to run fuzzcheck with --quiet on valgrind tests.

FossilOrigin-Name: 8bfe834432b37f94779da6c71fc369651f024590
2015-05-27 18:19:50 +00:00
drh b52e9c89df All bytes of a page are initialized, even bytes that follow a 2-byte cell
on a malformed page.

FossilOrigin-Name: 7373a004ed0e2781cda503c73e9a94f24350ef79
2015-05-27 18:13:35 +00:00
drh f9705d4b66 A different approach to preventing buffer overreads when comparing a vector
of values with a corrupt index record that spans at least one overflow page.

FossilOrigin-Name: 95eaa49f4ee071c7a0f690a695f1f2d1ebca68a8
2015-05-27 15:42:53 +00:00
drh a7298ac191 Disallow the use of "rowid" in CTEs - it has never worked correctly and it
makes no sense, so we might as well make it an explicit error.
Also: add the PRAGMA cell_size_check=ON command.

FossilOrigin-Name: 19e2cebc12aaa4e72d3bad74af73575a0457e5d4
2015-05-27 15:10:20 +00:00
dan 3548db7c13 A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page.
FossilOrigin-Name: 7e9e1b6123bc455dd7d1c894b6154ccd27acec18
2015-05-27 14:21:05 +00:00
drh fccda8a162 CTEs have never add working rowids. So disallow the use of the "rowid" column
within CTEs.

FossilOrigin-Name: 0055df0445932a43e42b318ef88672dcbe312c3a
2015-05-27 13:06:55 +00:00
drh 1421d980c5 Add the "PRAGMA cell_size_check=ON" command.
FossilOrigin-Name: 2ead43f074d01312c7642e1df9abccc95547f019
2015-05-27 03:46:18 +00:00
dan b95e1193d5 Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page.
FossilOrigin-Name: 62a5b3633a086694ef0e579a0a82322cb1ae3d60
2015-05-26 20:31:20 +00:00
dan cc7aa1f6f3 Avoid branching on an uninitalized variable when comparing SQL values with the undefined serial types 10 and 11 (which only appear in corrupt databases).
FossilOrigin-Name: b4a45d3b78fede2433ac18f20b1ab7bddee77059
2015-05-26 20:07:32 +00:00
drh 52b33f8047 The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. Test
data is added for database fuzz testing.

FossilOrigin-Name: 5e3e410bf49a29efbf9ff3ef048e158804ca0027
2015-05-26 19:08:14 +00:00
dan 82faa2c88d Merge accidental fork.
FossilOrigin-Name: e85628e34ac684b8a23f49eee71e4d6546e0ef64
2015-05-26 19:01:36 +00:00
dan 584390e8dd Fix a one-byte buffer overread that may follow a syntax error while preparing an SQL statement.
FossilOrigin-Name: 075003930da98419f671b7833a5850693529fb62
2015-05-26 18:58:57 +00:00
drh 4d6fda73b4 Fix fuzzcheck so that it responds correctly to the TEST_FAILURE environment
variable.

FossilOrigin-Name: 76770c9e061e2eb106d7ea402eef888b98ba9d0e
2015-05-26 18:58:32 +00:00