Commit Graph

20786 Commits

Author SHA1 Message Date
drh 0da10d3289 Always reinitialized the Index.bUnordered and Index.noSkipscan flags before
rereading the sqlite_stat1 table, even if SQLITE_ENABLE_STAT4 is defined.

FossilOrigin-Name: 1e1221fc4823a6bb6fc5d2408732e27aca585de9
2014-11-22 21:37:00 +00:00
drh ab4624d005 Fix an error in the comments from the previous check-in.
FossilOrigin-Name: 9660ce541837ccd8df415641a922274e093056aa
2014-11-22 19:52:10 +00:00
drh 7a1bca7e74 Deploy heuristics (well-commented) to better estimate how much unindexed terms
in the WHERE clause filter the number of output rows from a single table.

FossilOrigin-Name: 221659945c3f78d3b6789bfe8fdeb8d3ee1fa038
2014-11-22 18:50:44 +00:00
drh a3898250d4 Remove a redundant test case (probably a copy/paste error). Add an assert()
to where.c to ensure that automatic indexes do not have there output row 
counts adjusted downward by supplementary constraints.

FossilOrigin-Name: eea47933493c85a85247ad383bd148b06f627d04
2014-11-22 12:22:13 +00:00
dan 7bf9ec1c26 Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA.
FossilOrigin-Name: 600cefdd4d29c1de4d107fa7ddeb76a18edce4f5
2014-11-22 09:09:50 +00:00
dan 841ed2b0f2 Merge latest trunk changes with this branch.
FossilOrigin-Name: 7ef44c5b5bd30bcc4ef59ed172b9ce9ac6a843f6
2014-11-21 14:37:24 +00:00
dan 54f0dec3e6 Changes to comments in sqlite3ota.h.
FossilOrigin-Name: 14139542b68fbf01632a1b149cd6fca4bb01efa6
2014-11-21 11:22:11 +00:00
dan ca5ceb4229 Add support for updating virtual tables via ota.
FossilOrigin-Name: 4dfcfe543945aa60a7ac397a3bdb0ac9e20ef7b6
2014-11-21 10:46:23 +00:00
drh 643091f071 Fix a typo in a requirements mark on the abs() SQL function.
FossilOrigin-Name: b1e6c02f8b9a2afaa12ac15a33e3f698c3be27d6
2014-11-20 23:21:23 +00:00
drh 2d8233157d Fix a benign test error on PRAGMA collation_list
introduced by a recent checkin.

FossilOrigin-Name: 332cc9591d05508ac9cb56fde2b82e20e0342d1f
2014-11-20 23:11:30 +00:00
drh 341eca7f68 Updates to requirements tags on the mutex documentation.
FossilOrigin-Name: fcf8b7e4c6c3893e2004a28dc9f0f677907b4ba9
2014-11-20 23:03:42 +00:00
drh 5e3b49bc42 Add requirements marks on the built-in collating functions.
FossilOrigin-Name: 4b608b62ac8d4eafdb76192b3b5db272332a4bfd
2014-11-20 19:22:26 +00:00
dan f8bd49ee22 Add the "ota_delta()" feature for delta-compressed updates.
FossilOrigin-Name: c64dcd1788f5cc7db197a0ec4ab0981f34a72c6b
2014-11-20 19:19:02 +00:00
dan 268c0f8844 Update the ota extension so that it can be used to update tables with external PRIMARY KEY indexes.
FossilOrigin-Name: 55066a1171cbd3077f5e6c8ceb2745e810d9476e
2014-11-20 17:37:08 +00:00
drh fdab02635c Ensure that when the number of cells on a page drops to zero that the freelist
and fragment counter are both cleared.  Also add evidence marks corresponding
to file-format documentation.

FossilOrigin-Name: ef9fbc08b0a047042deeb2d6007d67028fefb9e2
2014-11-20 15:30:50 +00:00
dan 54ef517012 Updates to support zipvfs in pass-through mode.
FossilOrigin-Name: 556c3de53ad33d11d33ec794345c2100aa76f3e1
2014-11-20 15:11:12 +00:00
drh 1b40e63f9b Fix the encoding of some integers to use the minimum amount of space:
-128, -32768, -8388608, -217483648, and -140737488355328.

FossilOrigin-Name: 2d7c8da5f16e64eaa7b0c2d66898682ea3d102a0
2014-11-20 02:58:10 +00:00
drh 654858d7f4 Add some requirements marks to the record formatting logic. Comment changes
only - the code is unaltered.

FossilOrigin-Name: 9a9627e178a67bbfc85366aaea900e674d22fb53
2014-11-20 02:18:14 +00:00
drh 113762a284 Add new requirements marks associated with the file format documentation.
No changes to code.

FossilOrigin-Name: 6d00bcca6ed1903fb17275752cab71c14392355b
2014-11-19 16:36:25 +00:00
drh 42a7b4bac9 Completely remove an assert() that had previously been commented out.
FossilOrigin-Name: 89b3c1c4555c98c633089b21cdd2a1a3a1e751eb
2014-11-19 14:31:12 +00:00
drh 664f85dd59 Add an ALWAYS on an always-true branch in wal.c.
Fix the ANALYZE command so that it resets the "unordered" and "noskipscan"
flags on indices when reloading the sqlite_stat1 table.

FossilOrigin-Name: 9ed97a85feee6593faefa2b54cc4cf9a60f515f9
2014-11-19 14:05:41 +00:00
drh fead4ed8f3 Adding the "noskipscan" token to an sqlite_stat1.stat field prevents
an index for being used with the skip-scan algorithm.

FossilOrigin-Name: 4461bf045d8eecf98478035efcdba3f41c709bc5
2014-11-18 21:54:31 +00:00
drh 36ff0bf684 Allow an automatic index to be used if the only uses of declared indexes for
the same loop use the skip-scan algorithm.

FossilOrigin-Name: c52f7971e90cac1058d6b66c9e334cbc8607def3
2014-11-18 21:45:35 +00:00
drh 04e8a58669 Merge recent trunk enhancements, including the read-after-ROLLBACK change
and the addition of sqlite3_stmt_scanstatus() support, as well as various
minor bug fixes.

FossilOrigin-Name: f09055f3c4348264c7336f90646375f0d98b061e
2014-11-18 21:20:57 +00:00
drh 64b600ff13 Merge in all the other ROLLBACK fixes from the branch-3.8.7 branch.
I don't know why I was doing them one-by-one.

FossilOrigin-Name: 296b0c7397790ceadbdb330959e962f6491abc3e
2014-11-18 20:49:30 +00:00
drh bea3b976a9 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: 2896f2640ab3e102ee248d20fb68c497817524eb
2014-11-18 20:22:05 +00:00
drh 58f95c43ad Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements.
FossilOrigin-Name: abccda769a3f6b755c3bf70b5fb31a5e16718ef3
2014-11-18 20:16:27 +00:00
drh bb8f925294 Increment the version number to 3.8.7.2
FossilOrigin-Name: 945a9e687fdfee5f7103d85d131024e85d594ac3
2014-11-18 12:28:52 +00:00
drh 4429c20b86 Add an ALWAYS() to an always-true conditional in the WAL rollback logic.
FossilOrigin-Name: c5eae8a60d474131fbfa4d0c2b459005267e8be4
2014-11-18 02:44:32 +00:00
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
dan 8a1e107811 Add tests for WITHOUT ROWID tables with composite primary keys.
FossilOrigin-Name: 712d413d29950b19d4afb18cfcf9d3afb302d0a0
2014-11-17 18:35:30 +00:00
dan 0dc3ac5f3d Changes so that sqlite3_ckpt_open() works with zipvfs databases.
FossilOrigin-Name: acbed3380d8a35bf2f1ec133540cb5e9fccb9b42
2014-11-17 17:57:06 +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
dan d8260fd1e3 Fix a problem with the parameters to an OP_Affinity in one of the VM programs generated by sqlite3_index_writer() that was causing an OOB read.
FossilOrigin-Name: 447b33b34a9836992f5a8d50cd8647a10435c144
2014-11-17 15:07:40 +00:00
dan 48d7014067 Fix the customization interfaces so that they match the documentation.
FossilOrigin-Name: fba0b5fc7eead07a4853e78e02d788e7c714f6cd
2014-11-15 20:07:31 +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