Commit Graph

5258 Commits

Author SHA1 Message Date
drh d092ed4355 Add some extra source-code comments and a test case.
FossilOrigin-Name: 6d410442fb532e2cf0ad1859bc9e843651f8ff4d
2015-05-29 14:36:30 +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 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 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
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 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
drh ea93c7005d The "make fuzztest" target now uses fuzzcheck instead of fuzzershell.
FossilOrigin-Name: 4a5f6f1f0128657fd8d4d99d0682edd5bac2a19e
2015-05-26 18:15:08 +00:00
drh d9972ef752 Enhance fuzzcheck with the ability to store descriptions in each source
database and to run multiple source databases in a single invocation.

FossilOrigin-Name: 193364c81c301a41c16835108d23ad2ab84d9dd7
2015-05-26 17:57:56 +00:00
drh 908aced558 Fix another bug in the in-memory VFS for fuzzcheck.
FossilOrigin-Name: 16878a314baceb14632a3ec43187fcc020089a76
2015-05-26 16:12:45 +00:00
dan 6c1944f659 Update test cases in corruptI.test so that they work with both SQLITE_ENABLE_OVERSIZE_CELL_CHECK and SQLITE_DEFAULT_AUTOVACUUM builds.
FossilOrigin-Name: 22a14663782312fa7f4f18545509ef4b27e9b8c1
2015-05-26 14:57:45 +00:00
dan fb0246ba8a Return SQLITE_CORRUPT to the user if an attempt is made to add database page 1 to the free page list.
FossilOrigin-Name: 68876003f922635737349f55bc73a78891ea7028
2015-05-26 12:18:17 +00:00
dan c5b7358513 Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY.
FossilOrigin-Name: 3b936913f3dc2cae4c94f983f28d85b136a44c9f
2015-05-26 11:53:14 +00:00
drh e5c5f2cf77 Add the --result-trace option to fuzzcheck, and other interface enhancements.
FossilOrigin-Name: c415bb7bbfd531b138462589cdd58fa0204804e8
2015-05-26 00:28:08 +00:00
drh aca7ea1e4d Fix an important bug in the xRead method of the in-memory VFS for fuzzcheck.
FossilOrigin-Name: 58cd40e89f3060c63abb9a3fca385a1e72ce7bb4
2015-05-25 23:14:37 +00:00
drh 1573dc3bb1 Add fuzzcheck to all makefiles and fix compiler warnings.
FossilOrigin-Name: 7b3d21906a9650377cda56b94facdff75b2cb858
2015-05-25 22:29:26 +00:00
drh 4ab31475dc Improved tracing capabilities in fuzzcheck.
FossilOrigin-Name: 864bfdbfe7b196cc9df2136b15a28e2a0f2713cb
2015-05-25 22:17:06 +00:00
drh 15b3128656 Add the --native-vfs option on fuzzcheck.
FossilOrigin-Name: 12e95e3f178b89d649bc7e30db731df439ae1653
2015-05-25 21:59:05 +00:00
drh b335d12df7 Merge the btree fixes out of trunk.
FossilOrigin-Name: f3cd8cecf4f7aa3429e3ebc90ed31c4e8fff7bc2
2015-05-25 19:37:17 +00:00
drh a9542b1bc4 Add the --dbid and --sqlid parameters to fuzzcheck. Other fuzzcheck fixes.
FossilOrigin-Name: 75ec9299faca8ce3d49d825ba6ea60588a91d113
2015-05-25 19:35:42 +00:00
dan 08f901b008 Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor with a root page number less than 1.
FossilOrigin-Name: aa18c8e9d1676b1caa53bc5f5c1dc5f201089b88
2015-05-25 19:24:36 +00:00
drh 3b74d0327f First code for a new utility program to rerun checks on a large number of
fuzzer-generated test cases.

FossilOrigin-Name: c5b4e363528aa1d2d5f41451f16de0aa91152b38
2015-05-25 18:48:19 +00:00
dan 0f8076dd69 Fix a couple of btree asserts that would fail when encountering 32-bit rollover in cell payload size fields (cell payloads this large always indicate corruption).
FossilOrigin-Name: 8fa0937a2f3476dd280259e252d6f422c33d38ee
2015-05-25 18:47:26 +00:00
dan 2fc3a6cd98 Fix a case where database corruption may cause SQLite to write past the end of a buffer.
FossilOrigin-Name: 97806a78142b15f89878e25ee70dc5b0524d6793
2015-05-25 17:07:29 +00:00
dan cf3d17c604 Fix an assert() in btree routine freeSpace() that may be false if the database is corrupt.
FossilOrigin-Name: 00a473c56188cd60a74559effb114140e3fe8a8d
2015-05-25 15:03:49 +00:00
dan 3fb37f097c Fix an fts4 matchinf() problem triggered by deferred tokens that are part of phrases that are part of AND expressions.
FossilOrigin-Name: f1e942a1dda496a509741e9cc2a17e8b4dac63a3
2015-05-25 10:57:13 +00:00
drh f058b9c472 Add a test case to verify that CREATE TABLE AS does not store INT values
in TEXT columns.  Ticket [f2ad7de056ab1dc92].

FossilOrigin-Name: 0e45e8f1574ef19a43dbd118440ddbc5cec80ce7
2015-05-20 17:25:44 +00:00
drh 00d5ab7405 Fix handling of queries with VALUES on the left and UNION ALL SELECT on the
right and a LIMIT clause.

FossilOrigin-Name: c403502cdce8b82e570e6fc49ab7f5144800c189
2015-05-20 00:15:27 +00:00
dan dde548cb16 Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value.
FossilOrigin-Name: f5d0ce80792d58ef424300f973f8876d835ed4ad
2015-05-19 19:44:25 +00:00
dan b387e63707 Merge latest trunk changes with this branch.
FossilOrigin-Name: 6055a6725cb24469c10de9a04f3614dcc79193c6
2015-05-19 14:14:57 +00:00
drh a48bae8819 Transitive constraints should only work if operands have compatible
affinities and collating sequences.

FossilOrigin-Name: 5df4056448fee1c766f8f79c735ed12abdce5101
2015-05-18 12:28:09 +00:00
drh 69c15fee98 Refinements to the determination of when an A==B term is an equivalence.
Add test cases.

FossilOrigin-Name: 6bfaf525cac2e0c0a4a3bd3a1fc7bf5bd3234303
2015-05-18 11:34:52 +00:00
drh df553659ad Make a hard copy of the results of a subquery lest the result of the
subquery be referenced after a change to the table that generated the subquery
result.

FossilOrigin-Name: 9c0d80907b4dee8ee8f205c2ebdb759f5ba1d771
2015-05-18 04:24:27 +00:00
dan 3072b537f5 Do not assume that "col IS ?" matches at most a single row of a UNIQUE column unless the column is also NOT NULL.
FossilOrigin-Name: e038ce8955e785afcc07bb22499955bbd22a7af4
2015-05-15 19:59:23 +00:00
drh 22c17b8bf5 Simplifications to error message processing. Fix a possible problem in error
message formatting when vacuuming a database with a corrupt schema.

FossilOrigin-Name: 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e
2015-05-15 04:13:15 +00:00
drh 5d8806e07c A few more test cases for the IS operator.
FossilOrigin-Name: f397c8622ae5a36a71f81d9f2549ca314005ece5
2015-05-14 14:03:21 +00:00
drh 4a00b33c02 More test cases. Remove some invalid testcase() macros. Rearrange some code
for improved testability.

FossilOrigin-Name: b3676377b257bd8bb7fefe9c365d76cdc9e44856
2015-05-14 13:41:22 +00:00
dan 2bbb62ce0b Merge changes from the index-is-operator branch into this one. Drop the partial support added for IS on this branch by [52e73eec].
FossilOrigin-Name: 16ab9cafd00ea5df7e6f75d6a6740237828b888d
2015-05-14 09:53:17 +00:00
dan 8255079611 Merge latest trunk changes with this branch.
FossilOrigin-Name: 299ed55c909d327826ef47e204ef1e9afd54852b
2015-05-14 08:58:52 +00:00
drh e8d0c61f0a A new implementation of indexing with the IS operator that works correctly
when the IS operator is in the WHERE clause and the operands are from 
opposite sides of a LEFT JOIN.

FossilOrigin-Name: 4541688b3f56f5cd3d5b299594b58c577ad633bb
2015-05-14 01:05:25 +00:00
drh 9be1870994 Simplified implementation of indexing with the IS operator.
FossilOrigin-Name: 95b1f9bf14e490c6c6bba9ea78aeab712a44aab5
2015-05-13 19:33:41 +00:00
drh e0cc3c296c Add testcase() macros and comments and a few test-cases.
FossilOrigin-Name: 24263d08b11c88416d270013bdaf5ff45125cb4d
2015-05-13 17:54:08 +00:00
drh 6582ae520f Try to get recent sqlite3_analyzer and sqldiff tests working for all
tested combinations of compile-time options, especially
SQLITE_OMIT_VIRTUALTABLE and SQLITE_OMIT_LOAD_EXTENSION.

FossilOrigin-Name: 07c7d3925cbcf44c2f606c7f016ec56304e0ca24
2015-05-12 12:24:50 +00:00
dan 6ebf1eb2c4 Add new fts3 matchinfo option 'b'. Also optimize existing option 'y'.
FossilOrigin-Name: 2e7679a1df4020dc0166f5de8ffd664df18a3002
2015-05-11 19:01:18 +00:00
drh 8906b7dbde Add missing "finish_test" commands to the end of the two new test scripts
for sqlite3_analyzer and sqldiff.

FossilOrigin-Name: 1d5e72b1c4e0350c492e12f102acc41e1777ef98
2015-05-11 18:48:52 +00:00