drh
9e35a61e59
Add a new test case to fuzzdata8.db.
...
FossilOrigin-Name: ce8e279a7d37594e865c2d9197a5efe5d647e11f074dbaf4a4ee31c74c71dbc9
2019-01-28 11:54:13 +00:00
drh
0c873bf28a
Change the definition of the BtCursor.skipNext field so that it is undefined
...
for states CURSOR_VALID and CURSOR_INVALID.
FossilOrigin-Name: 6089d5dba73437d787259033e94a38cf1b0c87cac4a89c27e69d8239c22f496e
2019-01-28 00:42:06 +00:00
drh
c07eee7a50
Improvements to the ".eqp trace" command in the CLI so that it ensures that
...
the schema has been read prior to activing the tracing feature, to avoid
cluttering the output with a trace of the schema parse.
FossilOrigin-Name: 42687d45aa1a2b2a32ddfc5711b4ae9cf76b8cfbeb20b57d6705ecaf5824fcb6
2019-01-27 19:50:56 +00:00
drh
05d49d1442
New test cases form dbsqlfuzz
...
FossilOrigin-Name: 9cf8ebd141aa2eb661d457624c76433bd9e4abfdef04aa52e28bc169172c2c8f
2019-01-27 02:45:32 +00:00
drh
211a0857b9
Window functions that can abort should indicate this, so that if they are
...
used in DML statement, a statement journal will be used.
FossilOrigin-Name: 0ea05a0eb96acb860d8af2e788e29a5ae3b161e7892ab62f1ff2f3e722c0dcb6
2019-01-27 02:41:34 +00:00
drh
e5da9356e0
Update fuzzcheck so that with the --load-dbsql options it screens its
...
inputs to ensure that they are valid dbsqlfuzz cases. Add new dbsqlfuzz
finds to the test/fuzzdata8.db database.
FossilOrigin-Name: 004f7d9bbeee049c22a7e1c82c6cc0ea79a237967de3ff57686acea3060d5f45
2019-01-27 01:11:40 +00:00
drh
e6a9efb976
Ensure that the btree cursor is correctly set up prior to backing it up
...
as part of a delete operation on a divider cell in an index.
FossilOrigin-Name: a3ea1a822d3a110f4f186f2fc8550f435c8c98635d058096b7be9d4df7066b8b
2019-01-26 23:34:50 +00:00
dan
32bb700a95
Fix a broken assert() in fts3. Also some test script issues causing failures with builds that do not support fts3.
...
FossilOrigin-Name: d59567dda231e7ffec437d5e055676cf42d791196406cdc696cafa2583eb483b
2019-01-26 21:05:54 +00:00
drh
b4e5039316
Add the ".eqp trace" command to the CLI when using SQLITE_DEBUG, as a
...
convenient shorthand for "PRAGMA vdbe_debug=ON" but with automatic indentation
feature for program listings provided by the CLI.
FossilOrigin-Name: 626502faa17b5b7a0fa36cabfd12e463eb09aec048d01c587a18d3977cf04662
2019-01-26 15:40:04 +00:00
drh
0814acd981
Do not accidently truncate zeroblob values when doing an arithmetic
...
operation. Fix for ticket [bb4bdb9f7f654b0bb9f34cfba].
FossilOrigin-Name: 13f6942eb0da2d92a0830f18640ce64208bd0cd6ff6d0c97e4a4c57ac3d65ba6
2019-01-25 20:09:04 +00:00
drh
b2e61bc66b
Reinitialize debugging information on registers of a trigger prior to each
...
invocation of the trigger. This prevents false-positives from the
sqlite3VdbeMemAboutToChange() test logic.
FossilOrigin-Name: 98b3b97573ccb3d986d1552f97f96e15088a598945923adcac77010c1e8b7fe4
2019-01-25 19:29:01 +00:00
drh
f69af053dc
Fix harmless compiler warnings.
...
FossilOrigin-Name: 3ff220ad378d547538b4501e6b2201e835a2c66891e5e40856db377c101a50e5
2019-01-25 18:17:37 +00:00
drh
0578084507
Fix the assert_fts3_nc() macro so that it works for test builds that omit
...
SQLITE_DEBUG.
FossilOrigin-Name: b10df2b569e356551cf51ca179f307e4f8827413ee9feb886db1f1e0650e6c5f
2019-01-25 18:17:03 +00:00
drh
ed457037c4
Fix harmless compiler warnings in fuzzcheck
...
FossilOrigin-Name: a82539665718c8183d9d0bb7bcb3adcb1a23294b8c30f364829a982dab89a332
2019-01-25 17:51:06 +00:00
dan
c2ea77e5b2
Fix a segfault that could follow an OOM when querying a table that has one or more columns with default values "true" or "false".
...
FossilOrigin-Name: 202f9919c222ee933924c63c15ad36ec4481457b1e4d9179af14c9f284117c0c
2019-01-25 17:26:59 +00:00
dan
e88609f23e
Fix asan warnings in fts5 triggered by corrupt databases - passing NULL to memcmp, out-of-range left-shift values and signed integer overflow.
...
FossilOrigin-Name: 93f8ec146d63af13f04e337ada4fa75e9254f72b1394df09701ae12e185f27e2
2019-01-25 16:54:06 +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
drh
31ab7d8e5c
Extend fuzzcheck so that it can process dbsqlfuzz cases. Add a collection
...
of interesting dbsqlfuzz cases to the standard test suite.
FossilOrigin-Name: e2991a7ecf5dd241c4bab7c7cadc4901043fb0c3ea1fac70b684f6d8332677f1
2019-01-25 14:23:36 +00:00
drh
94f0a83421
Fix the xFetch method of the "memdb" VFS (used by deserialize) so that it
...
is robust against corrupt database file.
FossilOrigin-Name: 2c1ef40e787a6bc355b50168527a47eb09acd30d0d88cff8336a434ad554115d
2019-01-25 14:16:01 +00:00
dan
ba14c69b4f
Fix a couple of assert() statments in btree.c that could fail with corrupt databases.
...
FossilOrigin-Name: 5eb5e8289fa71e5e29e081d33d4a59c64b463bf6b06d7070c05c46d77d808ad4
2019-01-25 13:42:12 +00:00
drh
725a9c7f6c
In fuzzcheck, activate vdbe_debug for dbsqlfuzz cases when using the -vvvvv
...
verbosity level or above.
FossilOrigin-Name: 2e6f7c2aced49824a38b3494b796a8ec73aa7a90b51159f670596df15ed1c5ab
2019-01-25 13:03:38 +00:00
drh
df21659a40
Improved automatic detection of dbsqlfuzz cases in fuzzcheck.
...
FossilOrigin-Name: 1ef24e89c9630fd383ba32f5aefcf9c27907f27f5072f3537a1cfd75a093a8d7
2019-01-25 04:43:26 +00:00
drh
a47e709e89
Add the ability to process dbsqlfuzz cases in fuzzcheck and add an initial
...
set of interesting dbsqlfuzz cases.
FossilOrigin-Name: fb9074ff450a67feaa62ca61d19154de26d5c8a8d147409ee6d1fbd667b2914f
2019-01-25 04:00:14 +00:00
dan
813ed78054
Fix a buffer overread in fts3 that could occur in a prefix query on a corrupted database.
...
FossilOrigin-Name: d0d5689371577b2861d4a9464443d055f3256f3f51d89e0388233a4cbe2601ee
2019-01-24 17:41:12 +00:00
dan
f467744d5f
Fix a problem with running ALTER TABLE on a schema that contains expressions of the type "col IN ()" (empty set on RHS of IN operator).
...
FossilOrigin-Name: 2d9cd06715092c312c8c0ec392696a0e90ed090b074e2082e0b830f1399aa941
2019-01-24 16:27:10 +00:00
drh
3cc9af2140
Omit deprecated PRAGMAs when compiling with the -DSQLITE_OMIT_DEPRECATED option.
...
FossilOrigin-Name: 008112bcef561a8a3ebfb007cbef36cbc0071f547e6ebdba3d3bbb39e2c48c7a
2019-01-24 16:07:18 +00:00
drh
491b6d897d
Make sure the column name flags are restored correctly after an error
...
inside of sqlite3ResultSetOfSelect().
FossilOrigin-Name: b1601db7adba2dccd4f90fbbe5099c801a2b0d97af087fbe82ed98d05496b38c
2019-01-24 15:51:03 +00:00
dan
b0c4c94996
Fix a potential problem with "INSERT INTO ... SELECT * FROM" (or VACUUM) statements on a corrupted database.
...
FossilOrigin-Name: db4b4c2c1e9f1adacfb1b2fedb717a4d8bb0a299c3b11835404a99fcd67bf24b
2019-01-24 15:16:17 +00:00
drh
936ade4dba
Change a integer variable in sqlite3VdbeRecordUnpack() to unsigned in order
...
to avoid any possibility of an integer overflow.
FossilOrigin-Name: 1b536f6fd8d58800042f130842f0586aaa357841ee0d1b690a9815c865d50826
2019-01-24 14:16:20 +00:00
drh
55469bbafb
Use memmove() instead of memcpy() in a place where buffers might overlap
...
if the database file is badly corrupted, to prevent warnings
from ASAN and valgrind.
FossilOrigin-Name: 65ad6c55f1ba9bc2f75afffa3adaf19f145fad7ac9a00ccce6372e9a2cc4341b
2019-01-24 13:36:47 +00:00
drh
6a02f237e3
Remove an unreachable branch.
...
FossilOrigin-Name: 4c976f171342ba2d39779279c28f3bc088572c440922e3e4421a3bf541263360
2019-01-24 04:44:54 +00:00
dan
b4738ddb20
Fix an assert() in vdbemem.c that could fire if the database was corrupt.
...
FossilOrigin-Name: a70958cd7d5cf750c293537856918e5789013b70f6a827f724d83559b38629c8
2019-01-23 20:31:56 +00:00
dan
a5f9f42a0e
Fix a problem with renaming a table within a schema that contains a composite query that uses a column alias as an ORDER BY term.
...
FossilOrigin-Name: 2ca6b8f84ec07e313aa4e1c0894827401b418dcc4221e9c54c384f1c3893952a
2019-01-23 19:50:46 +00:00
drh
e3dadac591
Stricter enforcement of cell sizes when doing balancing operations on the
...
btree, in order to catch file corruption sooner.
FossilOrigin-Name: 12713f320b2c1def273dd8b7833dddaaad5331aba779d4b1ec9aa949814f38fe
2019-01-23 19:25:59 +00:00
dan
f8f47dd8c5
Fix another fts5 crash that can occur if the database is corrupted.
...
FossilOrigin-Name: 44ce8baa47192be03c8f11777904c3c07fa5cc5c97b6d8e81572d380995ac688
2019-01-23 19:17:05 +00:00
dan
d99950310f
Fix problems with sub-selects in WINDOW definitions. Also rename-column operations when the column being renamed appears in a WINDOW definition that is part of a VIEW or TRIGGER.
...
FossilOrigin-Name: 0387cb3add992b2028efe4f2100188d8f9fdfdcb233329857aa4b46a293cfc97
2019-01-23 16:59:24 +00:00
dan
4c7bdd1597
Fix a buffer overwrite triggered by a prefix query on a corrupt fts5 table.
...
FossilOrigin-Name: 1d8172a94bce2d067027685e5aa1dc8f5d5d55b5da0832ad2836f6939de68c8f
2019-01-23 12:19:22 +00:00
dan
ccfa550922
Fix a buffer overrun that could occur in fts5 if a prefix query is made on a corrupt database.
...
FossilOrigin-Name: 1abc4415648e69362061e9f9a4f2c1d419ba33801999b377650d8b9a4d2d3a7c
2019-01-22 21:17:40 +00:00
dan
8e4fe01dda
Do not run shmlock.test as part of the journaltest permutation.
...
FossilOrigin-Name: 5b7d0c784e6467154d9549af0163d788b69d5e5a6478a735834cdea945e7dbb7
2019-01-22 20:18:29 +00:00
drh
c5ea2d474d
Use _strdup() instead of strdup() on Windows builds of the CLI, to avoid
...
a compiler warning reported on the mailing list.
FossilOrigin-Name: a7126a4f4fb4e3e25be95d673323f835252bb2b427469616046a90b2acf64071
2019-01-22 16:44:59 +00:00
drh
f186f0b058
Fix the SQLITE_DESERIALIZE_READONLY feature so that it does not cause
...
an assertion fault in the pager.
FossilOrigin-Name: b9eccef7825c61980678599358b62bc394283124653061ce163ead0c653f481d
2019-01-22 16:43:47 +00:00
drh
178edcd774
Update dbfuzz2 to set a maximum database size of 100MiB by default, but
...
with the new --max-db-size N option to change that limit.
FossilOrigin-Name: 21d6bb78ef2979d011b917d2d6519d7cd0009fcad83ed23ab2e9a5e02d8e51ab
2019-01-22 16:11:31 +00:00
drh
6ca644818b
Enhancements to deserialize: (1) Add the SQLITE_FCNTL_SIZE_LIMIT file control
...
to set a maximum size for an in-memory database, defaulting to
SQLITE_MEMDB_DEFAULT_MAXSIZE or 1GiB. (2) Honor the SQLITE_DESERIALIZE_READONLY
flag. (3) Enhance the TCL interface to support -maxsize N and -readonly BOOLEAN.
(4) Add the --maxsize option to the ".open" command and on the command-line for
the CLI.
FossilOrigin-Name: 30f08d58882819a69e353bcc1b6b349664bbfbe00aa1c115ba44a9fd899fcc5b
2019-01-22 16:06:20 +00:00
drh
247c1b4a0b
Make sure cursors are opened on all indexes for an UPDATE OR REPLACE
...
regardless of whether or not the indexes are partial or contain columns
that might need to be updated.
FossilOrigin-Name: e148cdad35520e6684cfeba23b003f60b55f83a6bf621aff16be8aa5612cdcee
2019-01-22 13:45:48 +00:00
dan
2c7a73eaea
Fix another segfault caused by a corrupt fts3 database.
...
FossilOrigin-Name: ba3b8412726548a0716c1a2d67260c3b7e31956474f4cd4ce607cf2cebc667dd
2019-01-22 12:21:28 +00:00
drh
9b13365bba
Ensure that a key comparison does not read a collating sequence past the
...
end of the KeyInfo, even if the key field of an index is corrupted by having
a string in the last column instead of the ROWID.
FossilOrigin-Name: 058a8006dceda78a894ea9446f057aa60b6d38e96506d4d91bda0ee2f9314ba3
2019-01-22 02:34:35 +00:00
drh
87c3ad4537
Enhance the btree search routine so that it does early detection of
...
impossibly large keys and thereby avoids a large malloc() call.
FossilOrigin-Name: 3ecaaee69f49e43d38047b7d53b82689eba7f7d33541fcac3c32b6dc8a568458
2019-01-21 23:18:22 +00:00
dan
129371553c
Avoid deferencing a freed pointer following an OOM or SQLITE_CORRUPT error in
...
the fts3 xDestroy method.
FossilOrigin-Name: 505ed9a47825240979338a24044559613fbbd2a7850bdff70c7164da054ec63d
2019-01-21 17:57:31 +00:00
dan
ac30553f76
Remove a faulty assert() from fts3.
...
FossilOrigin-Name: 6c33a303ebbb0f5193ead535280ba63118e14fb4f9977ce80dc716a0b082ec99
2019-01-21 16:12:20 +00:00
drh
e6c628e98c
Make sure the extra bytes allocated for the saved cursor position by
...
check-in [160b1e31c0f27257] are initialized to zero.
FossilOrigin-Name: 2737564929e86ead84a3ff6512369268198d38b46e3e02866f8ce34babc76cb9
2019-01-21 16:01:17 +00:00