drh
96862072b8
Avoid using uninitialized variables after failures in the merge sort code.
...
FossilOrigin-Name: 2869ed28299b1c9f355ecc24635830f7f1249126
2011-08-31 23:57:22 +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
88caeac774
Fix some harmless compiler warnings.
...
FossilOrigin-Name: 46f5a68bfa4199a4bd398030bf88bfbb4df3d5ca
2011-08-24 15:12:08 +00:00
drh
9da058bb5c
Use OP_Sort rather than OP_Rewind in order to sort the content of a new
...
index on the CREATE INDEX statement. Add an ALWAYS() to the merge sort
logic to document an unreachable branch.
FossilOrigin-Name: f01766f42342f043bf0cbe1e07224963011f01b7
2011-08-17 00:40:58 +00:00
drh
71ec5078c4
Fix an assert() in the merge-sort logic to account for I/O errors.
...
FossilOrigin-Name: c1daa809a17a97610e51f9babd90f36908921245
2011-08-15 15:37:15 +00:00
dan
9d71142c9c
When opening a temporary file to use in a merge-sort, pass SQLITE_OPEN_TEMP_JOURNAL instead of SQLITE_OPEN_TEMP_DB. This is a better fit, as merge-sort files are written and read sequentially like journal files.
...
FossilOrigin-Name: bd04756b66e343a7bc6c8bbed9e5cff7b9658d01
2011-08-15 14:41:01 +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
bf09093f64
Remove redundant parameter from vdbeSorterInitMerge() in vdbesort.c.
...
FossilOrigin-Name: eec8c0df075d3a54ad71a2854b170f3ed307d068
2011-08-08 19:26:13 +00:00
dan
5279112ea3
Add fault-injection and other tests (and fixes) to improve coverage of vdbesort.c.
...
FossilOrigin-Name: 0e6defa6aa540b413ea3f4bb6dcd86364d547067
2011-08-08 16:44:25 +00:00
dan
01204728f1
Fix a problem with building large indexes introduced by the previous commit.
...
FossilOrigin-Name: 038ec9ea92f7661358580d999adc400da14d47f0
2011-08-06 15:09:33 +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
f834eff2f0
Minor internal changes to vdbesort.c. Also, default to merging lists together 16 at a time.
...
FossilOrigin-Name: 9ddc324a34dbf97acef92eef21f8a35f63db4c5b
2011-08-05 11:49:12 +00:00
dan
f25eef9882
Fix a comment in vdbesort.c.
...
FossilOrigin-Name: db8518cab8e329b1dbe4cd6c81b21ef3ea69fcb1
2011-08-04 18:43:37 +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
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