1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

2168 Commits

Author SHA1 Message Date
drh
af69eda63e Improvements to commits. No code changes.
FossilOrigin-Name: 18f5a3bee4f870be4644a6042a20081c46edb7d0
2016-08-13 13:03:46 +00:00
drh
79752b6e63 Attempt to simplify the logic and generated code for vector comparisons.
Basic comparison operators are working, but there are many indexing test
failures still to be worked through.

FossilOrigin-Name: dfc028cfbe7657d20727a2670ecadb1575eb8cbb
2016-08-13 10:02:17 +00:00
dan
7fb8990688 Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called.
FossilOrigin-Name: 8a5f41c7b1718507524adef1a2730e99cf53270a
2016-08-12 16:21:15 +00:00
dan
5c288b929a Fix problems with vector == comparisons and NULL values.
FossilOrigin-Name: 059d0d05354e6efab7892c97b339ffa0b5303587
2016-07-30 21:02:33 +00:00
dan
d9ed09d47b Merge latest trunk changes into this branch.
FossilOrigin-Name: d4f3d52c5a11fc7ad7e8cad76361edbcef13a12f
2016-07-26 18:15:35 +00:00
drh
5fe63bfb93 Evidence marks and code reformatting for SQLITE_TRACE_STMT operation.
FossilOrigin-Name: e1e022383114525241454f63ea8b9768fb7ec657
2016-07-25 02:42:22 +00:00
drh
bd441f7700 Change SQLITE_TRACE_STMT to return unexpanded SQL text in the X argument.
Add documentation on how and when to use sqlite3_expanded_sql(P) to compute
the expanded text for legacy sqlite3_trace() compatibility.

FossilOrigin-Name: 163e15229d837a5471007cffb8d41faafd081737
2016-07-25 02:31:48 +00:00
drh
fca760c841 Add the sqlite3_expanded_sql() interface. Refinements to the
sqlite3_trace_v2() interface to make it more useful.

FossilOrigin-Name: 99ee7ee58d45b29a0000492306ddc0b90563ff51
2016-07-14 01:09:08 +00:00
drh
3d2a529df6 First cut at implementing the new sqlite3_trace_v2() interface.
FossilOrigin-Name: cb0062feb018f52689938a58cb76886d431c33f0
2016-07-13 22:55:01 +00:00
dan
71c57db099 Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch.
FossilOrigin-Name: b2204215b231202aef7a218411cc2ddaecf28f35
2016-07-09 20:23:55 +00:00
drh
4b37cd49a6 Fix the handling of OP_Eq opcodes that compare a register against itself
and that require an affinity change.

FossilOrigin-Name: 507014e4c7a70cd09410c89c8ed466c8edab39d2
2016-06-25 11:43:47 +00:00
drh
d66c4f809d Fix a C99-ism and a compiler warning for MSVC.
FossilOrigin-Name: aa53a36ea2eb90cc4939e37e6ad320b4211692fd
2016-06-04 20:58:35 +00:00
drh
a7c90c42ea Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and
make it only work for table btrees.  Change sqlite3BtreeDataSize() into
sqlite3BtreePayloadSize() and make it work for all btrees.  Combine
sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single
sqlite3BtreePayloadFetch() routine.  These changes seem to make the
b-tree interface more rational and they reduce both binary size and
CPU usage.

FossilOrigin-Name: bef35e18dd19732f7859287b097feeb593e5900f
2016-06-04 20:37:10 +00:00
drh
eeb9565a3e Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt
and OP_NotExists.  This makes the code slightly smaller and faster.

FossilOrigin-Name: ffe80a1bfa014943a614fc6993c1749b9bfec4c1
2016-05-26 20:56:38 +00:00
drh
8eeb4463d9 Simplify the sqlite3BtreeInsert() interface by gathering the five arguments
describing the content to be inserted into the new BtreePayload structure, and
thus reducing the number of parameters from eight to four.

FossilOrigin-Name: 55f348cdd24c7812ea4b63345514764b69f64dc8
2016-05-21 20:03:42 +00:00
drh
170c276623 Another optimization on the OP_Column opcode.
FossilOrigin-Name: 1765672c2599eb03d39c52cd2dc32ea1e5ee069e
2016-05-20 21:40:11 +00:00
drh
a1851efc5d Slight performance improvement in the OP_Column opcode.
FossilOrigin-Name: 5c157474391f90f24e8867c77fbc6564c7955ecc
2016-05-20 19:51:28 +00:00
drh
a43a02e42e Optimization marks in vdbe.c. No logic changes.
FossilOrigin-Name: cf2737415aff7de7e133da174b645324c99d5758
2016-05-19 17:51:19 +00:00
drh
0eda6cd80d Performance improvement in the OP_Column opcode.
FossilOrigin-Name: 4737cadc414c5f6d256fcceacb19d80d66a8c8e7
2016-05-19 16:58:42 +00:00
drh
4ca239fd55 Small size reduction and performance improvement in the OP_Column opcode.
FossilOrigin-Name: 0d7730611be974162d9a064a041957d04d55b6d3
2016-05-19 11:12:43 +00:00
drh
44aebff246 Improvements to the way the LIKE optimization is implemented, resulting in
slightly smaller and faster code that is easier to test.

FossilOrigin-Name: 54c63b329288729031f45b7778752552cd90e226
2016-05-02 10:25:42 +00:00
drh
2f55511dfa Remove an unnecessary branch from the OP_String8 opcode.
FossilOrigin-Name: 459a0b456da69112605b37adc9af27d79e35a4d7
2016-04-30 18:10:34 +00:00
drh
99f5de771f Simplifications to the OP_Halt opcode implementation.
FossilOrigin-Name: daf4630f96f13133664908045e279da9d5a40bb5
2016-04-30 02:59:15 +00:00
drh
a3fa140fb4 Some optimization comments added to vdbe.c. No functional changes to code.
FossilOrigin-Name: e7c22e3bffce63f3b47fa3683be8c00c42b2a7d3
2016-04-29 02:55:05 +00:00
drh
7cc84c2cdd Remove the VdbeOp.opflags field and its associated initialization overhead.
Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values()
routine run faster.

FossilOrigin-Name: 099478fa7521ba52262ef2bf24dd8f0114ce92e1
2016-04-11 13:36:42 +00:00
drh
45c3c66385 Avoid decrementing a pointer off the front end of the buffer in OP_MakeRecord.
FossilOrigin-Name: 153135bfb3b8f7c407ccf36571e2d4d5afe28ea3
2016-04-07 14:16:16 +00:00
drh
5fd0c12049 Minor performance optimization in the comparison opcodes of the VDBE.
FossilOrigin-Name: e375fe52cea7903c11ecef71c3452c67a96b663e
2016-04-04 13:46:24 +00:00
drh
c556f3c33f Simplifications and clarification to update callback handling in the
OP_Delete and OP_Insert opcodes.

FossilOrigin-Name: 47887ef89ed60ddb869d65e0957c1c4b2115f169
2016-03-30 15:30:07 +00:00
drh
74c3302fd1 Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK
is not used.  Fix the EXPLAIN output for P4_TABLE opcodes.

FossilOrigin-Name: 5ab46d760dff327491703478d6d7c7c44a0147ca
2016-03-30 12:56:55 +00:00
drh
799b8372d1 Merge changes for 3.12.0.
FossilOrigin-Name: ed22eb653f2809446ace6a27e7ea3926ac6db30c
2016-03-29 10:19:29 +00:00
drh
ddb2b4a310 Fix two instances of undefined behavior in the C code - both harmless for
all current compilers.

FossilOrigin-Name: 99fd194c83dbcfcdcc582983b86678b85b1b9570
2016-03-25 12:10:32 +00:00
drh
dbf8a16cb3 Merge 3.12.0 beta changes from trunk.
FossilOrigin-Name: 3296a0ceedef43c2790f0b36471f91138a575243
2016-03-21 15:32:19 +00:00
drh
f68521c4e6 Make sure system errors that occur durign sqlite3_step() are captured for
use by sqlite3_system_errno().

FossilOrigin-Name: b4a1114f730c62e93623f889bc0e4fd8d0b31efa
2016-03-21 12:28:02 +00:00
drh
3cdce92c38 Remove an unreachable branch. Improvements to comments.
FossilOrigin-Name: c5677ecd5cd2637d92a831ec6bd5b002f8d75626
2016-03-21 00:30:40 +00:00
drh
9f6168b6a3 Change the Vdbe.aMem array so that it is zero-based instead of one-based.
FossilOrigin-Name: e07b0c47eb5a39623f5fe0e66b939bba0906691c
2016-03-19 23:32:58 +00:00
drh
47e1842e5b Merge all recent enhancements from trunk.
FossilOrigin-Name: 6a7ee04b0ddac36a87d5ed2ac89a53e537f4d5a3
2016-03-16 01:16:30 +00:00
drh
98968b22c5 Change the OP_IntegrityCk opcode to accept the list of root pages as an
intarray argument in P4.  Slightly smaller and faster.

FossilOrigin-Name: 15e4a272df46cbad8e71b21551dc06a126d64d46
2016-03-15 22:00:39 +00:00
drh
d3e1af4aa0 Merge all the latest changes from trunk.
FossilOrigin-Name: b86590043e17705ada90562cf30f69b3e3ef65a4
2016-02-25 18:54:30 +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
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
0ac7cfaf99 Merge enhancements from trunk.
FossilOrigin-Name: a533608cb0de3cbc1e28a794aab99864b8c249f4
2016-02-05 14:15:34 +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
33c1eb6477 Merge all recent enhancements from trunk.
FossilOrigin-Name: f3f9200115caf4b356f90ec97c351d1afbcb9bf6
2016-02-02 02:22:30 +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