Commit Graph

13193 Commits

Author SHA1 Message Date
drh
c5352b996a Remove code from sqlite3BtreeKeySize() made unreachable by the previous
check-in.

FossilOrigin-Name: 57c4aa988c8eda3cc513c1e5df5804d88bee99a0
2014-11-17 20:33:07 +00:00
dan
756d3b3e9d Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state.
FossilOrigin-Name: 2f2ecb994889acb783616acb7307f8fed962d213
2014-11-17 19:44:44 +00:00
dan
2b8669a9da Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state.
FossilOrigin-Name: 54e7d3fcb1ab21c03ffef1af93ae029a2901098a
2014-11-17 19:42:48 +00:00
drh
d816e00d13 Improved comments on the BtCursor.skipNext field. No changes to code.
FossilOrigin-Name: e956e7db057d1112badf5e0671cea95201385b44
2014-11-17 19:25:15 +00:00
drh
77b1deec40 When a SELECT statement is terminated by a ROLLBACK TO operation, make the
error message be "abort due to ROLLBACK" rather than 
"callback requested query abort".

FossilOrigin-Name: 34fc4a082c192830e48f643549c04a4f91912b8b
2014-11-17 17:13:06 +00:00
drh
13835c41e8 Fix a bug in the sqlite3TripAllCursors() routine that prevents it from
reporting errors.  It is unknown at this time whether or not this omission can
result in any incorrect result in an actual query.

FossilOrigin-Name: 42588207ff5451cb785c394633e1ab631fb82f01
2014-11-17 15:32:47 +00:00
dan
302f583aa4 Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements.
FossilOrigin-Name: eba171e980fa4491dfee9d7e4df50c87a0ebbf87
2014-11-17 15:22:08 +00:00
drh
f9df2fbdcd Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an
index for being used with the skip-scan algorithm.

FossilOrigin-Name: 00fe09505792cd0d104b2da9d040f023e30fa871
2014-11-15 19:08:13 +00:00
dan
70273d0bab Consider using an automatic-index for a scan even if there exists a possible skip-scan that uses one or more "=" operators.
FossilOrigin-Name: 93642a65ef3d53ece322ffd85233b68fc9a86c9d
2014-11-14 19:34:20 +00:00
drh
0a9d9d566e Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497].
FossilOrigin-Name: 98457a57d642b35917eb9ad8f70065e273aad206
2014-11-14 15:42:23 +00:00
dan
dd715f7c57 Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497].
FossilOrigin-Name: 55e453aadbb676dda07f0fa537d39ce184ef636c
2014-11-14 15:28:33 +00:00
dan
8ac1a67eff Modify the documentation for sqlite3_backup_init() to indicate that it will fail if there is already a read or read-write transaction open on the destination database.
FossilOrigin-Name: ef03a203351a6002e2b1075139717e4234c816cd
2014-11-13 14:30:56 +00:00
dan
fad01993b7 Have calls to sqlite3_backup_init() fail if there is already a read or read-write transaction open on the destination database.
FossilOrigin-Name: 169b5505498c0a7ee2b5dbb2ba13c41dfaa7c62f
2014-11-13 14:18:25 +00:00
drh
6f9c5669e2 When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27]
FossilOrigin-Name: 402780a9c8df9e7ea898bdca49c1191042fe387a
2014-11-13 13:42:39 +00:00
dan
d7b06909ad Add further tests for rollback operations in the presence of ongoing selects.
FossilOrigin-Name: eaf3aae014f59c8d37aa20aa31d54cf13f9e86fc
2014-11-12 17:45:37 +00:00
dan
8023104252 When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation.
FossilOrigin-Name: dd03a2802f3f276525f3cef9a93f825dd8606626
2014-11-12 14:56:02 +00:00
drh
5a2c8c885c Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70.
FossilOrigin-Name: 839a6df9f98b90fb593534a62145d9c913540bae
2014-11-12 14:12:28 +00:00
drh
51a205410c Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4].
FossilOrigin-Name: e1017745e183f5d7429ce787ec2feef946a24f0f
2014-11-12 14:07:28 +00:00
drh
85fabf1444 This is a cherry-pick of version [b5df5ac052].
FossilOrigin-Name: d4b2d5d066891e06f2bf4337902b44b000fa9fd2
2014-11-11 22:55:26 +00:00
mistachkin
bfa395d085 Remove some calls to the 'breakpoint' test command.
FossilOrigin-Name: 1412fcc480799ecbd68d44dd18d5bad40e20ccf1
2014-11-11 19:07:56 +00:00
dan
2d8e3caa2e Add tests for sqlite3_blob_bytes().
FossilOrigin-Name: a066a3832a7c6de65c3016e77e49ac00e09db749
2014-11-11 16:11:04 +00:00
drh
949d43a5fd Permit read operations to continue after a ROLLBACK as long as the schema
does not change.

FossilOrigin-Name: b5df5ac0529f7b0d1e880a7f4a307e7d77b7fa6c
2014-11-11 14:59:31 +00:00
dan
43f4066e10 Add new test file e_blobclose.test, containing tests for sqlite3_blob_close().
FossilOrigin-Name: 5a1eac2419b1462e6f21595a3fff26d9cc49d203
2014-11-11 12:20:35 +00:00
drh
47b7fc7843 Experimental changes that permit read operations to continue after a
ROLLBACK, as long as the schema is unchanged.

FossilOrigin-Name: fa6e6a9ae276cad60e9a4abc1bc23cf2809ea786
2014-11-11 01:33:57 +00:00
drh
de58f4fe7f New test cases for deleting content out from under a SELECT statement.
FossilOrigin-Name: 8289c3e9b47f7c2a606a88839f6bf615f8904ac2
2014-11-10 19:16:59 +00:00
dan
923c4b35be Add test file e_blobwrite.test, containing tests for the sqlite3_blob_write() interface.
FossilOrigin-Name: 1df77e5f1bd82de4dc92fe28359c3e56ab3f9ed4
2014-11-10 17:53:03 +00:00
drh
1728bcb07f Add the eval() SQL function extension in ext/misc/eval.c.
FossilOrigin-Name: 27cf665b957f2c0ced403e3032099e80c295598f
2014-11-10 16:49:56 +00:00
drh
4ace5362c2 Shorten over-length source code lines in shell.c.
FossilOrigin-Name: 7f3819f6422badd344c1264b0cd2f2c7afe077df
2014-11-10 14:42:28 +00:00
dan
b391b94431 Add new test file e_blobopen.test, containing tests for sqlite3_blob_open().
FossilOrigin-Name: ecbccd0e594d22b3ae7fabc8037951dc49570bc3
2014-11-07 14:41:11 +00:00
drh
97d3898335 Fix another harmless comment typo.
FossilOrigin-Name: b45bc80bb16f07192d84fd14433bb724a84d4146
2014-11-07 14:37:32 +00:00
drh
9a06d30bb5 In the ".scanstats on" output from the shell, round the estRows value to
the nearest integer, rather than rounding toward zero.

FossilOrigin-Name: 5700508535c35ac6b158b527e1d47e529e8e28ab
2014-11-07 13:52:44 +00:00
drh
86a11b8a6a Fix harmless typos in comments.
FossilOrigin-Name: 94c564da4c2cf5dffe58fdf7a180e9ba4cc3de69
2014-11-07 13:24:29 +00:00
drh
6137138ded Fix typo in sqlite3.h reported on the mailing list.
FossilOrigin-Name: 402703212a8488f8b571ce170b3b6c7374bd7daa
2014-11-07 11:39:16 +00:00
drh
8790b6e860 Update documentation on sqlite3_config() and add corresponding evidence marks.
FossilOrigin-Name: 360c8ca11c3315c8e08c7c52ff5468e3f723e562
2014-11-07 01:43:56 +00:00
drh
b1a6eada1d Added SQLITE_SCANSTAT_SELECTID. Change the value returned by
SQLITE_SCANSTAT_EST from sqlite3_int64 to double.  Enhanced the formatting
and display of scan statistics using the ".scanstats on" command in the
shell.

FossilOrigin-Name: 20c7614addb8494cd7f40263a50fa6f428cce1c7
2014-11-06 14:43:53 +00:00
drh
15f23c2cf0 Further improvements to the ".scanstats on" display in the shell. Be sure
to show the results of all subqueries even if there are gaps in the 
SELECTID values.  Add ".scanstats" to the ".help" output.

FossilOrigin-Name: ee922682bb7235dbcd23a22fcfdfa188f6d3228a
2014-11-06 12:46:16 +00:00
drh
179bac3a14 On the ".scanstats on" output in the shell, initialize the estimated count for
the first loop of each subquery to the actual loop count.

FossilOrigin-Name: d1c51c8455d5ce972a77720c2d56228646ced27c
2014-11-06 12:17:24 +00:00
drh
42f30bce11 Changes the formatting of ".scanstats on" in the shell so that the stats for
subqueries are grouped together and occur after the main query.

FossilOrigin-Name: eacbbd8849db9b023eff15ef1cb42ec941299433
2014-11-06 12:08:21 +00:00
drh
c6652b1efe Add the SQLITE_SCANSTAT_SELECTID metric. Use it to improve the
".stmtscan on" output in the shell.

FossilOrigin-Name: 64ad5761a841f71530d41565b9fbe9d19c2d6aff
2014-11-06 04:42:20 +00:00
drh
518140ed04 Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for
the estimated number of output rows per loop, rather than a 64-bit integer.
Revise the output format for the ".scanstats on" in the shell to make use
of this new capability.

FossilOrigin-Name: f9684000665ae7ef6f89c3773612b8286b8f545a
2014-11-06 03:55:10 +00:00
drh
e1db0db899 Fixes to the Windows VFS to allow memory mapped files to work without WAL support.
FossilOrigin-Name: 272fddc14cc322655eeba670bc0f9fc30e5a804c
2014-11-05 21:34:56 +00:00
drh
fefa094921 Fix harmless compiler warnings in the new balance_nonroot() routine.
FossilOrigin-Name: 83a1e5db926b3a6d40f4a5cf9a8e6852b9bac9ac
2014-11-05 21:21:08 +00:00
drh
6d3f91d040 Change the query planner to do a better job of estimating the number rows
selected by a BETWEEN operator using STAT4 when both upper and lower bounds
are contained within the same sample.

FossilOrigin-Name: 2d36be5d9a1cdd4fd2d54fc4eeece32a81cbacc1
2014-11-05 19:26:12 +00:00
drh
6b5631e02f Make sure that NULL results from OP_Column are fully and completely NULL
and do not have the MEM_Ephem bit set.  Fix for ticket [094d39a4c95ee4].

FossilOrigin-Name: 42705fd7d892c4fdfb95fbbb468c99569beece25
2014-11-05 15:57:39 +00:00
dan
937994aa65 Add a test case to check that the previous commit is effective.
FossilOrigin-Name: 948d6e5d07bc14b6de32ec2144c716a5532f894c
2014-11-05 14:19:05 +00:00
drh
e0de876e27 Enhance whereLoopCheaperProperSubset(X,Y) so that it does not report true
if X uses skip-scan less than Y, since in that case X might
deserve to be cheaper even if it is a proper subset.

FossilOrigin-Name: c106b755369c1f8546e897ecd2ac56fd09d6e885
2014-11-05 13:13:13 +00:00
dan
8d1edb92c4 Add the ".scanstats on" command to the shell tool. Executing this command causes the shell tool to print values from sqlite3_stmt_scanstatus() after each query is run.
FossilOrigin-Name: 7974c0ed10ffdc960a43fed89845c2bed428958d
2014-11-05 09:07:28 +00:00
drh
547fb61807 Improved output formatting for the showstat4 tool.
FossilOrigin-Name: 7df82c46da437bc743576358c25e758280067df8
2014-11-04 21:38:45 +00:00
mistachkin
fdece7bad1 Skip tests that require WAL mode when it is not enabled.
FossilOrigin-Name: 6fc4ead26d19b9348bbda34c3053ae1e066abc32
2014-11-04 19:52:15 +00:00
mistachkin
73767829b9 For the Win32 VFS, allow memory mapped files to work when compiled without WAL support.
FossilOrigin-Name: 1fc7e2f3d34e25e7b59aa8b51d10c1e27ab4a527
2014-11-04 19:37:22 +00:00