drh
fe0cf7a18c
Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce
...
the size and improve the performance of OP_Column.
FossilOrigin-Name: f078deb25149b7b1881b7f3374b343d0677e82336d8fdd7f1cdd06d926b5dd57
2017-08-16 19:20:20 +00:00
drh
a0024e6c99
Improved implementation of the destructor on pointer-passing interfaces.
...
FossilOrigin-Name: 601ad6795927fff8c3cc1711a2fd90912499573e94aa5bc8f18cbd4b89778f58
2017-07-27 15:53:24 +00:00
drh
22930062d5
Add a destructor argument to sqlite3_bind_pointer()
...
and sqlite3_result_pointer().
FossilOrigin-Name: 3d9e841f6011480ebb8a6d860da72af7fa545983e08835ddef2cac96e5f5cd4b
2017-07-27 03:48:02 +00:00
drh
ae3ec3f920
Add an experimental "pointer type" parameter to sqlite3_bind_pointer(),
...
sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is
a string that must compare equal using strcmp() or else the pointer comes
through as a NULL.
FossilOrigin-Name: 211cce04e97d2e325a6ea3e99738fc71115d673dc13daeffb03ac3140deb11de
2017-07-17 00:40:19 +00:00
drh
3fb406083a
Merge the latest changes from trunk.
...
FossilOrigin-Name: a54be6e041a9185787a22b86603dcb0654e5e4af71225b556d1b6279f8520ad8
2017-07-13 17:34:46 +00:00
drh
f0f44b79c9
Compile cleanly with SQLITE_OMIT_UTF16.
...
FossilOrigin-Name: 783100b801703577e35ec12fe7623e1797e49699f3b8deb0694ef061a142b844
2017-07-12 12:19:33 +00:00
drh
3a96a5d919
Add APIs for binding pointers that can be used by app-defined functions.
...
FossilOrigin-Name: d9f4a831ba957ead3890b36d0e33e30cfa4c79b7de6400e623b9746a0a5a02d0
2017-06-30 23:09:03 +00:00
drh
01e6d540a7
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the
...
extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as
one bit in that argument. Use the new option in FTS3, FTS5, and RTREE.
FossilOrigin-Name: 03977248e6fdaa9b35c15e5dd9bb89552f2f0a913cc31609b5af1e2347b67d38
2017-06-29 15:24:57 +00:00
drh
00d11d400b
Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to
...
sqlite3_stmt_status(). Use this for two new columns in the stmts virtual
table.
FossilOrigin-Name: b0b0c8f8d548ef78584ab714ab120b01c1b83fc0d8ae2fd7626b970bab9fca58
2017-06-29 12:49:18 +00:00
drh
2c2f392dca
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the
...
extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one
bit in that argument.
FossilOrigin-Name: 4a25c5883380fe5990d8180adb58c3bdc7a3d081bc4c69cd4de3cd57074fb251
2017-06-01 00:54:35 +00:00
drh
2ab792e4c0
Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return
...
SQLITE_DONE if they have already reached the end (or beginning) of the table.
This gives a performance increase and size reduction.
FossilOrigin-Name: e972a3860892022d57b26ec44ce0fbadc61c1ff54b7a10b7e82390db88d323a7
2017-05-30 18:34:07 +00:00
drh
e694139788
Rename fields of the internal AuxData object to make them unique and easier
...
to search for.
FossilOrigin-Name: 2be9850cef6492e168243807c34af72119ffbe414027a12c4eda6c421b5b950d
2017-05-10 19:42:52 +00:00
drh
7a6ea93fd8
Do not expose the name of the internal Mem object in the public interface
...
defined by sqlite3.h.
FossilOrigin-Name: 19dd753f9e50fee247b1ab141669817c7e88bc3f6d6065dba6c731db9f7a2409
2017-04-09 19:23:55 +00:00
drh
ab087d4e67
Fix the OP_Once opcode so that it works correctly for recursive triggers.
...
Ticket [06796225f59c057cd120f1].
FossilOrigin-Name: 2556014514f36808e6d18b25722eae0daeeb8fbb5d18af13a9698ea6c6db1679
2017-03-24 17:59:56 +00:00
dan
cb9a364390
Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are
...
written.
FossilOrigin-Name: 856f8604c59c8fdd9bfb7d86fc0e212f091ab49a
2017-01-30 19:44:53 +00:00
drh
9bf755cc44
Use the VList object to replace Parse.azVar for tracking the mapping between
...
SQL parameter names and parameter numbers. There is a performance
improvement, though there are still a few hiccups in the current code.
FossilOrigin-Name: 68ecafa1425a41358c88f41efea3262f1b4490f2
2016-12-23 03:59:31 +00:00
drh
fbd8cbdcf5
Reorder the fields in the VdbeCursor object so that those that need to be
...
bulk zeroed on allocation are grouped at the beginning, and the memset()
only runs over those fields that really need it.
FossilOrigin-Name: 8165f88bb1d40693d67005a8d5dc499085f64b91
2016-12-10 12:58:15 +00:00
drh
cb3cabd01b
Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces
...
into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively.
This is a continuation of the optimization started by check-in
[2d831074cf]. The result is a slightly smaller and faster binary.
FossilOrigin-Name: 49ebc219faea30eaa61def4a3fba2817b9c58a86
2016-11-25 19:18:28 +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
dan
e43635aaa7
In the sessions module, avoid recording a change if an UPDATE statement
...
overwrites a column with REAL affinity containing an integer value with the same value.
FossilOrigin-Name: b861328ab9ceec6926d97658c3606e6ae9ad39bf
2016-10-21 21:21:45 +00:00
drh
ab3182f7c4
Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated.
...
FossilOrigin-Name: 1e21bbe836539e64d24857f4faa3d12cd607dc7e
2016-10-01 00:37:50 +00:00
drh
22fa36dc04
Clarification and typo-fixes in comments. No changes to code.
...
FossilOrigin-Name: e2cd79aa3104c51035bf29c548c322564731b75f
2016-09-29 15:53:28 +00:00
drh
9e5eb9c8cc
Revise the implementation of OP_Once so that it is smaller, faster, and uses
...
less memory. This also fixes an obscure bug introduced 3 days ago by check-in
[5990a1bdb4a073].
FossilOrigin-Name: 6bf5ba10d28f1b0a32aa9a560ae3143a1235eadb
2016-09-18 16:08:10 +00:00
drh
43f58d6a17
Fix various internal #defines to conform to new C-language naming restrictions,
...
specifically that private-use macros names must not begin with "_".
FossilOrigin-Name: 5471aca0158851d3fb0a2517306917536deb38bb
2016-07-09 16:14:45 +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
47e1842e5b
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: 6a7ee04b0ddac36a87d5ed2ac89a53e537f4d5a3
2016-03-16 01:16:30 +00:00
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
2606aca80f
Merge recent enhancements from trunk. Default page size is 4096. Writes
...
to statement journals are avoided.
FossilOrigin-Name: 456df3365e2df60e34762f2024bb551538b3f72b
2016-03-04 16:42:43 +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
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
33c1eb6477
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: f3f9200115caf4b356f90ec97c351d1afbcb9bf6
2016-02-02 02:22:30 +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
drh
604ce70448
Merge recent enhancements, and especially the WAL overwrite change, from trunk.
...
FossilOrigin-Name: c4a858b228a164be2f89f5b01833f0b5e0d7735b
2016-01-11 13:10:41 +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
1bb15fc973
Merge recent enhancements from trunk.
...
FossilOrigin-Name: d1a1278d7f3306536dc9cbd8fb300898f1e373e8
2015-12-02 20:40:26 +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
d286b9fb7d
Merge all the latest enhancements from trunk.
...
FossilOrigin-Name: 395a153ff7b3c7a72f3d02b6fe76d72383f4e480
2015-10-30 16:50:00 +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
91762f2d18
Merge the latest trunk enhancements.
...
FossilOrigin-Name: 22ce9218fb2bb56cc5dd4e32077a16f669250d5f
2015-09-14 10:47:29 +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