]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Tue, 23 Jun 2015 21:35:28 +0000 (21:35 +0000)]
Testability improvement.
FossilOrigin-Name:
eed6a3314518cdab809264284d7680385f0d5d2a
drh [Tue, 23 Jun 2015 18:24:25 +0000 (18:24 +0000)]
Multiple overflow cells are always adjacent and sequential. Exploit this
invariant for a small size reduction and performance increase and add
assert()s to prove the invariant.
FossilOrigin-Name:
f77f2f48f48e374a72b6c054142f7a3ec0b1483c
drh [Tue, 23 Jun 2015 17:09:53 +0000 (17:09 +0000)]
Faster loading of cell pointers into the b.apCell array in balance_nonroot.
FossilOrigin-Name:
fda89b0512477f9da09fd0f4e548ed4b13efd49d
drh [Tue, 23 Jun 2015 16:00:24 +0000 (16:00 +0000)]
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment
phase of balance_nonroot().
FossilOrigin-Name:
6319ee1256b1f7c39dd39a536a39b77b3d10dcac
drh [Tue, 23 Jun 2015 15:36:34 +0000 (15:36 +0000)]
Change pageInsertArray() and pageFreeArray() so that they use the CellArray
object and compute cell sizes as needed, resulting in smaller and faster code.
FossilOrigin-Name:
f7f41818119bb7bfbd1f1297d294b32f32769cd3
drh [Tue, 23 Jun 2015 14:49:42 +0000 (14:49 +0000)]
Improvements to the way balance_nonroot() constructs the b.apCell array of
pointers to cells.
FossilOrigin-Name:
ee44bb25b2a88e25ba2afe37cf03ba199692a3a0
drh [Tue, 23 Jun 2015 13:02:10 +0000 (13:02 +0000)]
Merge the compound SELECT operator fix from trunk.
FossilOrigin-Name:
a7be554f4b8534fc237fa4c6defc38fcd4049707
dan [Tue, 23 Jun 2015 12:19:55 +0000 (12:19 +0000)]
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code.
FossilOrigin-Name:
4df852ce26c95d5d23c83dbe9c59d2c3435acddf
drh [Tue, 23 Jun 2015 02:37:30 +0000 (02:37 +0000)]
Avoid computing cell sizes in balance_nonroot() until they are really needed.
This gives an overall 1.7% performance gain for about 1000 extra bytes of
code space.
FossilOrigin-Name:
43844537e8a372953386663f8177202901ba7566
drh [Mon, 22 Jun 2015 20:02:04 +0000 (20:02 +0000)]
Change the way that balance_nonroot() partitions cells between the sibling
pages such that a scan of the cell size array is not required.
FossilOrigin-Name:
168728715156d756ac8c0df45710d054eee027ec
drh [Sat, 20 Jun 2015 14:11:56 +0000 (14:11 +0000)]
Update the fuzztest data using the latest test vectors discovered by AFL.
FossilOrigin-Name:
b97f9cf73e503c7285ba3a801e1f932f222d96b2
drh [Sat, 20 Jun 2015 13:18:34 +0000 (13:18 +0000)]
Make sure that the likelihood() function does not mess up generation of
result-set code when it is used (inappropropriately) in a result-set
expression.
FossilOrigin-Name:
7cdbae625eb029538a693d2bebec465a6f65fb90
drh [Fri, 19 Jun 2015 20:31:02 +0000 (20:31 +0000)]
Performance improvements in btreeParseCell() by inlining the varint decoder.
FossilOrigin-Name:
172a864d14fd9f0e3e97d2a13b22222ae0fedd39
drh [Fri, 19 Jun 2015 20:08:39 +0000 (20:08 +0000)]
Fix corner cases involving corrupt varint values in record headers.
FossilOrigin-Name:
3189116b42c5ecef5e30c8b317f4458bbf8b9086
drh [Fri, 19 Jun 2015 18:24:37 +0000 (18:24 +0000)]
Performance improvements in btreeParseCell() by inlining the varint decoder.
FossilOrigin-Name:
faab0ed928074f3ec7c25e1a2058414fbd9b013c
drh [Fri, 19 Jun 2015 17:19:34 +0000 (17:19 +0000)]
Add the MemPage.xParseCell method and provide various implementations
(variations on the former btreeParseCellPtr()) depending on the page type.
FossilOrigin-Name:
41d03d883c4f7ca279eb9dd679f3ab81c8d957d9
drh [Fri, 19 Jun 2015 15:07:14 +0000 (15:07 +0000)]
Make cellSizePtr() a method on the MemPage object, with alternative
implementations depending on the page type. This results is a small performance
improvement and size reduction.
FossilOrigin-Name:
02f7e9d7d7b93d0b6bbd6cc0d0359b3b741b9931
drh [Thu, 18 Jun 2015 15:26:09 +0000 (15:26 +0000)]
Further #ifdef changes in speedtest1.c in order to support SQLite back to
version 3.3.9 and perhaps even earlier.
FossilOrigin-Name:
9246eca54adaee571dab0c066afaa604fcf9c44f
drh [Thu, 18 Jun 2015 14:32:51 +0000 (14:32 +0000)]
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN
into the WHERE clause.
Fix for ticket [
5f60b11fc8e23490e2 ]
FossilOrigin-Name:
ed96e14adce4a4f94cc6838c46bc97937c4cb72a
drh [Thu, 18 Jun 2015 14:09:13 +0000 (14:09 +0000)]
Show the values of Expr.flag in the AST of ".selecttrace"
FossilOrigin-Name:
a84d1004cbee67f2b8ba1fd201e43af49ea67c1b
drh [Thu, 18 Jun 2015 12:37:32 +0000 (12:37 +0000)]
Add #ifdefs to some features speedtest1.c so that it compiles with
older versions of SQLite, going back to version 3.5.1.
FossilOrigin-Name:
f50dd154d33c58d7a9aa1852fdc362c2e81feef2
drh [Wed, 17 Jun 2015 23:28:03 +0000 (23:28 +0000)]
Performance improvement in sqlite3VdbeMemShallowCopy() for the common
case where the receiver does not require prior resource deallocation.
FossilOrigin-Name:
d718ea36dce8cf1684c8bcda457fee87f8f8c4e2
mistachkin [Wed, 17 Jun 2015 18:57:37 +0000 (18:57 +0000)]
Improve spacing and comment style for the shell. No changes to code.
FossilOrigin-Name:
5b547da00d131a494a6b348339af3d91dfa6e3b6
drh [Wed, 17 Jun 2015 18:24:40 +0000 (18:24 +0000)]
Improved comments on the fuzzcheck.c test program. No changes to code.
FossilOrigin-Name:
a7e27d19280048bcfff6d2e796eed72287b9dabe
drh [Wed, 17 Jun 2015 17:08:22 +0000 (17:08 +0000)]
Fix a uninitialized variable use in the command-line shell when the
".open" command is invoked without any arguments.
FossilOrigin-Name:
fc4f4d1eccec2e09b5d2e6c4da082204f4d5a016
drh [Wed, 17 Jun 2015 13:20:54 +0000 (13:20 +0000)]
Performance optimization and comment fixes for the LIKE and GLOB operators.
FossilOrigin-Name:
c89d772628564a808173f6f73bc1798ec714276b
drh [Wed, 17 Jun 2015 02:11:46 +0000 (02:11 +0000)]
Make getCellInfo() a real function instead of a macro, for a size reduction
and a 0.2% performance gain.
FossilOrigin-Name:
55c393ea14197ae5fa56ebca7a47e7d980511fa7
drh [Wed, 17 Jun 2015 01:31:28 +0000 (01:31 +0000)]
Optimizations to two VDBE accessory routines for a 0.2% performance increase.
FossilOrigin-Name:
66d033b9c9a8c16b9a342be0b325bd85b8487c03
drh [Tue, 16 Jun 2015 16:39:01 +0000 (16:39 +0000)]
Ensure that the CREATE TABLE AS statement correctly undoes partial changes
to the sqlite_master table if the SELECT on the right-hand side aborts with
an error. Fix for ticket [
873cae2b6e25b ]
FossilOrigin-Name:
400e025e7c61efab71b891743c07a0862e5bb934
drh [Mon, 15 Jun 2015 16:40:38 +0000 (16:40 +0000)]
Adjust ICU tests to account for recent changes in the official
Unicode definition of whitespace.
FossilOrigin-Name:
0816525386ac51454b7b09a507e45b6a2cb8bf6e
drh [Mon, 15 Jun 2015 16:09:35 +0000 (16:09 +0000)]
Fix a harmless comment typo. No code changes.
FossilOrigin-Name:
ae6876521819e7a8ce473c8f96617cba35e2156d
drh [Mon, 15 Jun 2015 14:43:25 +0000 (14:43 +0000)]
Fix harmless compiler warnings.
FossilOrigin-Name:
b0badb99023e23bef0e2064cec58f2b279af0c0b
drh [Mon, 15 Jun 2015 12:58:15 +0000 (12:58 +0000)]
Improved detection of database corruption in freeSpace().
FossilOrigin-Name:
29bcb56887f862a1f06677a7b4bfae6475d29732
drh [Mon, 15 Jun 2015 10:49:01 +0000 (10:49 +0000)]
Comment typo fix. No code changes.
FossilOrigin-Name:
17f185adb960b1fa4faa13cdf685b92a20a52072
drh [Sat, 13 Jun 2015 11:19:47 +0000 (11:19 +0000)]
Omit mutex calls in pcache1 when the mutex is NULL, for a significant
performance improvement.
FossilOrigin-Name:
caf8f574e5c64da461c6dfba8a06cf3fb18aaa42
drh [Sat, 13 Jun 2015 11:10:55 +0000 (11:10 +0000)]
Avoid unnecessary mutex usage in pcache1, for a significant speedup.
FossilOrigin-Name:
dcf4fb8d764611de60afea27cda0a8548ba7ca82
drh [Fri, 12 Jun 2015 13:49:26 +0000 (13:49 +0000)]
Add a fast-path implementation of pcache1Fetch() for the common case of
separate caches that do not use a mutex.
FossilOrigin-Name:
760700edb3ff1f5d6bf3058f874cc8e2808905c7
drh [Fri, 12 Jun 2015 13:04:51 +0000 (13:04 +0000)]
Minor performance optimization in pcache1.c.
FossilOrigin-Name:
2e8ad2ead9d146e312c693d9b967bbd5b92429d9
drh [Fri, 12 Jun 2015 12:54:15 +0000 (12:54 +0000)]
Add the OP_ColumnsUsed opcode (when compiled with
SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which
columns of a btree cursor will be used.
FossilOrigin-Name:
711a176cbfad5dde6defa9648fba6d0d663af134
drh [Thu, 11 Jun 2015 14:19:05 +0000 (14:19 +0000)]
Remove stray outputs from the test suite.
FossilOrigin-Name:
afc6db9b105f32110112b877f06091757888a5f2
drh [Thu, 11 Jun 2015 13:58:35 +0000 (13:58 +0000)]
When generating code for partial indexes, be sure not to modify the
index condition expression in the schema.
FossilOrigin-Name:
e63d01c69c3e50f49ee3022a519c4f3e91f00520
mistachkin [Wed, 10 Jun 2015 23:02:38 +0000 (23:02 +0000)]
More test output refinements.
FossilOrigin-Name:
e64a5681793238fa04fe3636f48d34b2dd36cdfa
mistachkin [Wed, 10 Jun 2015 22:51:02 +0000 (22:51 +0000)]
Remove possibly stray output from various tests.
FossilOrigin-Name:
f38e0be56fc086a3ce08134ade83ab61c9fca106
mistachkin [Wed, 10 Jun 2015 22:03:40 +0000 (22:03 +0000)]
Fix minor typo in the quicktest MSVC makefile target.
FossilOrigin-Name:
75b65f9d49daaf48e97042cb82ea554e2ec74eec
drh [Wed, 10 Jun 2015 18:53:09 +0000 (18:53 +0000)]
"test" targets on all makefiles use --verbose=file --output=test-out.txt.
Add the new "quicktest" target to all makefiles - designed to run in under
three minutes. The --quick option on releasetest.tcl now uses quicktest.
FossilOrigin-Name:
6ddef2ad35ceb5822fc14c65bc7c6a2662edb63c
dan [Wed, 10 Jun 2015 14:27:40 +0000 (14:27 +0000)]
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods.
FossilOrigin-Name:
7b446771cadedafbe8924ad0658adc2597816dc7
dan [Tue, 9 Jun 2015 15:58:28 +0000 (15:58 +0000)]
Add the --output=$file and --verbose=(0|1|file) options to tester.tcl.
FossilOrigin-Name:
f7b2c70362f10ee0347c1d2318918ffefa53243d
dan [Tue, 9 Jun 2015 10:58:51 +0000 (10:58 +0000)]
Remove some repeated lines of source code. Probably introduced by careless cut'n'pasting.
FossilOrigin-Name:
a34cd71c8aafaece04a2332a127e9b8e99c1403c
drh [Mon, 8 Jun 2015 19:15:50 +0000 (19:15 +0000)]
Add the valgrindfuzz target to unix makefile.
FossilOrigin-Name:
e62aed01f1a6dbc12d6e21386c1671eb640b8d49
dan [Mon, 8 Jun 2015 18:48:29 +0000 (18:48 +0000)]
If a query contains "FROM t1 LEFT JOIN t2, t3, t4", ensure that tables t3 and t4 are not scanned before t2. The trunk already does this.
FossilOrigin-Name:
0d9edfab9fb61322620f188b48ae2a1798a07581
dan [Mon, 8 Jun 2015 18:05:54 +0000 (18:05 +0000)]
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods.
FossilOrigin-Name:
80ee56dda7db3860f8be5f6968c8745138f8453f
mistachkin [Mon, 8 Jun 2015 17:42:57 +0000 (17:42 +0000)]
Fix typo in comment. No changes to code.
FossilOrigin-Name:
e49c291735e613e384f6da044ef865dd274cabc8
drh [Mon, 8 Jun 2015 17:40:30 +0000 (17:40 +0000)]
Split out some source code into new files: wherecode.c, whereexpr.c, and
treeview.c. Other minor refactoring changes.
FossilOrigin-Name:
50f336818c8509d8b8bde282e9399d2b2b5ea70a
drh [Mon, 8 Jun 2015 15:08:15 +0000 (15:08 +0000)]
Factor out the TreeView parse tree printing module into a separate file.
FossilOrigin-Name:
c32ce54ca46a4be4373983be6fd44b1f3a0250d1
drh [Mon, 8 Jun 2015 14:23:15 +0000 (14:23 +0000)]
Split more subfunctions of where.c out into a new whereexpr.c source file,
for improved maintainability.
FossilOrigin-Name:
46ef95c108ad8961f2bf3d2dc839d4fb1fddd770
drh [Sat, 6 Jun 2015 20:12:09 +0000 (20:12 +0000)]
Split out the bulk of the actual VDBE code generation logic from where.c
into a new file, leaving behind the analysis logic. This makes the original
where.c smaller and hopefully easier to edit.
FossilOrigin-Name:
faa0e420e93a2bc1c84df9eb9fef4748d29ce339
drh [Sat, 6 Jun 2015 18:30:17 +0000 (18:30 +0000)]
Code simplifications in select.c and where.c.
FossilOrigin-Name:
4f20ac90bce8bd7ba43ef59af5cc4ef7aa282fe8
drh [Sat, 6 Jun 2015 00:18:01 +0000 (00:18 +0000)]
Minor cleanup of the sqlite3Select() procedure.
FossilOrigin-Name:
f4c90d06bb941453d8110680c7b279e471e8f034
drh [Fri, 5 Jun 2015 22:33:39 +0000 (22:33 +0000)]
Split FROM-clause subquery flattening and code generation into separate loops.
FossilOrigin-Name:
be8e3fc70e4c13b28b07985df3457960f58ffddd
drh [Fri, 5 Jun 2015 20:27:26 +0000 (20:27 +0000)]
Provide one final Select tree dump prior to WHERE clause analysis
when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED.
Analysis and debug changes only - normal builds are unaffected.
FossilOrigin-Name:
283bf0b64da7acc5aa5812fc659954965002d409
drh [Fri, 5 Jun 2015 15:59:57 +0000 (15:59 +0000)]
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
drh [Thu, 4 Jun 2015 12:08:53 +0000 (12:08 +0000)]
Change the name of SrcList.a[].zIndex to the more descriptive
SrcList.a[0].zIndexedBy.
FossilOrigin-Name:
6a9cf063379118dbb95c6cdc6d60af50e9867177
drh [Tue, 2 Jun 2015 19:36:29 +0000 (19:36 +0000)]
Always check for cell overflow before returning a slot from the
pageFindSlot routine in btree.c.
FossilOrigin-Name:
9f035c45a4b84203e67b6e1b23cf11691dc43f1e
drh [Tue, 2 Jun 2015 18:09:18 +0000 (18:09 +0000)]
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
drh [Tue, 2 Jun 2015 17:25:05 +0000 (17:25 +0000)]
Add test cases for type affinity rules.
FossilOrigin-Name:
9678646d9a14ba283a83839be329599a676a537a
drh [Tue, 2 Jun 2015 16:19:56 +0000 (16:19 +0000)]
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with
"no affinity".
FossilOrigin-Name:
29ad9e917330969810ac1bc685bba4282401bdae
drh [Tue, 2 Jun 2015 15:32:08 +0000 (15:32 +0000)]
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB.
FossilOrigin-Name:
bce3f04186cd2d69414a5a98b5b77dc8f060554a
drh [Tue, 2 Jun 2015 14:02:18 +0000 (14:02 +0000)]
Fix a faulty assert() in btree.c. Update the database fuzz test file with
new test cases.
FossilOrigin-Name:
4e621af1345a001360938de76e3b0a14deb5e991
drh [Mon, 1 Jun 2015 20:28:03 +0000 (20:28 +0000)]
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
drh [Mon, 1 Jun 2015 18:13:16 +0000 (18:13 +0000)]
Corrections to comments in expr.c. No code changes.
FossilOrigin-Name:
f925389eaf5bf8962a28fcaa652b75caa606efba
drh [Mon, 1 Jun 2015 11:10:39 +0000 (11:10 +0000)]
Typo fixes and additional background information in README.md.
FossilOrigin-Name:
9b8e5823bccf69f5cdedd8655e75df6e9718b809
drh [Sat, 30 May 2015 22:57:49 +0000 (22:57 +0000)]
Updates to configure.ac to help it find where the TCL libraries hidden
on Ubuntu 14.04.
FossilOrigin-Name:
c864ff912db8bc0a3c3ecc1ceac61a25332e76c5
mistachkin [Sat, 30 May 2015 22:05:17 +0000 (22:05 +0000)]
Fix minor typo in comment. No changes to code.
FossilOrigin-Name:
73fc058b3a74c1b018cff990de793f19a602c12f
drh [Fri, 29 May 2015 18:42:11 +0000 (18:42 +0000)]
Ensure that allocateBtreePage() always clears the MemPage pointer when
it fails due to an I/O or memory allocation error.
FossilOrigin-Name:
09a38bf665902834936d39341627ded88142e6ae
drh [Fri, 29 May 2015 17:51:16 +0000 (17:51 +0000)]
Move two unreachable conditionals inside of NEVER() or assert().
FossilOrigin-Name:
db4e9728fae5f7b0fad6aa0a5be317a7c9e7c417
drh [Fri, 29 May 2015 17:13:14 +0000 (17:13 +0000)]
Remove a corruption test in balance_nonroot that is superceded by a prior
better check.
FossilOrigin-Name:
00693682d8664fa608ba43684f6376a9bd5b84eb
drh [Fri, 29 May 2015 15:15:40 +0000 (15:15 +0000)]
Omit the rowallock.test script (Read-Only WAL lock) from the
inmemory_journal permutation.
FossilOrigin-Name:
d21db3308996510ffc3c869c2ac093de70d03412
drh [Fri, 29 May 2015 14:47:18 +0000 (14:47 +0000)]
Add support for automatic indexes on FROM-clause subqueries that are
implemented via co-routine.
FossilOrigin-Name:
020b8b106fc8f840f6b506e1c9c3bc75676daec3
drh [Fri, 29 May 2015 14:36:30 +0000 (14:36 +0000)]
Add some extra source-code comments and a test case.
FossilOrigin-Name:
6d410442fb532e2cf0ad1859bc9e843651f8ff4d
drh [Fri, 29 May 2015 13:55:33 +0000 (13:55 +0000)]
An attempt to allow automatic index creation on subqueries accessed via
co-routine.
FossilOrigin-Name:
521345add67e9dfd7df1446eb942aa0d84b9e6eb
drh [Fri, 29 May 2015 01:35:19 +0000 (01:35 +0000)]
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
drh [Thu, 28 May 2015 15:14:32 +0000 (15:14 +0000)]
Added comments and testcase() macros to error cases in the btree search.
FossilOrigin-Name:
7da7dc714bf1fe34b38fc33a923490dfd3e4f070
drh [Thu, 28 May 2015 11:23:11 +0000 (11:23 +0000)]
Earlier detection of incompatible sibling pages in balance_nonroot.
FossilOrigin-Name:
60a09f17d8b70dbc4b020586a1b81bce76882729
drh [Thu, 28 May 2015 03:45:03 +0000 (03:45 +0000)]
Add new test cases to the fuzzdata3.db set of database fuzz tests.
FossilOrigin-Name:
467b13a40171dd8462dc11d05bb1e9cb588e6a23
drh [Thu, 28 May 2015 03:28:27 +0000 (03:28 +0000)]
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
drh [Thu, 28 May 2015 00:54:35 +0000 (00:54 +0000)]
Do not attempt to take any write lock on a read-only database on Windows.
FossilOrigin-Name:
a47ff0cdab0f82398c68ea770053f193f4812a51
drh [Wed, 27 May 2015 19:35:08 +0000 (19:35 +0000)]
The fuzzoomtest makefile target is no longer supported, so update
releasetest.tcl accordingly.
FossilOrigin-Name:
06959d4ada53b765cae4b192a691fced4b8aebbb
drh [Wed, 27 May 2015 18:19:50 +0000 (18:19 +0000)]
Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles
to run fuzzcheck with --quiet on valgrind tests.
FossilOrigin-Name:
8bfe834432b37f94779da6c71fc369651f024590
drh [Wed, 27 May 2015 18:13:35 +0000 (18:13 +0000)]
All bytes of a page are initialized, even bytes that follow a 2-byte cell
on a malformed page.
FossilOrigin-Name:
7373a004ed0e2781cda503c73e9a94f24350ef79
drh [Wed, 27 May 2015 15:42:53 +0000 (15:42 +0000)]
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
drh [Wed, 27 May 2015 15:10:20 +0000 (15:10 +0000)]
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
dan [Wed, 27 May 2015 14:21:05 +0000 (14:21 +0000)]
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
drh [Wed, 27 May 2015 13:06:55 +0000 (13:06 +0000)]
CTEs have never add working rowids. So disallow the use of the "rowid" column
within CTEs.
FossilOrigin-Name:
0055df0445932a43e42b318ef88672dcbe312c3a
drh [Wed, 27 May 2015 03:46:18 +0000 (03:46 +0000)]
Add the "PRAGMA cell_size_check=ON" command.
FossilOrigin-Name:
2ead43f074d01312c7642e1df9abccc95547f019
dan [Tue, 26 May 2015 20:31:20 +0000 (20:31 +0000)]
Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page.
FossilOrigin-Name:
62a5b3633a086694ef0e579a0a82322cb1ae3d60
dan [Tue, 26 May 2015 20:07:32 +0000 (20:07 +0000)]
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
drh [Tue, 26 May 2015 19:08:14 +0000 (19:08 +0000)]
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. Test
data is added for database fuzz testing.
FossilOrigin-Name:
5e3e410bf49a29efbf9ff3ef048e158804ca0027
dan [Tue, 26 May 2015 19:01:36 +0000 (19:01 +0000)]
Merge accidental fork.
FossilOrigin-Name:
e85628e34ac684b8a23f49eee71e4d6546e0ef64
dan [Tue, 26 May 2015 18:58:57 +0000 (18:58 +0000)]
Fix a one-byte buffer overread that may follow a syntax error while preparing an SQL statement.
FossilOrigin-Name:
075003930da98419f671b7833a5850693529fb62
drh [Tue, 26 May 2015 18:58:32 +0000 (18:58 +0000)]
Fix fuzzcheck so that it responds correctly to the TEST_FAILURE environment
variable.
FossilOrigin-Name:
76770c9e061e2eb106d7ea402eef888b98ba9d0e