Commit Graph

1061 Commits

Author SHA1 Message Date
drh ac5e749be8 Minor changes to the core of OP_Column for performance and to clarify the
critical path.

FossilOrigin-Name: 868394761e41b7483a5874426ee052dfb3a9e2be
2012-03-28 16:14:50 +00:00
drh dda5c08bf6 Improvements to comments. Minor changes to code in the hot path of
OP_Column - with the hope of get a few cycles of performance improvement.

FossilOrigin-Name: ca093103437f141caa3eb11539c6eb7b4dd65175
2012-03-28 13:41:10 +00:00
drh a748fdcc43 Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column
without actually loading X and Y from disk.

FossilOrigin-Name: b899dbeb60752843287e2c6ad3577e1d00f0d587
2012-03-28 01:34:47 +00:00
drh a40eb7cfee A simple change that allows the SQLITE_32BIT_ROWID compile-time option to
work better.

FossilOrigin-Name: f9df4063fbd100ce306a89fc649c1860fd801f31
2012-02-24 00:02:28 +00:00
drh 21021a5cbf Add the new SQLITE_ABORT_ROLLBACK extended error code to be returned for
statements that are cancelled due to a rollback.

FossilOrigin-Name: 549f4fd00d8325c10099b100e5202b77ee1d83ad
2012-02-13 17:01:51 +00:00
drh 0f198a7409 Change the ROLLBACK command so that pending statements to not block it. The
pending statements instead return SQLITE_ABORT upon next access.  Note: This
causes separate shared-cache connections in read_uncommitted mode to abort as
well.

FossilOrigin-Name: 9b66c79e054c8a109d1ee8d35fed1c42814c330d
2012-02-13 16:43:16 +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 a451017d62 Data structure cleanup. Remove unused fields. Rearrange other files for
tighter packing and reduced memory usage.

FossilOrigin-Name: 0bc594e861ae1142e8c6c83f39b095e1432856bf
2012-02-02 15:50:17 +00:00
drh 4d0d91666c Only invalidate the schema when the OP_ParseSchema opcode fails, not
on any general failure of a vdbe program.

FossilOrigin-Name: 11f68d997da4aadf3f51c12c5139f3fdda8678bf
2012-01-25 20:43:22 +00:00
drh 3f4aab1cc9 Remove a redundant assignment from the VM.
FossilOrigin-Name: d0dabe2f37b5fa7c2c6bb728b8591af00cdd835b
2012-01-18 01:14:42 +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 b8a45bbdb8 Fix typos in comments. No changes to code.
FossilOrigin-Name: 6827338ecbe43e28da88d919851ebffde9f6d398
2011-12-31 21:51:55 +00:00
drh ec86c724ac Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot,
which is the correct behavior.  Mark trigger registers as initially
invalid.

FossilOrigin-Name: 6a9fb47d5060fe641915f5f99cc9265409a4583b
2011-12-09 17:27:51 +00:00
drh b8475df809 Make no assumptions about the initial state of VDBE registers.
FossilOrigin-Name: 521d72bdf67b4b1972331307345a18c231a6e1d6
2011-12-09 16:21:19 +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
dan 0c733f67d8 Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column.
FossilOrigin-Name: 3b58f5f06648205a47e5cace0201269c406e476a
2011-11-16 15:27:09 +00:00
drh 7abc54021c Avoid a harmless reference to an uninitialized variable following an
error in FTS3.  This is not a bug.  The change is to silence a valgrind
warning.

FossilOrigin-Name: d980c5b22fd700afb3cac5de5501c9350f2f589e
2011-10-22 21:00:46 +00:00
drh 98655a696e Fix the virtual table rename logic so that it works even if the database
encoding is something other than UTF8.
Ticket [8290242b2a9a81683]

FossilOrigin-Name: d65f63531c3f8e3e55e656f049240714a3d7433f
2011-10-18 22:07:47 +00:00
drh 057fc817d7 Change the OP_JournalMode implementation so that it works even if a
substitute sqlite3PagerFilename() that might return NULL is used.

FossilOrigin-Name: 491ff5fb2504173d6905e38b8ea35737338aaa84
2011-10-17 23:15:31 +00:00
drh b07028f71c Add assert() statements and eliminate needless variable assignments in order
to get the clang scan-build utility to report zero problems against the
SQLite core.  Clang's static analysis did find one real problem - but it was
in the command-line shell, not in the SQLite core.

FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
2011-10-14 21:49:18 +00:00
drh 48f2d3b10a Add the new OP_Once opcode. Use it to clean up and simplify various
one-time initialization sections in the code, including the fix for
ticket [002caede898ae].

FossilOrigin-Name: 7f00552b739fad79517b042a6ed61abe743a917b
2011-09-16 01:34:43 +00:00
dan 03e9cfc223 Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module.
FossilOrigin-Name: f115b2303509c678dbe83b2fa3d9c40d82882813
2011-09-05 14:20:27 +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
drh 5a077b741f Small performance improvement to OP_Column.
FossilOrigin-Name: b6b73a747ad8d0f026074e41c2a4adc529ec2674
2011-08-29 02:16:18 +00:00
drh e6f43fc4f8 About a 3% improvement in the performance of OP_Column.
FossilOrigin-Name: edff9d4a995095e555fcc9aec4c56f4bcaa1557e
2011-08-28 02:15:34 +00:00
drh 4a6f3aabca Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken
branch in OP_Column as such.

FossilOrigin-Name: 087dc96086fe4e45da93ab6a0d5dda34c932ce97
2011-08-28 00:19:26 +00:00
dan a205a486d2 Experimental changes to improve the performance of OP_Next.
FossilOrigin-Name: 1a249845251199c00817893add300a1a654b4df9
2011-08-27 18:48:57 +00:00
drh 2a5d9908f9 Create a new pager type, PAGER_SORTER, for use in the external merge sort.
Such pagers are always held in memory but do report when they are under
memory pressure by calling pagerStress.

FossilOrigin-Name: c71d73201d950355862dd8d5de142c9673888755
2011-08-26 00:34:45 +00:00
drh d7f6e906db Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation
to the OP_OpenSorter opcode.

FossilOrigin-Name: 5a690486811379cea40c6ed48b2902f421234832
2011-08-25 18:01:28 +00:00
dan 15bf39034a Merge latest trunk changes into experimental branch.
FossilOrigin-Name: 7e515055f219b01dd72df4e27bdcabfa2f9be5c2
2011-08-12 16:30:30 +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 c6e734554f Change to using packed-memory-arrays instead of b-trees when performing an offline merge-sort for CREATE INDEX. This makes it easier to control the number of disc seeks required when merging.
FossilOrigin-Name: a4770d079c1b236eb54751e75a44cccc997c6b93
2011-08-04 12:14:04 +00:00
drh 52043d7d45 Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when
compiled with SQLITE_DEBUG.  Ticket [d63523637517386191].

FossilOrigin-Name: a2135ad13049c170b33315a949b1544e6a136183
2011-08-03 16:40:15 +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 e1b4f0f177 Pass the BTREE_UNORDERED hint into both sqlite3BtreeOpen() and into
sqlite3BtreeCreateTable().

FossilOrigin-Name: 591de898f41630156cc0fc6ef17dd3ee5e7c479f
2011-06-29 17:11:39 +00:00
drh ef8662bb65 Fix more documentation typos.
FossilOrigin-Name: b9cbab739a62f497545161f30195272f4e687a7f
2011-06-20 21:47:58 +00:00
dan 5f84e14add Fix a memory leak that can follow an OOM error in a user-function that uses sqlite3_set_auxdata().
FossilOrigin-Name: 0185c4b689d18d66e6aa39b4a7bddc279e3c9d17
2011-06-14 14:18:45 +00:00
drh be07ec582e Fix an #ifdef of SQLITE_OMIT_VIRTUALTABLE that had an extra "_" character.
FossilOrigin-Name: 93e0be2bbf16d66d97ea7344187139d254b11cc3
2011-06-03 12:15:26 +00:00
drh 04e9eeadc6 Avoid unnecessary duplication of SQL parameter names.
FossilOrigin-Name: e704e8690ae35decc9769a45cf8d519ccad8b79d
2011-06-01 19:16:06 +00:00
drh c3f1d5f095 Minor performance improvements.
FossilOrigin-Name: f9950c6af1813f724dacd7455f472acec921b06a
2011-05-30 23:42:16 +00:00
drh 21f80f0478 Fix a "#ifdef" from check-in [03f7d36a8a] that should have been "#ifndef".
FossilOrigin-Name: edb865c35415f9553f8279028120f7b8de2bf7e2
2011-05-28 19:24:15 +00:00
drh 305ebab7cc Changes to work with SQLITE_OMIT_VIRTUAL_TABLE.
FossilOrigin-Name: 03f7d36a8a24825b7542b5fed651af1622ae4eb5
2011-05-26 14:19:14 +00:00
drh 346506f97b Changes to savepoint in virtual tables for simpler and more consistent
operation.

FossilOrigin-Name: 92f26a8b8f18832cb1f8ba7dd8e5b020e71a5883
2011-05-25 01:16:42 +00:00
drh a24bc9ced3 Make sure the savepoint index is correct one calls to sqlite3VtabSavepoint
with SAVEPOINT_BEGIN.

FossilOrigin-Name: a9d095660ca0e99b226e0fe669c11a0be6c49710
2011-05-24 00:35:56 +00:00