Commit Graph

6721 Commits

Author SHA1 Message Date
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 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
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 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
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
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 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
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 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
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
mistachkin e75a717dc8 Fix conditional for retry logic in winAccess and add missing call to logIoerr.
FossilOrigin-Name: 8a145863d1a8711953ae72d706404fb96f6fec06
2011-07-28 07:34:44 +00:00
drh 58384f1720 Use osStat() instead of stat() consistently in os_unix.c
FossilOrigin-Name: 9109128cb5640d687251dfbefa2fd998063cd9fb
2011-07-28 00:14:45 +00:00
drh 253cea5c6f Test cases added. Fix the query mode.
FossilOrigin-Name: a9d8794ae949df570466a84836882bc8bed95c7c
2011-07-26 16:23:25 +00:00
drh f0b190d94c Prototype change for a new sqlite3_file_control() that will cause the
-wal and -shm files to persist after the last database connection closes.

FossilOrigin-Name: e34c553bf04761e86f3bd72f91439c05886caa5c
2011-07-26 16:03:07 +00:00
drh 7d2dc7156c Enable the SQLITE_FCNTL_SIZE_HINT on unix even if SQLITE_FCNTL_CHUNK_SIZE
has not been set.

FossilOrigin-Name: 05c9832e5f6eb705f1dce4e65cf4e2d56512ff6b
2011-07-25 23:25:47 +00:00
drh 5d22e41f2d Merge the winAccess retry logic from the anti-antivirus branch
into the trunk.

FossilOrigin-Name: 08d0e8799e1441ef063b1cdf9e4107071a0f81ca
2011-07-23 13:54:34 +00:00
drh 11cce77042 In the multiplexor, close auxiliary files before deleting them when doing
a truncate.

FossilOrigin-Name: 6fb7cfc2efb32dd5c8921a90b853390bc44d4794
2011-07-23 13:11:02 +00:00
drh fdf6db12a4 Add retry logic for AV defense to winAccess(). Also allow OS tracing to be
enabled by a compile-time option.

FossilOrigin-Name: a6b85c73406caa3bf0585341c8ebc9897a1884f4
2011-07-22 21:25:57 +00:00
drh b51bf43966 Compile with the SQLITE_ENABLE_8_3_NAME macro set to 2 to force 8+3 filenames
to be on all the time.

FossilOrigin-Name: ae83dac70173fecf203bf7e9f7bcb189d3e48f08
2011-07-21 21:29:35 +00:00
drh e6deb20458 All multiplexor chunk sizes up to 4GiB. Disable the multiplexor if the
chunk size is set to 0.

FossilOrigin-Name: 83191ad6f31536b0c1929938e1fbeb4cf6121ab0
2011-07-21 20:59:58 +00:00
drh 0a0ca697d8 For an existing multiplexed database, try to set the chunk size automatically
based on the sizes of the preexisting pieces.

FossilOrigin-Name: 427a9a5120a68bfa12fec97cfd02eb9b28b3fa6b
2011-07-20 17:59:38 +00:00
drh 877eeb3b56 All the SQLITE_OPEN_URI flag to propagate down into the VFS.
FossilOrigin-Name: 29866f9598502a007816410fade34f1d0952dea0
2011-07-20 17:13:30 +00:00
drh f3717af48d When the multiplexor opens an auxiliary file, it now persists the name of that
file until it is closed, as it should.  Remove the limit on the number of
auxiliary files used by the multiplexor.

FossilOrigin-Name: 1ffa542bf913200a18ef77447aec4fc3ca1ed618
2011-07-20 16:35:31 +00:00
drh 8efdb73256 Formatting changes on the multiplexor code - make sure no lines exceed 80
characters.  No logical changes.

FossilOrigin-Name: ed5f0aad6b21066bacd01521e82c22e96991f400
2011-07-19 18:29:00 +00:00
dan 33067e7393 In os_unix.c, check if the ESTALE macro is defined before using it.
FossilOrigin-Name: 87017410f2fc3f2ae15ef06714563ba9ad4350c7
2011-07-15 13:43:34 +00:00
drh bf4ec555fa Do not try to use STAT2 to refine the row estimate of a query that
uses a unique or nearly-unique index.

FossilOrigin-Name: efffc49baf38698ed3de05d16b4261bf405d42d7
2011-07-13 18:31:10 +00:00
drh d0cdf012a2 Added the SQLITE_FCNTL_WIN32_AV_RETRY file control for configuring the
retry counts and delays in the windows VFS.

FossilOrigin-Name: 7aaf0a6ae1238129e07eb191ca3f043df445e27a
2011-07-13 16:03:46 +00:00
mistachkin dc9e9587c6 Revise logic in winDelete to check the file prior to attempting to delete it.
FossilOrigin-Name: 36f11acc531a524407e03c797a6a1bcf88bad809
2011-07-12 14:02:47 +00:00
drh a32ad8434e Improvements to the logging that occurs on an antivirus I/O retry.
FossilOrigin-Name: ff0ff75c3559f5bbe29c73204cc8ff1cb80f42cb
2011-07-12 13:51:05 +00:00
drh 52564d7002 Update the anti-virus retry logic for DeleteFile(). Invoke sqlite3_log()
for each anti-virus retry.  Make the retry delay configurable at
compile-time.

FossilOrigin-Name: 89f1848d7f7d98b4f7da9218f99ed90d22dd43a8
2011-07-12 11:04:18 +00:00
drh 80084ca8e8 Update the TCL commands for setting windows manditory locks.
Add test cases for manditory lock delays under windows.

FossilOrigin-Name: 03af4c175c6ba303ec0a5be25fd42771e38f7347
2011-07-11 23:45:44 +00:00
drh 5d9ef0a612 Change the windows backend to retry read and write requests if the encounter
ERROR_LOCK_VIOLATION and ERROR_SHARING_VIOLATION errors - which we think
sometimes happens due to agressive anti-virus software.

FossilOrigin-Name: c20aca06610407c197ea50ea77c2591aacf2252a
2011-07-11 18:17:56 +00:00
drh ec661058dd Fix harmless compiler warnings on unix.
FossilOrigin-Name: 90b1aea17400bbda5ebc8ae4eb4e12127519e42e
2011-07-09 16:17:18 +00:00
drh f1d3e32909 In where.c::findIndexCol - make sure that the Expr.op is TK_COLUMN before
accessing the Expr.iColumn and Expr.iTable fields.  Also fix a couple of
unreachable branches.

FossilOrigin-Name: 418a4da2a96cf33055f18c9a667754fad2111cf3
2011-07-09 13:00:41 +00:00
drh 6f25e89d27 Change the default chunk size on test_multiplex.c to 2147418112 bytes
(formerly 1073741824 bytes) and make the default configurable at compile-time
using SQLITE_MULTIPLEX_CHUNK_SIZE and at run-time using the "chunksize"
URI query parameter.  Add support fo test_multiplex to the shell.

FossilOrigin-Name: e305b5a931374e2a1d2e66ea0a1248b9d4aecb19
2011-07-08 17:02:57 +00:00
dan da79cf0cc9 Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries.
FossilOrigin-Name: 9f14fa56ba31afe3de8b0cf26ed09573a2cc2283
2011-07-08 16:10:54 +00:00
drh a9b1b91436 Extend the SQLITE_TESTCTRL_OPTIMIZATIONS option to disable DISTINCT
optimizations.

FossilOrigin-Name: 18501dd1a8aa8299c091c36e35b9a10a29d4467b
2011-07-08 13:07:02 +00:00
dan e7152dc76b Add a target to main.mk that will fail if the amalgamation contains any exported symbols that do not begin with "sqlite3_". Run this target from within releasetest.tcl. Add "static" to a couple of private functions in mem3.c.
FossilOrigin-Name: a68b6580c7d436c896a644a475cdba33c2c8d6e6
2011-07-07 08:19:16 +00:00
dan b0a43057fb Expose the value of compile time symbol SQLITE_MAX_DEFAULT_PAGE_SIZE to test scripts.
FossilOrigin-Name: 335736637c4ac3fe56a44fe01d4c037aaefa916a
2011-07-06 09:36:59 +00:00
drh b24d83fb35 Add a testcase macro to ensure testing a boundary case in DISTINCT processing.
FossilOrigin-Name: ff9fc722dc481df1ce6a9733db1f033b88141d5d
2011-07-02 19:12:05 +00:00
dan 969e5595e8 Ensure that automatic indexes are only created in scenarios where they may be used more than once.
FossilOrigin-Name: 27c65d4d9c58bfc4ea8f9337fa15090459fb26c5
2011-07-02 15:32:57 +00:00
dan 94e08d92f9 Fix a broken assert() in where.c.
FossilOrigin-Name: 090b29177fbc9faa83b560d92ddc3710d291776e
2011-07-02 06:44:05 +00:00
dan bac8158a85 Merge latest trunk changes with experimental branch.
FossilOrigin-Name: e56be74eabc03d1a524d96aa4e87102dea4e348e
2011-07-01 18:43:13 +00:00