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
drh
99a66928c2
Make arrangements so that virtual table inserts into shadow tables do
...
not modify the sqlite3_last_insert_rowid() return. Document that this
is how sqlite3_last_insert_rowid() works.
FossilOrigin-Name: e569f18b989aef853c9d71eaf73d6967f0a8c583
2011-05-13 18:51:42 +00:00
dan
ff4ec04240
Merge latest trunk changes with uri branch.
...
FossilOrigin-Name: af279f367e01732560b8b2b6aeb5ede4f04415dd
2011-05-04 17:35:12 +00:00
dan
d9495cd0c6
Fix problems related to savepoint rollback and fts3.
...
FossilOrigin-Name: ff69f823f23e6fb6e8b2857c4576d9c0732d9572
2011-04-27 12:08:04 +00:00
dan
a311b80392
Extra tests for fts3. And fixes for conflict-handling related problems in fts3.
...
FossilOrigin-Name: fb4a355871d9482ccb28b6ba03b842b3cc87b696
2011-04-26 19:21:34 +00:00
dan
b061d058cb
Add support for on conflict clauses to fts3/fts4.
...
FossilOrigin-Name: 6d2633a6d0a9bb88fb1a6adac0827dc51df2d4d2
2011-04-25 18:49:57 +00:00
dan
3a6d8aec2a
Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do.
...
FossilOrigin-Name: 68240e75e87a54cde93352b0ec364d34365a8170
2011-04-23 15:54:54 +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
fcd71b6010
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons
...
within asserts or unused parameters in extensions.
FossilOrigin-Name: 3eeb0ff78d04891b5fd1a3d99a9fb8cfbed77a81
2011-04-05 22:08:24 +00:00
drh
8d4991e7ba
Remove dead code from the OP_JournalMode opcode in the VDBE.
...
This code seems to have been useless since [f88c6367d2] on [20010-08-07].
FossilOrigin-Name: a89f24e2c9591d09cbe329895ceec87885059184
2011-04-05 18:34:10 +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
cdf011dcc4
Additional schema mutex checks for sqlite3RootPageMoved().
...
Reduce the scope of sqlite3ResetInternalSchema() in a few places.
FossilOrigin-Name: 39c00907833413c0d97d3e06fdda967b825d23ea
2011-04-04 21:25:28 +00:00
drh
2120608e0f
Add a description of access rules for the Schema object and lots of asserts
...
to verify that the access rules are followed.
FossilOrigin-Name: ae8374af057b6e6546e9265148cfffe32fcb0849
2011-04-04 18:22:02 +00:00
drh
e038f852c8
Merge in the latest changes from trunk.
...
FossilOrigin-Name: 47b79c40cf07048f682c44bfef533d4764b20c4d
2011-04-04 13:07:02 +00:00
drh
7b94e7f838
Move the expired-statement test for OP_Function until after all memory has
...
been freed. The test is still commented out, however.
FossilOrigin-Name: 425e3edb146c497817855dd741878709a25c8b98
2011-04-04 12:29:20 +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
drh
dddd779b2b
Make sure that the constant 1 is cast to yDbType before shifting to create
...
an attached database mask. This check-in is a follow-up and fix to the
[7aaf8772274422] change that increases the maximum number of attached databases
from 30 to 62.
FossilOrigin-Name: e2a09ea73c76a0bec1e09d1fc11092517e3ebdf9
2011-04-03 18:19:25 +00:00
drh
c7792fa052
Begin a series of changes designed to reduce the scope and frequency of
...
invalidating schemas. Design goals are that the internal schema should
never be deleted out from under a prepared statement that is running and
that all prepared statements should be expired if the schema is invalidated.
At the same time, minimize the number of schema invalidations. This change
merely revises the sqlite3ResetInternalSchema() function to use -1 as the
wildcard for "all" rather than 0, so that we can reset the main schema
independently of all the others.
FossilOrigin-Name: 6a8ad6e31e0d2b8a5ace38faf0efd805155ee5f3
2011-04-02 16:28:52 +00:00
dan
6c15487b7e
Fix a race condition in OP_ParseSchema.
...
FossilOrigin-Name: 71a799b02a3b3cf2e12758dea29fd2465bbec3e1
2011-04-02 09:44:43 +00:00
drh
22645842a4
The changes to fix [f7b4edece25c9948] mean that the schema is always loaded
...
whenever a prepared statement is running. This means that a couple of
branches can be eliminated and one operand of OP_ParseSchema can be removed.
FossilOrigin-Name: b6e268fce12829f058f1dfa223731ec8479493f8
2011-03-24 01:34:03 +00:00
drh
c2a75551ef
Add a generation counter to the Schema object and enhance OP_VerifySchema
...
to also check the Schema generation. Fix for
ticket [f7b4edece25c99].
FossilOrigin-Name: 36c04dd1695f0899b53ce58738181b146fc005ed
2011-03-18 21:55:46 +00:00
drh
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00