Commit Graph

9496 Commits

Author SHA1 Message Date
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
6825719667 Fix a few harmless compiler warnings. Add SQLITE_ENABLE_STAT3 to the
standard compiler warning script.

FossilOrigin-Name: 3d68f9afee02f95103eb1682b8f2362f8d249437
2011-08-16 17:06:21 +00:00
drh
8c2cd5dac5 Allow the sqlite3VdbeJumpHere() routine to accept a negative or zero address
if a prior memory allocation error has occurred.  The new sqlite_stat3 logic
needs this.

FossilOrigin-Name: 9650d7962804d61f56cac944ff9bb2c7bc111957
2011-08-16 02:07:04 +00:00
drh
461728d3d0 Add the analyze8.test test module for sqlite_stat3.
FossilOrigin-Name: 2c83ac89dc5a6017587defb541c9f3731b98892a
2011-08-16 01:15:12 +00:00
drh
ad2148da00 Updated comments on the multiplexor extension. No changes to code.
FossilOrigin-Name: 0f42ef697e197d193867c0d6be3c9cf6471488c6
2011-08-15 19:44:30 +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
drh
96e5088cda New makefile target "sqlite3-debug.c" builds an amalgamation that include
appropriate "#line" macros relating the code back to the original source
files.

FossilOrigin-Name: 26f2da24b080bf89e3574bd1a162eb1fead51456
2011-08-15 15:27:20 +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
drh
50a1c56a2e Update some test cases to work with sqlite_stat3 instead of sqlite_stat2.
FossilOrigin-Name: 2504bcfb0cf14b5ce51db0af1269ac28384714e0
2011-08-15 12:58:23 +00:00
dan
23e7c4de7b Fix a couple of typos in comments in analyze.c.
FossilOrigin-Name: ae31dc67aa0637150f964de31a6da6f5797b462a
2011-08-15 12:02:21 +00:00
drh
4e50c5ec48 Further testing and bug fixing for sqlite_stat3. Added the Index.avgEq
field to index statistics.  Fixed several problems in the query planner
associated with stat3.

FossilOrigin-Name: 89b2f70884cad0abdf4c66cb64ecddb2820ded74
2011-08-13 19:35:19 +00:00
drh
f404c86ad7 Add the sqlite_stat3.nDLT field. Use an linear congruence PRNG to choose
which samples to select from among those with the same nEq field.

FossilOrigin-Name: 1dcd24283e6c1cc638eb9ffac434046447f88769
2011-08-13 15:25:10 +00:00
drh
fdd7f71ef4 Fix the header comment on the implementation of the
file_control_sizehint_test TCL command in test1.c.

FossilOrigin-Name: 309198085f255fc1fcc7bf28fd38d016d5a536ab
2011-08-13 10:47:51 +00:00
drh
ade3addfb5 The ANALYZE command picks for 15 samples for sqlite_stat3 with the largest
nEq fields, plus 5 other evenly spaced samples.

FossilOrigin-Name: 8225924ea015a0c331b69134139922ec83f989f8
2011-08-13 00:58:05 +00:00
dan
7b14e59bfd Merge the experimental changes to use a merge-sort when creating an index into the trunk.
FossilOrigin-Name: 346a453d1f1d615f1e9e7923a27dad84b8727fb1
2011-08-12 16:47:12 +00:00
dan
a9f39fde23 Update Makefile.in and configure to account for new source file vdbesort.c.
FossilOrigin-Name: 69e4b41de22968c565c6575707a73956e3b20ff4
2011-08-12 16:34:42 +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
262765a74e Add tests to improve coverage of vdbesort.c.
FossilOrigin-Name: 87a15917d7d88285054e2a319506dd4a0cac9722
2011-08-12 11:59:57 +00:00
drh
faacf17cc1 Begin a branch that experimentally replaces sqlite_stat2 with a new table
called sqlite_stat3 that will hopefully facilitate better query
planning decisions.

FossilOrigin-Name: 52e1d7e8ddd4bb5ef3a9d00fd2d719a8a784f807
2011-08-12 01:51:45 +00:00
drh
90315a2417 Make the openDirectory routine in os_unix.c overrideable so that it can
be turned into a harmless no-op for the chromium sandbox.

FossilOrigin-Name: 6b236069e1ea3c99ff0a007a790d4baebda70b13
2011-08-10 01:52:12 +00:00
drh
f6cee7d100 Add command-line utilities "offsets.c" and "extract.c" for use in
low-level analyzsis of database files.

FossilOrigin-Name: dfa22ed4387f9526b74d5265503c7c8e9d559903
2011-08-09 18:14:36 +00:00
drh
0059eae367 In os_unix.c, do not open the directory containing the database file when
the database file is opened.  Instead, wait until time to fsync() the
directory.  And do not report an error if the open fails, since some
systems (Ex: AIX and a chromium sandbox) are unable to open and fsync
directories.

FossilOrigin-Name: 713b1b7dc1296e9cee42aeaad8c85528155f721d
2011-08-08 23:48:40 +00:00
drh
036ac7fa90 Allow the unlink() system call to be overridden in os_unix.c.
FossilOrigin-Name: 8d1b5c3ac027ac00d57a250aad45230a09645617
2011-08-08 23:18:05 +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
drh
a5ae4c330b Remove relevant elements from the sqlite_stat2 table when doing a DROP
INDEX or DROP TABLE.

FossilOrigin-Name: 3c8f97ae527e380bf2583c7cf8ceac9509f29bfe
2011-08-07 01:31:52 +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
drh
f9042e9682 Merge the winopen-retry-logic branch into trunk. The biggest change here
is to test scripts, which should now use such as copy_file and
delete_file from tester.tcl rather than the raw file commands of TCL.

FossilOrigin-Name: b90c28be3840169651022ef36cd7cf416bc22305
2011-08-03 22:06:39 +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
mistachkin
85e444cab4 Add explanatory comment to the win32lock-2.2 test case.
FossilOrigin-Name: 4cb17881d9676fa3359394391b9ba53f08e5809a
2011-08-02 23:45:53 +00:00
mistachkin
176f1b47e5 Correct subtle timing issues in the win32lock test cases and in the lock_win32_file Tcl command. Also, eliminate superfluous MSVC compiler warnings.
FossilOrigin-Name: 7baf02946e14eb889d864984ff3b3822aad8a3c9
2011-08-02 23:34:00 +00:00
mistachkin
1b466a605d Fix missing info exists check for win32lock-2.2 (the one previously applied to win32lock-1.2).
FossilOrigin-Name: 8a52698e642f40a32d09a6a00b63f25ac38f3fda
2011-08-02 20:19:48 +00:00
drh
8b0228f1a6 Exclude the 8_3_names.test script from the inmemory_journal permutation.
FossilOrigin-Name: 78fc94c8d1229a8bdc9390e98b53c57aeef7fc46
2011-08-02 20:14:55 +00:00
mistachkin
5ea4298c81 Replace the missed 'file copy' in malloc_common.tcl with copy_file.
FossilOrigin-Name: cd20b4ef6020c0cffe918362afc2b491fb95eb92
2011-08-02 20:03:36 +00:00
drh
6c486cbce2 Merge in the permutation changes from trunk.
FossilOrigin-Name: b30a5e307fd5485d23e4c4f8ed1c47525a0fe6d3
2011-08-02 20:01:06 +00:00
drh
82be3b03a8 Also exclude backcompat.test from inmemory_journal since inmemory_journal
is not compatible with WAL mode.

FossilOrigin-Name: 861a5b62430d0ada07a46d0e394fcf0b0faab1cd
2011-08-02 19:59:39 +00:00
drh
ba2019ffae Merge the latest trunk changes into the winopen-retry-logic branch.
FossilOrigin-Name: 8bef97a0eb2f56d0ac374d97e97e0a44c7f99aee
2011-08-02 19:42:38 +00:00
drh
d88d10566c Omit backcompat.test from the journaltest permutation because it uses WAL
mode which is incompatible with journaltest.

FossilOrigin-Name: 2bbf3150a4b7108e88ed81c1d40af6f06089e148
2011-08-02 19:30:20 +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
drh
b4256996c4 Make sure IS NOT NULL constraints work on virtual tables.
Fix for ticket [6c14288a473ceff].

FossilOrigin-Name: a55f4ab99952a731e4cd8f6ef17389062e5ed4c5
2011-08-02 01:57:39 +00:00
mistachkin
fda06befd5 Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried.
FossilOrigin-Name: 9007586fdabed8dbcc78581ea9821cfd1f9a4c8c
2011-08-02 00:57:34 +00:00
drh
c8eee5e5e1 Fix a (humorous) typo in the lemon documentation.
FossilOrigin-Name: ed630b012f468d6779b83dd8c4dbf3a8dafee573
2011-07-30 23:50:12 +00:00
mistachkin
5b7f786e7e Merge changes for the new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes.
FossilOrigin-Name: 1b56677bdfb102d070a2057a65ba424fec81131d
2011-07-28 20:48:38 +00:00
mistachkin
4e6b49b409 Remove redundant sub-expression from retry loop invariant in winAccess. Also, make check for SQLITE_ACCESS_READWRITE formally correct.
FossilOrigin-Name: 93079a92c49edf72eb289f352cd5ed7ab2faaff3
2011-07-28 19:16:41 +00:00