drh
d981e8289a
Clean up the comments on the query flattener to more clearly and accurately
...
express the conditions under which the flattener is able to run.
FossilOrigin-Name: 0840f9f824c16212ce3fd6c859e501176eb0a58924ea1728a54d5bdfd0c25c86
2017-09-29 16:07:56 +00:00
drh
129c398d4b
Merge changes from trunk.
...
FossilOrigin-Name: 06f432fb7c979f1bb7f01f5c90716ce5c0248f73f70b78a9870b9de5c9bf7ef4
2017-09-29 14:31:16 +00:00
drh
824d21aff3
Make sure the 6th parameter to the authorizer callback for view subqueries
...
has the correct view name.
FossilOrigin-Name: 2a45bbc9fd1c64f1c4c4dac38f063cd67480fcb6da24bf93fdefbfca66fd81ab
2017-09-29 12:44:52 +00:00
drh
23768298d2
Better names for subqueries in EXPLAIN comments.
...
FossilOrigin-Name: 04ef40a8fea88776e0d8b73d942922d45d0c038fbfac1a9a82b9322181b4ad92
2017-09-29 12:12:52 +00:00
drh
648fe49f96
Do not flatten subqueries that contain an ORDER BY or GROUP BY clause and
...
can be implemented using a co-routine.
FossilOrigin-Name: 042d655dd9002e8b89a798ad955b0285891aecf79f6978c5312e70ffe0609a46
2017-09-28 20:06:53 +00:00
drh
2e9d706252
Remove the (undocumented) query-planner control that prevents
...
a "SELECT ALL" subquery in FROM clause from being implemented as a co-routine.
FossilOrigin-Name: ff2f5a31a2ac67a2fdbb25793e8013cb0e062ab90bdcba2d52a62d6d4d8b6d18
2017-09-28 17:29:24 +00:00
drh
3d240d2119
Fix over-length source code lines in select.c. No logic changes.
...
FossilOrigin-Name: fd3267ef92384fcefaee7460a5ffbaf8ddcb6049eec36f72a7046a43e2871fbf
2017-09-28 16:56:55 +00:00
drh
4e6cec1ca0
Fix an issue introduced by check-in [4cd2a9672c59] (2017-03-03) that could
...
allow a negative value in the 3rd parameter to memmove() when
defragmentPage() is called on a btree page with a corrupted
freeblock list. The corruption is now detected early and results in
an SQLITE_CORRUPT return before the memmove() is reached.
FossilOrigin-Name: 5b9ae693120fe4f7bc3b6270f35d773876f6cc8f5990e05cce0d255c54b36ae7
2017-09-28 13:47:35 +00:00
drh
70efa84da7
Add new routines to simplify dealing with collating sequences in expressions:
...
sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch().
FossilOrigin-Name: 490e488ea963fe725b16212822c8608f2b6abce688931b611446bc2cbfe6b87c
2017-09-28 01:58:23 +00:00
drh
db8e68b4cd
Indexes on expressions with a COLLATE clause are able to satisfy an ORDER BY
...
with the same COLLATE clause.
FossilOrigin-Name: 0413001843dce7c63659d39b329ca14cdcd54f4407922f51b2fb7659572a733e
2017-09-28 01:09:42 +00:00
drh
488e619192
In two places, change the magic number -1 to its proper symbol XN_ROWID.
...
FossilOrigin-Name: 80277d2fc9b76fe41e345d00952da1528e69884f25911cf6e4f78b09ff778421
2017-09-28 00:01:36 +00:00
dan
21f2bafd9b
Experimental change so that snapshot transactions always lock the wal file -
...
preventing writers or truncate-checkpointers from wrapping it.
FossilOrigin-Name: d71eeaab9ecdeed772047498b781be1f0be0655af284b94cf676bb408ceea8b1
2017-09-23 07:46:54 +00:00
mistachkin
3314062b9d
Use the updated Win32 VFS semantics for winOpen from check-in [5d03c738e9] for WinRT, et al, as well.
...
FossilOrigin-Name: 2c03d8b8f028b6a736aaf2cf8b28a51b3434cf341c95cf3a80469e0a24acdd98
2017-09-22 16:23:23 +00:00
drh
24ddadfa3b
Partial backout of check-in [e0af9a904076]. It turns out we do need some
...
extra space at the end of the record blob as an overrun area to use when
decoding a maliciously malformed record.
FossilOrigin-Name: 403b88a894d877b85bcc33133abad06c3c576e4928de4a4b0c091f74c4015355
2017-09-22 12:52:31 +00:00
drh
0e97e9a4c2
In the Windows VFS, when trying to open a database file read/write, if it
...
fails check to see if the file exists and is read-only and immediately fall
back to a read-only open attempt, rather than running the AV retry loop.
FossilOrigin-Name: 5d03c738e93d36815248991d9ed3d62297ba1bb966e602e7874410076c144f43
2017-09-21 20:43:48 +00:00
drh
b40d9eea50
In the Windows VFS, do not emit an SQLITE_CANTOPEN error log message when
...
falling back from SQLITE_OPEN_READWRITE to SQLITE_OPEN_READONLY. Wait until
the open fails completely.
FossilOrigin-Name: fa3f5bcc23d9342f6df8ea15732988d637e9fa5dade85a73b05a9f66136d6964
2017-09-21 20:03:17 +00:00
drh
c07df4c3b9
Revert one performance improvement changes from check-in [3b3e32d4cd07] as
...
it was causing a reference to an uninitialized value.
FossilOrigin-Name: f8b1c64d3eeb8413ca149f34cc00f9154a5446d06ad33bbffa69118e6110f81d
2017-09-21 01:04:30 +00:00
drh
b5c1063ab7
Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode
...
in the output of EXPLAIN.
FossilOrigin-Name: adc12c83dda8ba93ca220bbff649f763058b9440968ae463621f0cb7de8889cf
2017-09-21 00:49:15 +00:00
drh
762dffa54a
Size and performance optimization on sqlite3VdbeMemGrow().
...
FossilOrigin-Name: 4b3f7eacb862fbb5b75cf50b72fb60dfbd0acb5818e9f83383a6a63c8bbeacdf
2017-09-20 18:47:51 +00:00
drh
63d1632f1e
The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be
...
zero-terminated.
FossilOrigin-Name: e0af9a9040768adf8bba42a8780adeb6304bc442afb1f35d239d019db1624f40
2017-09-20 18:07:50 +00:00
drh
97397a70e4
Small size and performance optimization in the bytecode engine.
...
FossilOrigin-Name: 3b3e32d4cd07a1d2d1708fffa47819345ae6b39205a9f548280d499c8f481d64
2017-09-20 17:49:12 +00:00
drh
84d4f1a328
Improved resolution of large integer values in "CAST(x AS NUMERIC)".
...
FossilOrigin-Name: 7f2bd4ff45fba29528c18cac6da983bd9b164303525d3965056f5b40f85dc83f
2017-09-20 10:47:10 +00:00
drh
cf51255c44
Add the sqlite3_mmap_warm() function as an extension in the ext/misc/mmapwarm.c source file.
...
FossilOrigin-Name: 1b2de41453ac33de82f9cd6cbb92eee4fe184fb282c27e5efa5243c8cb239630
2017-09-18 18:17:01 +00:00
dan
460f1fa55c
Add extension "mmapwarm.c". Provides function sqlite3_mmap_warm(), used to
...
"warm up" the memory mapping used by SQLite in mmap mode to access db file
content.
FossilOrigin-Name: d4a30b91f9aad93510baead8c04ee51b82c98763be5a224ed4873298214c963a
2017-09-18 16:28:56 +00:00
drh
63347e7df8
Minor simplification of error message generation during compound query
...
code generation.
FossilOrigin-Name: a944719314e0ac2f1954b65668815769eba3ab3e39a74666293b8dea52a184b2
2017-09-18 13:16:10 +00:00
drh
edea4a7cc9
The out-of-bounds read on recovery fix of check-in [378afa16381a222a] caused
...
problems for some corner-case error conditions. This alternative fix appears
to work better.
FossilOrigin-Name: 74f399d81fe250e09fde730ac0c17fe8b2b776ed32a3f576adaad56090f2b7fa
2017-09-18 09:40:46 +00:00
drh
97258194a2
Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that
...
the ExprList returned by sqlite3ExprListDup() would never be passed into
sqlite3ExprListAppend(). Include a new test case that shows this sometimes
does happen.
FossilOrigin-Name: 29227d00a9999f0f28a0b55ef70183799a667c3b9d81d2e5ac0ab1840bef98b1
2017-09-17 19:45:28 +00:00
drh
559656196b
Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain.
...
FossilOrigin-Name: 5dbb255a9377a6c2619fbac519f18caa4d8cb23257dfba0ffb9e36dd9dc16627
2017-09-16 20:58:41 +00:00
drh
2def2f7e0a
Remove an unnecessary parameter from selectInnerLoop().
...
FossilOrigin-Name: dd95887f82739d05585edfb70913fdaaab154de46c4d3113dd32d283767fb6fc
2017-09-15 17:40:34 +00:00
drh
3df6c3b1c5
Improved the header-comment documentation on sqlite3ExprCodeExprList().
...
No changes to code.
FossilOrigin-Name: 5dc3ecb5f67968545fb35ceed61ad625e069c4e744c5c3ebaea65e2fee347a5f
2017-09-15 15:38:01 +00:00
drh
a19543fe70
Optimization to the ExprList object to make it slightly smaller and faster.
...
FossilOrigin-Name: 4da49a95c0f07ed7790169e8833c3e2dacda504a3d997f567572020148abe30b
2017-09-15 15:17:48 +00:00
drh
154896e8d2
Fix a harmless comment typo. No changes to code.
...
FossilOrigin-Name: f7f0bf1da03f7fc1647ef172d9cb71a2ac46f136d4dee8e3a24e39313a981eb5
2017-09-15 14:36:13 +00:00
dan
3ed0f1c936
Add another test case for the problem fixed by the previous commit.
...
FossilOrigin-Name: 1a7e0b61c8a6bdd3ed105b9bc8a3732668fd7a897d2ed16c99445498e3c87089
2017-09-14 21:12:07 +00:00
dan
629ec14abc
Avoid an out-of-bounds read that can be caused by a specially constructed
...
journal file.
FossilOrigin-Name: cf5bf42cad6e019a38dc0a36ff1f53ada619eef5259e175c3554a16669e03202
2017-09-14 20:41:17 +00:00
drh
263a8b660f
Avoid an out-of-bounds read on a recovery attempt using a carefully crafted
...
database and rollback journal with mismatched page sizes. The test case for
this is in TH3.
FossilOrigin-Name: 378afa16381a222aafa6009dbbbc92473a69683537f1c265694678b0595a42c8
2017-09-14 02:36:27 +00:00
drh
d33bcb8a3c
Improvements to PRAGMA integrity_check for better detection of malformed
...
records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt
record. Also includes microoptimizations that I stumbled over while working
on integrity_check.
FossilOrigin-Name: 8525c30c1d6676e51b9d9c642450aae3722c129edafdbc39b8435fcfe09b1817
2017-09-13 00:33:36 +00:00
drh
74588ceb31
PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption
...
while scanning indexes.
FossilOrigin-Name: 81f62e99f27dedf3dc10fa1593c4cd9fc158680867206aee853e503a0cc8df71
2017-09-13 00:13:05 +00:00
mistachkin
bf60baa985
Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs.
...
FossilOrigin-Name: 3a2793aa65727cbbf8c4678d478cf8fb02350f19ff98201934a984727368d64d
2017-09-12 23:58:47 +00:00
drh
3ba18adde5
Fix an error in [b22cdd67] that can cause a negative infinity to be (rarely)
...
reported as a positive infinity.
FossilOrigin-Name: 9780b23ca375de6a542516fbc03eb39d5a393ca577718fda231d0d0ccf3b1c7e
2017-09-12 15:05:34 +00:00
drh
b9772e7fe8
Changes to (hopefully) get the build working with recent Intel compilers.
...
FossilOrigin-Name: b22cdd6734ecda2b2b9749668f353abc2660f192d6a40c5d266309d30e25695e
2017-09-12 13:27:43 +00:00
drh
303a69b5ad
Refactor names of constants and functions associated with the auxiliary
...
operators for xBestIndex.
FossilOrigin-Name: 0fb992af669e765760a94d2b6e2330b21a98f39f18445a94b0a2290560368d58
2017-09-11 19:47:37 +00:00
drh
33892c11a7
Minor adjustments to indentation and spacing for clarity. No changes to code.
...
FossilOrigin-Name: d3153abda6fd48015b007081734738b9cc4622e3564dc78a7a470a72dc2ca236
2017-09-11 18:37:44 +00:00
drh
9ecd7086c1
Simplifications to the PRAGMA integrity_check code generator.
...
FossilOrigin-Name: 99b9140c795c0c17c4e9d2547477c9dac056edfd443f2b2bd70edecd43c49ab7
2017-09-10 01:06:05 +00:00
drh
c2c6fd18dd
Simplification and performance improvement to sqlite3_reset().
...
FossilOrigin-Name: b6425d0170721d803a055a958f1823c9c4be925cd93ac47562ff723daf8ce2ed
2017-09-09 22:46:56 +00:00
drh
226cef4ef1
Improved detection of malformed records by PRAGMA integrity_check.
...
FossilOrigin-Name: 8fa923caa1535fc9ebed0214d211fc3d09a015d78afd01f288c215a7980d25f2
2017-09-09 20:38:49 +00:00
dan
d03024d814
Enhance the vtab interface to handle IS, !=, IS NOT, IS NULL and IS NOT NULL
...
constraints.
FossilOrigin-Name: 34c8e952616013deb6fffec701ac5989afac9bef1bf92458a2e4ba92c7ee924f
2017-09-09 19:41:12 +00:00
mistachkin
2158a0c7ac
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: faa22e29a5a05a16d46a428d838acedfa7d6fad6239495d59a6a1f4764e1b1b6
2017-09-09 00:51:36 +00:00
dan
7834551c1e
Have the header comment for sqlite3Checkpoint() mention TRUNCATE along with
...
the other three checkpoint types. No changes to code.
FossilOrigin-Name: e1e3ca7ea43a68b9b57dc38d8855f63b63a53feb8128b666a1becf87a2c70341
2017-09-08 17:48:00 +00:00
drh
05f1ba0ef8
Prevent a possible crash when trying to recover using a carefully corrupted \
...
and truncated rollback journal. (Test case in TH3)
FossilOrigin-Name: 02828d717e2d97b1f59e9279cea9c06eed4accd4e262606bd90d060449c5a1a3
2017-09-07 09:56:37 +00:00
dan
3841372350
Update "PRAGMA integrity_check" to detect inconsistencies between a single
...
record's header and body.
FossilOrigin-Name: 9e393a0edf1a578ddecc16a72fe3c54b75c2a650d507bcbc37c9724fbede1494
2017-09-05 20:16:19 +00:00