drh
c5db1d4b4c
Rearrange some internal fields in the sqlite3_stmt object to avoid a harmless
...
TSAN warning.
FossilOrigin-Name: e0b116edd64a55c971c368685aa343cb6beed0f1
2016-03-16 00:36:19 +00:00
drh
26bcc7cf40
Ephemeral tables used to hold manifested views may not be unordered since
...
they might be subject to an ordered comparison if they are part of a join.
FossilOrigin-Name: 3ef6a3153267d5328202fea24fd29ff4d5409295
2016-02-26 04:13:39 +00:00
drh
b9626cfa70
Always use the sqlite3VdbeDeleteAuxdata() routine for clearing auxdata on
...
function parameter, rather than having a separate deleteAuxdataFromFrame()
for doing the job for trigger frames.
FossilOrigin-Name: 64386fa339adb91439da979d74062f67a6ec68fd
2016-02-22 16:04:31 +00:00
dan
3200132add
Use a separate list of aux-data structures for each trigger program at the VDBE level. Fix for [dc9b1c91].
...
FossilOrigin-Name: c4295725015d394f01b8563f47236e0890f1cc0d
2016-02-19 18:54:29 +00:00
dan
5b6c8e4e1d
A different way to clear the subtype on VDBE registers when the value of the register is overwritten with new content. To fix [[f45ac567eaa9f93].
...
FossilOrigin-Name: 2e9fb1295cd31fc29c97444c3dec82fef68e939f
2016-01-30 15:46:03 +00:00
drh
4b09ec6e11
Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface
...
and use them. Add assert() statement to verify that they are correct.
FossilOrigin-Name: 85c467041c9378cae3038756da815e9117ee8c7d
2016-01-30 13:32:30 +00:00
drh
945d302215
Different comment on the alternative cursor fields of VdbeCursor.
...
FossilOrigin-Name: 6e3dcb6d7d960bb513d9a4a002b6cf5ab7159686
2016-01-29 20:58:40 +00:00
dan
de892d9660
Experimental attempt to make better use of covering indexes within OR queries.
...
FossilOrigin-Name: a323ac3a9d42bd5cb38d724c7e1180584b91054c
2016-01-29 19:29:45 +00:00
drh
b89aeb6aa2
Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify
...
that the FORDELETE and IDXDELETE flags are being generated correctly. Those
flags are not currently generated correctly, and so the assert()s trip on this
check-in.
FossilOrigin-Name: dde1db0dd2e2cf04706117629756c352b178ebb8
2016-01-27 15:49:32 +00:00
dan
20d876fa1c
Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly.
...
FossilOrigin-Name: d0214602d44d6b84b7463d530720e2560aee6edf
2016-01-07 16:06:22 +00:00
drh
c960dcbace
Refactor the VdbeCursor object. It is now slightly smaller and faster and is
...
easier to understand.
FossilOrigin-Name: 9b1d174d862500a627840008ffac4c8419dc97e2
2015-11-20 19:22:01 +00:00
drh
0030aaad67
Merge recent enhancements from trunk. Version now 3.9.1.
...
FossilOrigin-Name: 26fa091d68e89a0b6af61ba706d23a9f37e8025a
2015-10-16 20:53:57 +00:00
drh
be37c12423
Have the sqlite3VdbeSerialType() function go ahead and compute the serial
...
length as well, since it is always needed. This avoids unnecessary calls
to sqlite3VdbeSerialTypeLen().
FossilOrigin-Name: 2ad72be12477b0e8e33e56a9a17e29abbd283ec1
2015-10-16 14:54:17 +00:00
drh
faf3727904
Use a lookup table to compute the content length for serial types less
...
than 128, for a 1.2% performance improvement.
FossilOrigin-Name: 3395724814099d28829ef6875ca1ba77d6fe7ffa
2015-10-16 14:23:42 +00:00
drh
81966bea22
Merge enhancements from trunk.
...
FossilOrigin-Name: 66fe06832614010d3156d7b21a760af9957018cc
2015-09-15 17:31:47 +00:00
drh
bcdf78a61c
Experimental implementation of sqlite3_result_subtype() and
...
sqlite3_value_subtype() interfaces.
FossilOrigin-Name: 7b5be299c617a3d3ed327ed30ef0a66a62c85b1f
2015-09-10 20:34:56 +00:00
drh
f7e369070e
Convert the hint expression of the CursorHint opcode into a string for
...
display by EXPLAIN.
FossilOrigin-Name: 206884718782331a7aaacc2c811e4e9d2effae91
2015-08-13 21:32:41 +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
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
drh
4f03f413bc
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use
...
these interfaces to enhance R-Tree to add the
sqlite3_rtree_query_info.apSqlParam field.
FossilOrigin-Name: a7ee40c4fc62843ac5b96ba47ca14a66e8cd6961
2015-05-20 21:28: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
086723a4a8
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter.
...
FossilOrigin-Name: 9faefb96272967e731e83ef516a8c1e1b876391b
2015-03-24 12:51:52 +00:00
drh
983b5ee73d
Make sure the prepared statement auto-resets on extended error codes
...
of SQLITE_BUSY and SQLITE_LOCKED even when compiled using
SQLITE_OMIT_AUTORESET.
FossilOrigin-Name: 3c6ca414879feb1f5d31d5fd95a1737530aca624
2015-02-13 12:05:56 +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
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
facf47a891
Use the padding word in the Mem object as temporary storage for
...
serial_type value in OP_Record, and thus avoid a redundant computation of
the serial_type for each column.
FossilOrigin-Name: 4b3b65ee5ea61e9b9671ca027940bf02689cb890
2014-10-13 20:12:47 +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
a15cc47f81
Simplifications to the SQL function and aggregate calling procedures.
...
FossilOrigin-Name: 3467049a1705b49905ea88a5c6becb6fe318f2fa
2014-09-25 13:17:30 +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
mistachkin
26c79a060b
Correct typos in comments. No changes to code.
...
FossilOrigin-Name: 55879932116d373c95a5f32ec44b53a9c3f4db24
2014-09-18 18:55:47 +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
0725cabe3a
Improved interface to the Mem object handling. Small size reduction and
...
performance increase.
FossilOrigin-Name: 4e437844322cc20eef92928b53fa6b37eded586e
2014-09-17 14:52:46 +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
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
peter.d.reid
60ec914c74
Fix typos in comments. No code changes.
...
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
503ae86508
Merge recent performance enhancements from trunk onto the threads branch.
...
FossilOrigin-Name: 35c44a3c73e2e8b14ff194c41986f4bdb9dfe737
2014-08-29 14:40:07 +00:00
drh
9bd038f12e
In the sqlite3_context object, keep a pointer to the result value rather
...
than storing the result value in the sqlite3_context object and using
memcpy() to move the value back into its register
after the function returns. This runs faster and saves over 500 bytes
of code space.
FossilOrigin-Name: 6c1ee3e388eb110de815270467b1e50592c0ba6c
2014-08-27 14:14:06 +00:00
drh
6c4ec84256
Merge the CAST operator enhancements from trunk.
...
FossilOrigin-Name: 6c8f86e4e08d5d57e21496277613e0f9dcc06514
2014-08-25 22:43:17 +00:00
drh
4169e430a2
Allow CAST expressions and unary "+" operators to be used in the DEFAULT
...
argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of
range constraints interpreted by STAT3/4. This involves a rewrite of the
implementation of the CAST operator.
FossilOrigin-Name: 91d8a8d0b792ea5c4fe68fd9caaf3345eddea486
2014-08-25 20:11:52 +00:00
drh
4d015c6902
Merge the recent performance enhancements implemented on trunk into the
...
threads branch.
FossilOrigin-Name: dfdc900f5d1a31ee5c5f35a630c4a8253e69093b
2014-08-25 13:27:02 +00:00
drh
12b7c7d8c3
Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to
...
more accurately reflect what it does. Performance enhancement to the
sqlite3VdbeMemRelease() function.
FossilOrigin-Name: 3ca5846da7da5e08192a4c96288197be3b7ab6f7
2014-08-25 11:20:27 +00:00