drh
a9ab481fca
Fix harmless compiler warnings.
...
FossilOrigin-Name: a7e5fcd66659750eb2f4675082df324e7cf35427
2013-12-11 11:00:44 +00:00
drh
024045fe6e
Avoid unnecessary calls to sqlite3VdbeSerialType() from within
...
sqlite3VdbeSerialPut().
FossilOrigin-Name: 079c04a5013074b68f7d90f1ce8bf8e7092ad8a2
2013-12-10 21:38:08 +00:00
drh
038b7bc4ef
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut()
...
helper function.
FossilOrigin-Name: 7277a769694787e0332d1a4efc02041834661e2a
2013-12-09 23:17:22 +00:00
drh
501932ca68
Changes some offset and amount parameters from "int" to "u32" to avoid
...
harmless signed/unsigned comparison warnings.
FossilOrigin-Name: 4e8c5d0795cb7c603182bfa70f3855d654f0997e
2013-11-21 21:59:53 +00:00
drh
5cc1023e1c
Reduce the size of VdbeCursor again, this time without a performance hit.
...
FossilOrigin-Name: 933939932c44bccb0958f203a5bd24e683c1cf38
2013-11-21 01:04:02 +00:00
drh
1fd522ff49
Unpack some fields, adding some space back to the VdbeCursor object,
...
in order to help the code to run a little faster.
FossilOrigin-Name: f8d5efcd7b92492b833b6cd1cb6bec006c6a0809
2013-11-21 00:10:35 +00:00
drh
14da87f8c5
Reduce the size of the VdbeCursor object from 144 to 120 bytes.
...
FossilOrigin-Name: 5f9d50688508affd0bc8e4d52e21dacfacdbb5ce
2013-11-20 21:51:33 +00:00
drh
399af1d2c2
Refactoring the OP_Column opcode for improved performance and
...
maintainability.
FossilOrigin-Name: 7c914e3997d2b28164a2fa7eb4398262b6ddb4b2
2013-11-20 17:25:55 +00:00
drh
79353dbd5f
Simplifications to the VdbeCursor object.
...
FossilOrigin-Name: 5562cd343d8f69242e06a51a7f1aef7ee7d78eec
2013-11-20 02:53:58 +00:00
drh
84e55a80db
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify
...
some of the other debugging logic.
FossilOrigin-Name: 8ce33f4c818e1c785a1c176f6f631b8184e1166b
2013-11-13 17:58:23 +00:00
drh
1153c7b25d
Size KeyInfo objects so that IdxInserts always compare the correct number of
...
fields.
FossilOrigin-Name: 302a81390f039fc23eeb8510e95b9d9fa0b41edd
2013-11-01 22:02:56 +00:00
drh
11e85273df
Work on the UPDATE and INSERT logic. This is an incremental check-in so that
...
can switch over to trunk to work on an unrelated issue there.
FossilOrigin-Name: 086ec2a177b24ad90d5d705a99d93aa0c1545217
2013-10-26 15:40:48 +00:00
drh
95a7b3e36d
The date and time functions use the exact same notion of "now" for every
...
invocation within the same call to sqlite3_step().
FossilOrigin-Name: daf6ba413cb3cb6065774ba07495eab4a28b49b0
2013-09-16 12:57:19 +00:00
drh
9b47ee3f09
Performance optimizations in the VDBE and especially to the OP_Next and
...
related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious()
routines. This is a cherrypick of [6f99b54aedeb], [d2efea1682a7], and
[d78c5d89de4b].
FossilOrigin-Name: 7f72fc4f47445a2c01910b268335873de9f75059
2013-08-20 03:13:51 +00:00
dan
0c5477997b
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9].
...
FossilOrigin-Name: 71effa59c98d167e6e4b269e59ad5f468e664ac1
2013-07-18 17:12:08 +00:00
drh
648e264342
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS
...
value for sqlite3_db_status(). This is a cherry-pick of a sequence of five
checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70].
FossilOrigin-Name: 527121ac3cdc96ac33ad975c227a6685a2f7e999
2013-07-11 15:03:32 +00:00
drh
1713afb025
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted.
...
FossilOrigin-Name: 59f98c5c241e5a61cd5b6d0e69b55a6b44c5cafc
2013-06-28 01:24:57 +00:00
drh
9e92a47bdf
Make sure that sqlite3_stmt_readonly reports false for
...
PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3].
Also keep track of whether a prepared statement does no reading or
writing.
FossilOrigin-Name: 1937fd8eec2c1da95a782d9dc63926d846b06bdc
2013-06-27 17:40:30 +00:00
drh
bf159fa21b
Add a new (experimental) sqlite3_stmt_status() verb that returns the number
...
of VM steps.
FossilOrigin-Name: f1366bab737a3ac2ea20a0ec014cc306d7ded8a5
2013-06-25 22:01:22 +00:00
drh
60625313b0
Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro
...
covers every case where a prepared statement might need to be reprepared due
to a schema change. The sqlite3_exec() interface now uses
sqlite3_prepare_v2().
FossilOrigin-Name: c1d7304c80c4a6244c8a9f6fad1eebd0f339c724
2013-04-06 18:06:51 +00:00
drh
dba0cb2351
Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code.
...
The merge sorter is now a required component.
FossilOrigin-Name: 8b44d6fb159e85267095e846cded2764c3bcb895
2013-03-24 22:56:49 +00:00
drh
928d9c6209
Fix harmless compiler warnings.
...
FossilOrigin-Name: 4a7b4ee011fea911b981206c242e3d5553303b52
2013-02-07 09:33:56 +00:00
drh
d2a5623866
Issue an error message and quit (rather than overflowing a reference counter)
...
if the number of references to a table exceeds the maximum due to nested
UNION views. Fix for ticket [d58ccbb3f1].
FossilOrigin-Name: c2462a95ed8e1e69886681400d673207d906bf1b
2013-01-28 19:00:20 +00:00
drh
21172c4cc0
Add an optimization that attempts to run a subquery as a coroutine rather
...
than manifesting it into a temporary table.
FossilOrigin-Name: 7af3acbbd49a2114fcdada9ec907c68ba9b053bd
2012-10-30 00:29:07 +00:00
drh
053a128f55
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword
...
handling.
FossilOrigin-Name: 94b48064db3cbb43e911fdf7183218b08146ec10
2012-09-19 21:15:46 +00:00
drh
37f58e9902
Avoid repeating calls to the sqlite3_trace() callback when the same statement
...
is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA
reprepare.
FossilOrigin-Name: 39f763bfc04174ee0fe2cdf6a92b7c12f726bd1b
2012-09-04 21:34:26 +00:00
drh
c041c16ce1
Mark parameters to sorter interfaces as const where appropriate.
...
FossilOrigin-Name: d8da26f1f43610ac83af2a5d0e170be5abaf7aaa
2012-07-24 19:46:38 +00:00
drh
3fb757b487
More structure packing for smaller objects and less memory usage.
...
FossilOrigin-Name: f14e7f29ff7f2d7706dc3cdd715e103e04ba0ef1
2012-02-02 21:02:43 +00:00
drh
7a95789c0c
For queries of the form "SELECT p, max(q) FROM t1", the value of column p
...
returned is the one on the same row that holds the maximum value of q.
FossilOrigin-Name: adb29232b659c5332b6841776372407fcc350b08
2012-02-02 17:35:43 +00:00
drh
c35f3d5027
Very small performance enhancement and reduction in size of the sqlite3_stmt
...
object.
FossilOrigin-Name: a38d57a4e5d79a0baefdf776e0e2d61423681a4f
2012-02-01 19:03:38 +00:00
drh
45d29309a7
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one.
...
FossilOrigin-Name: fc9179e154751b51ddef429600d30a89d4a098bd
2012-01-08 22:18:33 +00:00
drh
e4c88c0c38
Fix typos and comments and make minor changes to a few function names,
...
as suggested by readership.
FossilOrigin-Name: e9d05cbb7676cbda83f1b3b71447404d7edde898
2012-01-04 12:57:45 +00:00
drh
678a9aa7bd
Import the experimental parse-tree explainer, with fixes, from the
...
tree-explain branch.
FossilOrigin-Name: bcbc7152d49107afa926c8950360c61a6cf3d244
2011-12-10 15:55:01 +00:00
drh
a5eec8c8c3
Merge the latest trunk changes into tree-explain branch.
...
FossilOrigin-Name: 1a360da0f8314f232c224c71829646bc7558892b
2011-12-10 14:44:31 +00:00
dan
1d8cb21fdb
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442].
...
FossilOrigin-Name: 557c69055a300b4082830b5f4803091dca1c3140
2011-12-09 13:24:16 +00:00
drh
7e02e5e6b5
Begin adding the data-structure explaining subsystem. All is contained within
...
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
dan
029ead645d
If an error occurs within sqlite3_step() on a statement prepared using sqlite3_prepare_v2(), transfer both the error code and error message to the database handle before sqlite3_step() returns (so that they are available via sqlite3_errcode() and sqlite3_errmsg(). Prior to this commit, only the error code was transfered. The error message was not available until after either sqlite3_reset() or sqlite3_finalize() had been called on the statement handle.
...
FossilOrigin-Name: 8f88cc4e616b4b30ed349f89e148f782da5cb6c4
2011-10-27 15:19:58 +00:00
drh
ca892a7252
The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now
...
avoids spilling to disk (letting the in-memory linked list grow without
bound) if PRAGMA temp_store=3.
FossilOrigin-Name: 68e26c4487696d194ee85370380e4b0e56d206ee
2011-09-03 00:17:51 +00:00
dan
5134d1357e
Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c.
...
FossilOrigin-Name: 7769fb988d9be0f2d8129aaac19620ac88f9b4a6
2011-09-02 10:31:11 +00:00
drh
c6aff30ca4
Experimental code-generator changes to utilize new opcodes for sorting.
...
FossilOrigin-Name: bab2e560f6cb989c83a96aad60f666960ede7abe
2011-09-01 15:32:47 +00:00
drh
2d36eb43a4
About a 1% overall performance improvement by using a macro to avoid
...
no-op calls to sqlite3MemReleaseExternal().
FossilOrigin-Name: ff71d20a9ed129bd1785a3f7a777ce62098735b7
2011-08-29 02:49:41 +00:00
dan
e6f7bc6379
Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file.
...
FossilOrigin-Name: 1a8498d8037a1b93e56951bbdbb76291bd5a4f87
2011-08-12 16:11:43 +00:00
dan
689ab89781
Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c.
...
FossilOrigin-Name: 4ced2394b10d0a4f86422ff893bcdf3cf32591e3
2011-08-12 15:02:00 +00:00
dan
1e74e602ec
In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory.
...
FossilOrigin-Name: 8051c1767c4386b0f14a66742d9fac41e001eb07
2011-08-06 12:01:58 +00:00
dan
7fe6270b4d
Minor fixes to vdbesort.c code in preparation for a major rework.
...
FossilOrigin-Name: 7f339c0e2655310d7530041c379b082d49ce8c7f
2011-08-02 10:56:22 +00:00
dan
a20fde64eb
Experimental support for speeding up CREATE INDEX commands using an offline merge sort.
...
FossilOrigin-Name: 30dbf0feab0323250404e0741ac2716bcb6b0cbe
2011-07-12 14:28:05 +00:00
drh
124c0b49a1
Refactor the SQL parameter processing so that parameter names for values
...
that are optimized out of the prepare statement are not forgotten.
FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
2011-06-01 18:15:55 +00:00
drh
dc5b047ec3
Fix a performance regression: Keep two btree masks in each prepared
...
statement; one for btrees used and another for btrees that require locks.
Only try to lock the btrees identified by the second mask.
FossilOrigin-Name: 614de91a504d2231009a9de1305e31fce1b1c5a6
2011-04-06 22:05:53 +00:00
drh
e54e051800
Remove the mutex counter and the logic that attempts to verify that btree
...
mutexes are held continuously. We are not making that assumption at this
time.
FossilOrigin-Name: 242ce7cff416a87d57d4eb624cb79fa4e2215559
2011-04-05 17:31:56 +00:00
drh
bdaec52c62
Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish
...
the same result. Add a generation counter to btree mutexes in order to assert
that mutexes are never temporarily dropped over a range of instructions in order
to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe
program that uses OP_ParseSchema.
FossilOrigin-Name: d81708f7d1eee399bfe76f6b8dac950a85dc2582
2011-04-04 00:14:43 +00:00