drh
0ff287fb01
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation
...
of the other sqlite3VdbeChange*() routines.
FossilOrigin-Name: 0a5b00e493efae58252f9fc7bde5a469645942d5
2015-09-02 18:40:33 +00:00
drh
2991ba050b
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
...
sqlite3VdbeAddOp2(v,OP_Goto,0,i).
FossilOrigin-Name: be78f413df1b0d874b44a866ef6bf17543d7e8a2
2015-09-02 18:19:00 +00:00
drh
ef41dfe5b1
Change sqlite3_sql() so that it always returns the SQL text of the prepared
...
statement, if the text is available, even if the the prepared statement was
generated using sqlite3_prepare() instead of sqlite3_prepare_v2(). Also
include some minor comment fixes and code simplifications.
FossilOrigin-Name: 2f5472cfda6c72e75b9cf7b7481612465c1a5e6a
2015-09-02 17:55:12 +00:00
drh
d5a74c8e19
Minor fix to the display of oversized KeyInfo structures in the P4 operand
...
of Open opcodes in EXPLAIN output.
FossilOrigin-Name: f65a9b4ab2c6f0b7028e16e2a0f83fd6d58ae1cd
2015-08-15 16:32:50 +00:00
drh
4698136594
Early detection of file corruption in a debugging routine, before the invalid
...
data can cause problems.
FossilOrigin-Name: b27a47fef995f0ab2516e6ca779711cab1f50fb9
2015-07-08 12:25:38 +00:00
drh
c5ef7151b0
Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer
...
serial types, for a small size reduction and a speed increase.
FossilOrigin-Name: 9cd30d33b1d02dc8c55c1d74bdbcefab63ebf2a7
2015-06-28 02:58:51 +00:00
drh
e2d9e7cfd0
Further optimization of SQL function dispatch. Improvements to opcode
...
documentation.
FossilOrigin-Name: eaddbf296aee98ffca82adade1b0d2fbefd09d7b
2015-06-26 18:47:53 +00:00
drh
9c7c913cd6
Cache the sqlite3_context structure in the P4 operand of VDBE programs
...
for faster SQL function dispatch.
FossilOrigin-Name: 2abc44eb3b9d489321baa50bc25e17dafbda3687
2015-06-26 18:16:52 +00:00
drh
f1aabd6b78
Optimizations to two VDBE accessory routines for a 0.2% performance increase.
...
FossilOrigin-Name: 66d033b9c9a8c16b9a342be0b325bd85b8487c03
2015-06-17 01:31:28 +00:00
drh
0dd5cdaea5
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
2015-06-16 16:39:01 +00:00
drh
97bae794c2
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
2015-06-05 15:59:57 +00:00
dan
b95e1193d5
Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page.
...
FossilOrigin-Name: 62a5b3633a086694ef0e579a0a82322cb1ae3d60
2015-05-26 20:31:20 +00:00
dan
cc7aa1f6f3
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
2015-05-26 20:07:32 +00:00
drh
22c17b8bf5
Simplifications to error message processing. Fix a possible problem in error
...
message formatting when vacuuming a database with a corrupt schema.
FossilOrigin-Name: 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e
2015-05-15 04:13:15 +00:00
drh
ab4e7f3337
Make sure all cursors are closed when returning from a VDBE subprogram that
...
implements a foreign-key construct.
FossilOrigin-Name: d04d354d8e423961c3091b6ebcfbbbf10d3ecb04
2015-04-16 18:11:50 +00:00
dan
7004f3f6a3
Improve performance of multi-field sorts where the first field has a low cardinality.
...
FossilOrigin-Name: 601e7b6b8e6bfabda03b70f75094c9014e3a3c49
2015-03-30 12:06:26 +00:00
drh
466fd815fb
Simplify the EXPLAIN output of virtual table P4 parameters to only show the
...
pointer to the sqlite3_vtab object and omit the sqlite3_module object.
FossilOrigin-Name: 85610bbbc60cb4a6ec856123447fdb2ba948e52f
2015-03-24 14:57:02 +00:00
drh
f496a7dc81
More defenses against virtual table being deleted out from under a running
...
statement.
FossilOrigin-Name: 116c99823022c017946b6088878a2d46759deb6e
2015-03-24 14:05:50 +00:00
drh
a68d628291
Prevent a virtual table from being destroyed while it is in use.
...
FossilOrigin-Name: fba674c083286dabb37fed9357b67593b56ed3a5
2015-03-24 13:32:53 +00:00
drh
086723a4a8
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter.
...
FossilOrigin-Name: 9faefb96272967e731e83ef516a8c1e1b876391b
2015-03-24 12:51:52 +00:00
drh
75a4d7c3da
When deleting the master journal to commit a multi-database transaction, do
...
not sync the directory if PRAGMA synchronous=OFF for all participating
database files.
FossilOrigin-Name: 018d7671402a0f8103d1306641655b69f9fa235d
2015-03-16 16:44:55 +00:00
mistachkin
1b3ee49225
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 78c2e62bb4c529595aaaf2e1f5f26387ad977b1b
2015-01-21 00:51:08 +00:00
drh
1af3c64d03
Fix the assert() of the previous check-in so that it works even when
...
compiled without SQLITE_DEBUG.
FossilOrigin-Name: 38868f845e1ad4d61354ab1ad39dd19e3e07c7fd
2015-01-19 20:57:19 +00:00
drh
e1bb802c54
An alternative way of implementing the assert() that verifies the relative
...
values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record.
This version of the assert() only fires when the high-speed comparison
routines are used - which is to say it only fires when the constraint
actually matters.
FossilOrigin-Name: bf744b4908b096f301565f6a4ea8d56667c1d76a
2015-01-19 19:48:52 +00:00
dan
0466883300
Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing.
...
FossilOrigin-Name: 35a20a5f22245c70faa51965951e8cc011defa93
2014-12-16 20:13:30 +00:00
drh
9b5444af6c
Work around overzealous NULL pointer checking in memcpy() and memset() for
...
some systems.
FossilOrigin-Name: 0d04f380e1bd17104b3cf76b64d0cfc79a726606
2014-12-02 13:46:53 +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
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
dan
e2f771b047
Add further tests. Fixes so that compilation without ENABLE_STMT_SCANSTATUS works.
...
FossilOrigin-Name: a2303c719222f1effb51acc6b37930561148c00c
2014-11-03 15:33:17 +00:00
dan
037b5324bd
Remove unused variable from struct WhereInfo. Add some explanatory comments to new code.
...
FossilOrigin-Name: f5313e0c680d9baebefb1cf50ddadedd4418a334
2014-11-03 11:25:32 +00:00
dan
43764a8efb
Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code.
...
FossilOrigin-Name: f13d6ba8a72d75838c4aaf85326c1129da027f8b
2014-11-01 21:00:04 +00:00
dan
6f9702ed4d
If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand.
...
FossilOrigin-Name: 9ea37422a8cc2fce51bb10508e5e90f40fd4b511
2014-11-01 20:38:06 +00:00
dan
04489b6dce
Add the experimental sqlite3_stmt_scanstatus() API.
...
FossilOrigin-Name: 6a9bab34aeb6a01b612211a28c140de60a3e883c
2014-10-31 20:11:32 +00:00
dan
c3da667b25
Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same.
...
FossilOrigin-Name: 41cdd0c422d61533a94870cb5ad094682956d472
2014-10-28 18:24:16 +00:00
drh
f526dcad29
Three small optimizations to vdbeaux.c.
...
FossilOrigin-Name: 04892f8ba6c55cec4fe37bfe59b6349fd2a40698
2014-10-13 17:42:05 +00:00
drh
c22284f4b3
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out
...
some of its functions and by avoiding unnecessary calls.
FossilOrigin-Name: c2799aece17d347c64217a0e407bb10e50c184a3
2014-10-13 16:02:20 +00:00
drh
b53a5a9e50
Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining
...
the correct cache value uses more CPU cycles than just recomputing the rowid
on the occasions when it is actually needed. Replace it with the
VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType
when needed. Saves 100 bytes of code space and runs 0.2% faster.
FossilOrigin-Name: 91384a7d727ef0f285cd430e829ba9f3852db50e
2014-10-12 22:37:22 +00:00
drh
4fa4a54f7e
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative
...
debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(),
and sqlite3TreeViewSelect().
FossilOrigin-Name: 4ff51325d6b41d0c59e303b573700ec80c51d216
2014-09-30 12:33:33 +00:00
drh
39c4b82b5a
Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to
...
code.
FossilOrigin-Name: 7fb1626866c2f8dad84c7e6184824be3efd71ca2
2014-09-29 15:42:01 +00:00
drh
069c23c947
Small size reduction and performance increase for releaseMemArray().
...
FossilOrigin-Name: 24cd32d681df58f687b2afbe4b13d579e3efdd4b
2014-09-19 16:13:12 +00:00
drh
7abda85607
Updates to comments. No code changes.
...
FossilOrigin-Name: 9b42c3da6b2593a10b8fe4b2fcc3d650132625c1
2014-09-19 16:02:06 +00:00
drh
322f2852f2
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of
...
sqlite3VdbeMemGrow().
FossilOrigin-Name: 5b9b8987797abf7c68d2c3154f6657be9b8b1c8f
2014-09-19 00:43:39 +00:00
drh
17bcb10299
Add the Mem.szMalloc element to the Mem object and use it to keep track of
...
the size of the Mem.zMalloc allocation.
FossilOrigin-Name: 9c09ac353df6041808cace41880f4729ee73f5e1
2014-09-18 21:25:33 +00:00
drh
74eaba4de2
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can
...
now store an integer or a real but not both at the same time. Strings are
still stored in a separate element Mem.z, for now.
FossilOrigin-Name: 4c8c89d7e62aecfe2eb735f7bb114aed6b452847
2014-09-18 17:52:15 +00:00
drh
d3b74200a8
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn
...
bit is clear. Also reduce the amount of initialization of Mem objects.
All for a small size reduction and performance increase.
FossilOrigin-Name: fdddb477c89dabb9f7bf2d5ccb32534868df3a03
2014-09-17 16:41:15 +00:00
drh
8740a60016
Make sure registers are cleared properly prior to being used to store
...
the result of an OP_Column operator.
FossilOrigin-Name: 78fb8838d80b229418c347c63579989432e1af7d
2014-09-16 20:05:21 +00:00
drh
897a2d50f2
Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic
...
only as the C-compiler optimizers were already omitting this parameter on
amalgamation builds.
FossilOrigin-Name: a10a6bba4963761b490b7243b388dcc920c4cfed
2014-09-16 14:55:08 +00:00
drh
75179ded97
Reduce the number of arguments to RecordCompare functions from 4 to 3,
...
resulting in a small performance increase.
FossilOrigin-Name: 8239c35aedd583af79505378bb7dbb78346a3f45
2014-09-16 14:37:35 +00:00
drh
035e563bf6
Reorder the elements of the Mem object for a small size reduction and
...
performance improvement.
FossilOrigin-Name: 0be3019ed794c10de67dfd645ceea7d45815bc4b
2014-09-16 14:16:31 +00:00