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
drh
9467abf3dd
Fix up all VDBE opcodes so that they cause an immediate exit on any kind of
...
error, and thereby eliminate the need to test "rc" at the top of the loop.
Resulting code is a little smaller and faster.
FossilOrigin-Name: a444633a827642bcf4d02a461e7e5f66769d39fd
2016-02-17 18:44:11 +00:00
mistachkin
fad3039c51
Enhance ability to debug out-of-memory errors.
...
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh
575fad6500
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
...
cases where db is guaranteed to be not NULL.
FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh
4a642b6060
Improvements to the way that OOM errors are processed.
...
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
e514f651d0
Temporarily back out the 0.5% performance improvement from
...
check-in [632071bac5ff32]. Need a more elaborate solution that works
with reentrant virtual tables and SQL functions.
FossilOrigin-Name: 42736fb0adc82a0fb692850ff3dd3f9b501cbf1f
2016-02-04 19:50:33 +00:00
drh
fabe393da8
In the VDBE loop, only check for OOM errors at jumps rather than after every
...
opcode, for about a 0.5% performance increase.
FossilOrigin-Name: 632071bac5ff324a74cec9bdbba2deb60c0945e9
2016-02-03 22:14:38 +00:00
drh
19d720d3a7
Fix markup errors in comments used to generate the documentation - specifically
...
in the documentation on the OP_Seek opcode.
FossilOrigin-Name: ef252bc4b59d272460aaebdc0d4b8e347b0d25a8
2016-02-03 19:52:06 +00:00
drh
1861afcdbb
Change the OP_SetCookie instruction to write the literal P3 value, not the
...
value in register P3.
FossilOrigin-Name: 6d7d4703ebf3754bec74123d5ba7e861a705f90f
2016-02-01 21:48:34 +00:00
drh
b0c886510f
Minor simplification to the OP_AutoCommit opcode. Fix some code comments
...
related to transaction control.
FossilOrigin-Name: a9b6a0672f84dd205f9333951e4c2a608d027d71
2016-02-01 13:21:13 +00:00
drh
784c1b93fb
Merge the implementation of OP_IdxRowid and OP_Seek so that OP_Seek no longer
...
requires the rowid register and a separate OP_IdxRowid call. Shorter and
faster prepared statements result.
FossilOrigin-Name: 9bec50a1e7796a6e038db9b1cc7cc1e7e350bf74
2016-01-30 16:59:56 +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
af30fdf6ed
Output subtype information on register traces for PRAGMA vdbe_trace.
...
FossilOrigin-Name: 96b780209cc95c3f3769bb880591380d94bfe38d
2016-01-30 14:17:10 +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
b17020265b
Change the P4_INTARRAY so that always begins with a length integer. Print
...
the content of the INTARRAY on EXPLAIN output.
FossilOrigin-Name: 6c520d5726e80b4251338c43c405270d150ea81e
2016-01-30 00:45:18 +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
dan
83f0ab8087
Prepend "rc!=SQLITE_OK || " to the nExtraDelete assert() condition.
...
FossilOrigin-Name: 2a055ed0afd56e8c6b17cfc31e7808debe9ec765
2016-01-29 18:04:31 +00:00
dan
e61bbf4417
Modifications to ensure the nExtraDelete-related assert() statement does not fail.
...
FossilOrigin-Name: f43ff8f82d6c1239e6f9a32e7716421c1180ac74
2016-01-28 17:06:17 +00:00
drh
def19e3b48
Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better
...
reflect its purpose.
FossilOrigin-Name: 1d3bf6bebdda9f96734bc139601e9b05344ea0b4
2016-01-27 16:26:25 +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
drh
8716bfd8cd
Merge all recent trunk enhancements.
...
FossilOrigin-Name: 9a71d56dcea953cb965f1fdda9a8b8f158cdeff6
2016-01-26 23:32:55 +00:00
drh
cc2fa4cf55
Replace the OP_SetIfNotPos operator with OP_OffsetLimit in the VDBE, for
...
simpler and smaller code.
FossilOrigin-Name: 7ac017a498b6fb28343eef2d24e400c7800660d6
2016-01-25 15:57:29 +00:00
drh
e807bdba86
Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new
...
BTREE_IDXDELETE bit indicates that the call is to delete an index entry
corresponding to a table row that has already been deleted.
FossilOrigin-Name: ac2cbadd8000947c097da5b00c00090fe58fdcff
2016-01-21 17:06:33 +00:00
drh
055f298ad4
Work toward making the schema parsing logic simplier and more compact.
...
FossilOrigin-Name: c52ca2c0662bb30ab34574f933429512655b19ff
2016-01-15 15:06:41 +00:00
drh
2d80151f32
Combine the xFunc and xStep pointers of the FuncDef object into a single
...
pointer xSFunc.
FossilOrigin-Name: 0d1b3d7d3ca66cb0b97493f1aeade1703af3c9f4
2016-01-14 22:19:58 +00:00
drh
69f6e2587b
Performance optimization on the Column opcode.
...
FossilOrigin-Name: ecc98bef43c2fd07d64e4efddf340929a875ebac
2016-01-11 18:05:00 +00:00
drh
9fbc885afc
Fix a harmless compiler warning.
...
FossilOrigin-Name: 4b404a99aa9bfa6cfe8998f5dc1f84f8be20b840
2016-01-04 03:48:46 +00:00
drh
9abe841e9e
Fix a (harmless) typo in an #ifdef for SQLITE_ENABLE_CURSOR_HINTS
...
FossilOrigin-Name: 2047d2deabf2021ea05d620c3dd4919448027b11
2016-01-02 05:00:31 +00:00
drh
e5520e2f06
Small size and performance optimization to the VDBE comparison opcodes.
...
FossilOrigin-Name: 7a0b9413fa94d3f4fa9751ddf9b213a1238954f1
2015-12-31 04:34:26 +00:00
mistachkin
8c7cd6a9d8
Fix compiler warning seen with MSVC.
...
FossilOrigin-Name: 18a4c0540bf4f02335e9e9def1f2b0d4d784ef08
2015-12-16 21:09:53 +00:00
dan
b1d6b53694
Add a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an assert() to fail incorrectly. Problem found by libfuzzer.
...
FossilOrigin-Name: 1a24791109da607d502ac41f179fe6c1dc46c774
2015-12-14 19:42:19 +00:00
drh
41d2e66ef3
Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option.
...
FossilOrigin-Name: 9e1d6d4c391ff90077f0d1cdeb567969fee9f747
2015-12-01 21:23:07 +00:00
drh
62aaa6ca88
Fix over-length source code lines. No logic changes.
...
FossilOrigin-Name: 198d191b2f5ef7d63ac0093c701955c9052fd734
2015-11-21 17:27:42 +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
5f7dacb443
In the OP_Column opcode, only test the btree payload size for exceeding the
...
string length limit if the payload does not fit on a single page.
FossilOrigin-Name: 35c7f6cba6febf2480de01fca9d61b8065bf1c12
2015-11-20 13:33:56 +00:00
drh
d6b7946c32
The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons
...
against an index, not against a rowid table.
FossilOrigin-Name: 0f5b147d1fe83c34d0fbeacc7422be94d8441bc1
2015-11-07 01:19:00 +00:00
drh
b1d607de25
Improvements and simplifications to the equality seek logic. Tests are
...
adjusted so that they all pass now.
FossilOrigin-Name: 997ce6c90b454c03cc2ef6934752ee8dd2e520e3
2015-11-05 22:30:54 +00:00
drh
70528d7868
The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT.
...
This check-in adds a flag to OP_SeekGE such that it fails immediately if
the key is not equal, then jumps over the OP_IdxGT, saving a call to the key
comparison functions. Consider this check-in a proof-of-concept. It needs
improvement before going on trunk. Some tests fail, but only because they
new use fewer key comparisons than expected (which is a good thing!).
FossilOrigin-Name: 32e31b9bc8664afcd326a1ff3892d86dc5202474
2015-11-05 20:25:09 +00:00
drh
f7854c7329
Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint()
...
the interface for improved performance.
FossilOrigin-Name: b3ec9a0d62c5543e91d4be2cd634ec4a3d6dca11
2015-10-27 13:24:37 +00:00
dan
c5dc3dcd6e
Merge the BTREE_FORDELETE enhancement with this branch.
...
FossilOrigin-Name: 20da0849ce910ceb445954dfc5f985acf9a02695
2015-10-26 20:11:24 +00:00
dan
fd261ec67e
Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened.
...
FossilOrigin-Name: cdc92919e600007cae5eb61223684f48a65babc0
2015-10-22 20:54:33 +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
95fa606616
Simplify the OP_Column logic slightly. One very small performance
...
improvement added.
FossilOrigin-Name: 0114b45dc286c13db0d640f0486d8a5bef9ff078
2015-10-16 13:50:08 +00:00
drh
848a3326f7
OP_Column optimization: Do not check for an oversize row header unless the
...
row header size is larger than the content available on the local page.
FossilOrigin-Name: 8125b74cb46c372b9a319f6270f1c396767accd7
2015-10-16 12:53:47 +00:00
drh
c6ce388301
Performance optimization for the OP_Column opcode.
...
FossilOrigin-Name: 076be5474df628bbbfd2b645adba30e1e093acd0
2015-10-15 21:30:24 +00:00
drh
fed7ac6f04
Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works
...
for integer values.
FossilOrigin-Name: 3a2f73a4924860fde8ee41ad646e7a02d29ad9d5
2015-10-15 18:04:59 +00:00
drh
9eef8c6934
Optimization to the out2Prerelease() helper routine in the VDBE engine.
...
FossilOrigin-Name: 79298fe8c42f64b6a6110a70b84033873ac0630d
2015-10-15 17:31:41 +00:00