drh
97bae794c2
Add a new opcode to the VDBE that gives the b-tree a hint about the set
...
of columns in a table or index that are actually used by the query.
FossilOrigin-Name: f167bba446b78dd7538d0b2bae3e6678f3b1ba28
2015-06-05 15:59:57 +00:00
drh
d62fbb50e6
Change the name of SrcList.a[].zIndex to the more descriptive
...
SrcList.a[0].zIndexedBy.
FossilOrigin-Name: 6a9cf063379118dbb95c6cdc6d60af50e9867177
2015-06-04 12:08:53 +00:00
drh
24dee9d214
Always check for cell overflow before returning a slot from the
...
pageFindSlot routine in btree.c.
FossilOrigin-Name: 9f035c45a4b84203e67b6e1b23cf11691dc43f1e
2015-06-02 19:36:29 +00:00
drh
4c393a82df
For FROM-clause subqueries that cannot be flattened, try to push relevant
...
WHERE clause terms of the outer query down into the subquery in order to help
the subquery run faster and/or use less memory.
FossilOrigin-Name: 6df18e949d3676290785143993513ea1b917d729
2015-06-02 18:09:18 +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
drh
69b72d5a29
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause
...
terms of the outer query down into the subquery in order to help the subquery
run faster and/or use less memory.
FossilOrigin-Name: 297fae7551a2af9e600d833801ff79fca0602ad5
2015-06-01 20:28:03 +00:00
drh
fcb9f4f3ca
Corrections to comments in expr.c. No code changes.
...
FossilOrigin-Name: f925389eaf5bf8962a28fcaa652b75caa606efba
2015-06-01 18:13:16 +00:00
mistachkin
2efcf2aac2
Fix minor typo in comment. No changes to code.
...
FossilOrigin-Name: 73fc058b3a74c1b018cff990de793f19a602c12f
2015-05-30 22:05:17 +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
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
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
drh
73d340adff
Earlier detection of incompatible sibling pages in balance_nonroot.
...
FossilOrigin-Name: 60a09f17d8b70dbc4b020586a1b81bce76882729
2015-05-28 11:23:11 +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
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
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
dan
633d0753ab
Add a cast to one side of the test added by [97806a78] in order to avoid a signed/unsigned comparison warning.
...
FossilOrigin-Name: 5b46d2a78a45de4176b666bfc89c2aaa6f083662
2015-05-26 17:33:30 +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
dan
c3e8ef1d0e
Fix a case of a corrupt database causing SQLite to read from up to 4 bytes before the start of a memory allocation.
...
FossilOrigin-Name: 7d2c4f7b6695806ab8ce0c6f49d8bc1d77a4320b
2015-05-25 20:04:15 +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
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
drh
af80a1c8e7
Fix an obsolete comment - no changes to code.
...
FossilOrigin-Name: 4e4228c47f862c7f1fb078bf1b8c1d604f09d365
2015-05-25 10:29:52 +00:00
drh
521d7bd214
Remove an incorrect and pointless assert().
...
FossilOrigin-Name: 8c3929bd42ff9c041df341aced5b7dbc0f563506
2015-05-25 09:33:48 +00:00
drh
7ca0954c2c
The assert() changes removed in the previous check-in are needed after all.
...
FossilOrigin-Name: 336fccc84cd7b770c9c3720efc9976269096232e
2015-05-24 21:46:03 +00:00
drh
0b538f2a81
Better detection of corruption in allocateSpace() in btree.c.
...
FossilOrigin-Name: bf7bb53ee2485a5342916d514d6c7291eb84c5f1
2015-05-24 21:09:52 +00:00
drh
a1f75d96fd
Detect database corruption in the modifyPagePointer() routine and abort.
...
FossilOrigin-Name: 4f0bba42f904e505900be67b00179ebb1f24ed03
2015-05-24 10:18:12 +00:00
drh
82110da971
Instead of early detection of corruption in balance_nonroot, simply ignore
...
the error, as it is harmless and exceedingly uncommon.
FossilOrigin-Name: 7bbf9b3cd6ebf103ebd8347579aef721d0dcd2dc
2015-05-23 19:53:48 +00:00
drh
3183ac590d
Earlier detection of a specific kind of corruption in the balance_nonroot()
...
routine.
FossilOrigin-Name: ee6dc9913a8733891576e6e298241f7440209c5e
2015-05-23 19:29:08 +00:00
drh
3c46b7f7fd
Minor documentation improvements. No changes to code.
...
FossilOrigin-Name: e446d9ce0049b8ce0fd4f03205a0c32776fc76cd
2015-05-23 02:44:00 +00:00
drh
cea1dc2798
Fix another bad assert() in btree - one that can be false on a corrupt database
...
file.
FossilOrigin-Name: 89f0bbfde4d86a7b15e93aab9c487b4355c6fb2d
2015-05-22 23:39:29 +00:00
drh
10ca5b4809
Make sure sqlite3_value_dup() works correctly even for sqlite3_value
...
objects that are marked SQLITE_STATIC.
FossilOrigin-Name: f332ffc39b7a17fd6254d8dc699293a57a508ba0
2015-05-22 21:04:54 +00:00
drh
9dfedc8246
Fix minor issues with the sqlite3_value_dup() interface.
...
FossilOrigin-Name: 95edcf5010ecb8edd8eb74279c4766f9b655d4a2
2015-05-22 19:55:10 +00:00
drh
fd29973f11
Update with fixes and enhancements from trunk.
...
FossilOrigin-Name: 9605d008f5c763137e9734d033fe4510ca316858
2015-05-22 18:40:48 +00:00
drh
e2248cfd2d
The SRT_Table type for the SelectDest object is now just an SRT_EphemTab for
...
which the ephemeral table has already been allocated.
FossilOrigin-Name: b9727e6bbfc3c62c601227e86e62f2f39792fd1d
2015-05-22 17:29:27 +00:00
drh
afe028a815
Fix two faulty assert statements discovered by fuzzing.
...
FossilOrigin-Name: 799817bfb2bc95963c0e0d70063c4cb15c94ef74
2015-05-22 13:09:50 +00:00