Commit Graph

5242 Commits

Author SHA1 Message Date
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
dan
1c1cea8bae Merge latest trunk changes into this branch.
FossilOrigin-Name: 82e5a6e088c58815140ad36715ac11c96527cb25
2015-05-11 18:46:42 +00:00
drh
d13b231923 Test cases for sqlite3_analyzer and sqldiff. Fix a problem with
sqlite3_analyzer related to the renaming of the initialization routine.

FossilOrigin-Name: 85a4a46c3bb9fd8124969c9e975086c795113b7e
2015-05-11 17:46:14 +00:00
mistachkin
6a12854024 Remove a couple stray test breakpoint calls.
FossilOrigin-Name: 2860cebeeaebd346de60c762aa3e51dbab008578
2015-05-08 00:58:39 +00:00
drh
857df26b85 Enhance the dbstat virtual table with the ability to analyze ATTACHed
databases.

FossilOrigin-Name: 25ec09400b753fcb10a2aae57eb43dbf0548b7ca
2015-05-07 14:41:56 +00:00
drh
9b40e474ef Remove a faulty assert() statement.
FossilOrigin-Name: 5f2539da8cb9df99029ab4ab7023804722697673
2015-05-07 00:09:29 +00:00
dan
99eaf39784 Add the fts3 matchinfo 'b' flag.
FossilOrigin-Name: b9b77972d88171e4239b8194f308eb5d60b5d172
2015-05-05 20:39:53 +00:00
dan
dd14ecbca5 Fix a faulty assert() in the btree part of the "PRAGMA page_size = ?" code.
FossilOrigin-Name: 90b197489a37e01dcb2f3a8182848c1301e1757b
2015-05-05 10:03:08 +00:00
drh
d1055b1bd5 In the command-line shell, and the ".binary" command and additional
C-style backslash escapes.

FossilOrigin-Name: 850c11866686a7b39d7b163fb60898c11283688e
2015-05-04 19:13:25 +00:00
drh
9af8646dce Fix a faulty assert() in the SELECT code generator and add a test case
to prevent regression.

FossilOrigin-Name: 1421c8ffba179d6aafa2643012f80a2738779117
2015-05-04 16:09:34 +00:00
dan
28f98455f4 Add the experimental matchinfo 'y' flag to fts3/4.
FossilOrigin-Name: 92941609af74044b3078e020324a37b04a0638b0
2015-05-02 09:44:15 +00:00
drh
b3df0c675c Enhance fuzzershell to accept multiple input files. Add the test/fuzzdata2.txt
fuzz test content.

FossilOrigin-Name: ab5523aafe4817232388d28ea99be0953e7dccf3
2015-05-01 19:21:12 +00:00
dan
929b923388 Fix an assert() failure caused by setting "PRAGMA journal_mode=off" on an database in exclusive-mode that has already opened the journal file.
FossilOrigin-Name: 40db3e40126db1035fcc12989026915744dc5651
2015-05-01 16:57:24 +00:00
drh
6c98415a1c Modify the mkfuzzdata1.tcl script so that it retains the culled test vectors
in the tmp2 subdirectory.

FossilOrigin-Name: 431a958f3b605ef059119eaedd69796e14bec291
2015-04-30 13:06:15 +00:00
drh
0bdef92dc2 Update the test/fuzzdata1.txt file with the latest cases discovered by AFL.
FossilOrigin-Name: f2063f5320f5a5d884f9c931eb91b7cc94945b92
2015-04-28 14:49:41 +00:00
dan
d68d1f4863 Fix an assert() failure that could occur if the internal sqlite3_rename_parent() SQL scalar function was invoked directly.
FossilOrigin-Name: 36e515261825be60ffdc73d13340d77cf377e8e1
2015-04-28 14:07:02 +00:00
drh
4d35c41f48 Add a TCL script that can be run to generate the fuzzdata1.txt file.
FossilOrigin-Name: fdc79fd14af8e05d1d5b4665303715b391f2e402
2015-04-28 00:53:26 +00:00