dan
edace5d4f1
Require that the database handle be in autocommit mode for
...
sqlite3_snapshot_get() to succeed. This is because it may open a read
transaction on the database file.
FossilOrigin-Name: 83b658dad091211ade3594d1e8d00ce525882506
2016-11-18 18:43:39 +00:00
dan
25accbca72
Enhance existing snapshot tests to serialize/deserialize snapshots. No new
...
tests.
FossilOrigin-Name: 16b9bf92741e4c62874cffd7c6a61763c5054c7a
2016-11-18 14:38:41 +00:00
drh
65e1ba3fe7
Experimental changes for faster in-memory DB operation for large databases.
...
FossilOrigin-Name: 4fe94b0f1841180dfd8cac33838e335dc6a428bf
2016-11-17 21:52:08 +00:00
drh
54cda4edbe
Disable the query flattener optimization for SELECT statements that are on
...
the RHS of vector IN operators. This is a hack that fixes the bug
described in ticket [da7841375186386c]. A better solution that does not
disable the query flattener is needed, but this will server for the time
being.
FossilOrigin-Name: 005d5b870625d175fdf3c0e87d974006c569d9e1
2016-11-17 13:13:25 +00:00
drh
ba6eb8769f
Experimental changes toward making snapshots serializable.
...
FossilOrigin-Name: b6a81fa1fc1fb78a65894129851a4ec3986640de
2016-11-15 17:37:56 +00:00
drh
d6ef5afe3f
Change the OP_Last opcode so that it is a no-op if the cursor is already
...
pointing at the end of the b-tree.
FossilOrigin-Name: 663473850c4274270445b3771911fa773a8c405f
2016-11-15 04:00:24 +00:00
drh
c9b9deaee2
Make the VACUUM command about 9% faster by avoiding unnecessary calls
...
to sqlite3BtreeMovetoUnpacked() while copying rowid tables.
FossilOrigin-Name: 5ed0bd387699a0f3b477d4f3cfcb460a6a44cb84
2016-11-15 02:46:39 +00:00
drh
588429a87d
Fix a potential use-after-free error during parsing of malformed
...
CREATE TABLE statement.
FossilOrigin-Name: c5dbc599b910c02a961675b12b273b8df6d29450
2016-11-14 20:08:00 +00:00
drh
2adb878b1f
Avoid unnecessary calls to sqlite3ExprCacheAffinityChange() when generating
...
OP_MakeRecord opcodes that do not change any register affinities.
FossilOrigin-Name: e211c579b2f092e3283edd5fb9add7c5183bac35
2016-11-14 15:28:56 +00:00
drh
48c286fc61
Fix harmless compiler warnings in test code for MSVC.
...
FossilOrigin-Name: 7b76be4117f4e57091b03fafcf42d17bce81160d
2016-11-11 20:37:27 +00:00
drh
66adb0a848
Avoid storing redundant fields in sorter records when the sort-key
...
and data have fields in common.
FossilOrigin-Name: b835cf3e507b910b6a3e0f802ce2c40a72d0c227
2016-11-11 19:08:00 +00:00
dan
04cd7aa373
Merge trunk with this branch.
...
FossilOrigin-Name: dd62d2de6eb12dc1902d6df050c395b1dcac01b4
2016-11-11 18:45:55 +00:00
drh
d95ef5cb5a
Remove obselete and unused logic in the update code generator.
...
Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the
rowid of the row that it landed on.
FossilOrigin-Name: 1a587d72f981cb7064cfd8916a52a83ad9ba6074
2016-11-11 18:19:05 +00:00
dan
9af90b7231
Reenable the SQLITE_EXPR_REF optimization for "SELECT DISTINCT ... ORDER BY"
...
queries.
FossilOrigin-Name: 6e2e9d383f5fc4a0cbf05fe83ec7425812c0f556
2016-11-11 18:08:59 +00:00
drh
79297d1d59
Merge enhancements and bug-fixes from trunk.
...
FossilOrigin-Name: 5515b827dc1805a3010018cd6abf222b03525d24
2016-11-11 17:52:57 +00:00
dan
4a5bad572a
Fix a problem with switching from wal to rollback mode when
...
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured.
FossilOrigin-Name: 46e0016207b8e7df2ae6c7491fd0f3c2926eed21
2016-11-11 17:08:51 +00:00
dan
3bafdede8a
Handle some obscure "row value misused" cases that could cause segfaults or
...
assertion failures.
FossilOrigin-Name: fba5fddb1c40af75634b01c1f06d2610df697e01
2016-11-11 15:49:01 +00:00
drh
4e8142c726
Back out the "--raw" option on ".read" in the command-line shell. Instead,
...
fix the command-line shell so that if EOF is reached without seeing a
final semicolon, it goes ahead and passes the accumulated SQL text to
SQLite.
FossilOrigin-Name: f98c8ac8c485098f163400d3a92d6afb4008adbe
2016-11-11 14:54:22 +00:00
mistachkin
2f9a613ced
In the command line shell, avoid using utf8_printf() in a couple places where it is superfluous.
...
FossilOrigin-Name: 6311a8bdb1f2e1813516a32d171aae030bd73fd3
2016-11-11 05:19:45 +00:00
drh
c5b86be7db
Add the --raw option to the ".read" dot-command of the command-line shell,
...
to cause the named file to be read and sent directly into sqlite3_exec()
without any interpretation.
FossilOrigin-Name: 09233770b24d69a305556241a6beeb5e4d77c0d7
2016-11-11 04:37:00 +00:00
drh
4360fcea6d
Take care not to try to generate code for the ATTACH and DETACH commands
...
if there were syntax errors during parsing.
Fix for ticket [2f1b168ab4d4844]
FossilOrigin-Name: b0ff183b8ffdbebece06cfea1c6781fc0e8e8547
2016-11-11 03:37:24 +00:00
drh
7a1c28defe
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked().
...
FossilOrigin-Name: eac0e827a61cfec4dd9b6d407ff398e9fda3510b
2016-11-10 20:42:08 +00:00
dan
257c13fa00
Avoid storing redundant fields in sorter records when the sort-key and data have
...
fields in common (as in "SELECT a FROM t1 ORDER BY 1").
FossilOrigin-Name: 0af62fdbd8e2aab14718ff8bcb5934f05463c176
2016-11-10 20:14:06 +00:00
drh
c6c9e158c5
When doing a REPLACE on a WITHOUT ROWID table with no secondary indexes,
...
bypass the OP_NoConflict/OP_Delete sequence and directly overwrite any
preexisting row, for a performance increase.
FossilOrigin-Name: f7041cbb63b912f9ecad538804b6f2383efbec4e
2016-11-10 17:01:36 +00:00
drh
bf2f5739c9
Remove C++ style comments. No code changes.
...
FossilOrigin-Name: 42f8aa6231bf4ed74bebdc85aa79d23dc20b3c14
2016-11-10 16:07:43 +00:00
drh
2c4dfc3095
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements.
...
FossilOrigin-Name: 67602e40f122cbb6354048a64c5d3a72b2855ec7
2016-11-10 14:24:04 +00:00
drh
eaf6ae2992
Comment changes that attempt to better explain the behavior of the "seekResult"
...
field on VdbeCursor objects and the seekResult parameter to
sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes.
No changes to code.
FossilOrigin-Name: 345b46be75bdf6f9fb7367a6164d89bae11995a6
2016-11-09 20:14:34 +00:00
drh
7405fa745e
Fix a simple comment typo. No changes to code.
...
FossilOrigin-Name: 51d0aed8d63d0710e4aa8925ff18cf3c45dc9e42
2016-11-09 16:03:36 +00:00
drh
4a8b013ef6
Make use of the unpacked key on the OP_IdxInsert on sorters with a LIMIT.
...
FossilOrigin-Name: 42db7cd2c0b367f7dfe733bdaf006538937b812a
2016-11-09 01:38:56 +00:00
drh
fb8c56f21b
Fix a typo on the OP_IdxInsert documentation. No code changes.
...
FossilOrigin-Name: e4acd98207bf12b28f6c0f77896ba8f0b0a155d5
2016-11-09 01:19:25 +00:00
drh
7723371eb7
Remove the "experimental" marking from the sqlite3_preupdate interfaces.
...
But be sure all the interface definitions are within
documentation.
FossilOrigin-Name: d6dd2ad35ed17e980ed564688499c802e5850386
2016-11-09 00:57:27 +00:00
drh
9b4eaebc68
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material.
...
FossilOrigin-Name: 89d958abbac45f2ca5954080cd9e74ec9a07ebb2
2016-11-09 00:10:33 +00:00
dan
3b908d41a0
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements.
...
FossilOrigin-Name: bec5b6d4d083556d111a89186b4f7b35b5e7cebf
2016-11-08 19:22:32 +00:00
drh
9d06ff2cb7
Avoid generating OP_TableLock unnecessary instructions on btrees that
...
are not sharable.
FossilOrigin-Name: 8cb8516d2009d52d35a22263e4c892f162b34b81
2016-11-08 17:19:22 +00:00
dan
a2bfa046ea
Avoid a crash that can occur after an obscure OOM in the built-in INSTR()
...
function.
FossilOrigin-Name: b86b79c442a58d10aa005ba4f34095375a88d242
2016-11-04 12:05:29 +00:00
drh
54fc5cc2ae
Add an assert() to silence a coverity false-positive.
...
FossilOrigin-Name: 97354093bceff28714a605068851cfa026c8272a
2016-11-04 11:23:30 +00:00
drh
59ce2c434c
In the command-line shell, fix the .imposter command so that it works
...
with indexes on expressions. Fix the ".mode quote" mode so that it works
with ".headers ON".
FossilOrigin-Name: ba9873da94d21873ff76f16a5332fc0092d83f70
2016-11-03 13:12:28 +00:00
drh
16eb59484f
Add the ".imposter" command to the command-line shell.
...
FossilOrigin-Name: be3ec8fdcf1541017ca9375df07645db2a9a3f5a
2016-11-03 13:01:38 +00:00
drh
6027561178
Fix an possible NULL pointer deference in the command-line shell that can
...
occur when using imposter mode.
FossilOrigin-Name: ad08753a8bbf073ec4af9c3a5783ed664244d954
2016-11-03 02:25:30 +00:00
dan
75ba676790
Fix an issue that was causing the new database image to be assembled entirely
...
in heap memory when VACUUMing a database, even if it should use a temp file.
This could cause SQLITE_NOMEM errors when vacuuming very large databases on
32-bit systems.
FossilOrigin-Name: 3028845329c9b7acdec2ec8b01d00d782347454c
2016-11-02 14:50:19 +00:00
drh
e77caa191b
Fix a requirement mark. No changes to code.
...
FossilOrigin-Name: d18f61b78c8fafef742efbc890382537e8584180
2016-11-02 13:18:46 +00:00
drh
1ad93a003d
Use NOT NULL partial indexes when the query is constrained by a single
...
LIKE or GLOB.
FossilOrigin-Name: 9b3a3b41b59a7ce7d3dd82c7402d6fdc6a5ca43c
2016-11-02 02:17:52 +00:00
dan
298af02308
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for
...
disabling SQLite's default checkpoint-on-close behaviour.
FossilOrigin-Name: 093d2fc2288b75c15ccf877bfa0e622d3918a562
2016-10-31 16:16:49 +00:00
dan
dadafa881f
Remove the mutex from test_multiplex.c.
...
FossilOrigin-Name: 6374978e8f1ac091394a9f5a1896be92af658bcd
2016-10-27 14:51:02 +00:00
drh
c52496f57f
Make sure left-join markings are transferred to the virtual scalar
...
subexpressions when decomposing a vector comparison in the ON clause of
a LEFT JOIN.
Fix for ticket [fef4bb4bd9185ec8f].
FossilOrigin-Name: 619f5cc71774a37648e185c8502d7af14eb09b7f
2016-10-27 01:02:20 +00:00
drh
9904298bb3
Small size reduction and performance enhancement in whereScanInit().
...
FossilOrigin-Name: c23f5ef337533c1ec6e3ba78a2910352181cc9ee
2016-10-26 18:41:43 +00:00
drh
392ddeb12d
Small size reduction and performance improvement in whereScanNext().
...
FossilOrigin-Name: d861ee17eb900a607de6ec3f4a5d5c24cfb834a0
2016-10-26 17:57:40 +00:00
dan
b40897ab5e
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the
...
same index, set the index cursor to return NULL values if there are no matches
for a row on the lhs.
FossilOrigin-Name: e7b9bc678ecb75c594d9d3ade12a99a8d551cdc9
2016-10-26 15:46:09 +00:00
dan
5c35e90377
Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00"
...
escape found in a URI is treated as an error.
FossilOrigin-Name: e8a9bfece27e2af178a206ad6bce3f24d64e7ee4
2016-10-26 12:15:41 +00:00
drh
7ad3eb63cf
Performance optimization in moveToRoot(). Avoid repeated validity checking of
...
the root page on each call. Once is enough.
FossilOrigin-Name: 98795c2dd9a6d8fa8d49a9f5c36cdf824cae7246
2016-10-24 01:01:09 +00:00