Commit Graph

9446 Commits

Author SHA1 Message Date
shaneh 3a2d29f8f4 Changes for consistent use of SQLITE_OS_UNIX and removal of legacy OS_UNIX from testfixture source;
FossilOrigin-Name: 78b6eee200cab363be520d771375e44898f80e01
2011-04-04 21:48:01 +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 9bbc2e283e Minor comment typo corrections. Simplify an assert. No functional changes.
FossilOrigin-Name: 82c2316240345167a571507d9392dfb6445ef523
2011-04-04 20:40:22 +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
dan f32021de6f Merge test_syscall.c fix from the trunk.
FossilOrigin-Name: 1e1a23cc56563d512b28288256c34f05ea15b4aa
2011-04-04 14:05:39 +00:00
dan 68db57b691 Have test_syscall.c include "sqliteInt.h". Otherwise the SQLITE_OS_UNIX symbol may not be defined correctly.
FossilOrigin-Name: fda8fadd837e399d3fab7a9e6894617a5788d679
2011-04-04 14:03:58 +00:00
drh b6ee66072e Rename sqlite3SchemaFree() to sqlite3SchemaClear() to more accurately reflect
its function.

FossilOrigin-Name: 71d7440023f67760d0bff4bd7459fe88bd226f30
2011-04-04 13:40:53 +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 dfdc48e157 Suppress unused parameter warnings in sqlite3VdbeEnter() and related routines.
FossilOrigin-Name: f8e98ab3062a6e56924a86e8f3204c30d0f3d906
2011-04-04 03:27:16 +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 4fa7d7c0df Fix typos in comments. No changes to code.
FossilOrigin-Name: 28c5f12e98655d5c6167b13e8a15085eca43dd5b
2011-04-03 02:41:00 +00:00
drh 069d32592d Merge in the latest changes from trunk.
FossilOrigin-Name: 0d99229a7a58da07748072326f6261c533c1958f
2011-04-02 20:08:10 +00:00
drh 6412358526 Change the name of the "tAttachMask" datatype to "yDbMask".
FossilOrigin-Name: 3d6f2e82358c0d8c0ca04e0da20b84fc65c3f7fa
2011-04-02 20:01:02 +00:00
dan 51438a7936 Avoid returning SQLITE_NOTFOUND when the unix xSetSystemCall interface is invoked with NULL passed as the second argument, even if all the default system calls are already installed.
FossilOrigin-Name: 3b91eaaa0b3c25022332ba3d1a5651848fc5d84c
2011-04-02 17:00:47 +00:00
drh ff2e14b93f When resetting any non-TEMP schema, also reset the TEMP schema since it might
be holding references to the non-TEMP schema that just got reset.

FossilOrigin-Name: 211d5dde1f9c15048c65d1d700141aa7b2491011
2011-04-02 16:50: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 70586beb3d Add the "wholenumber" virtual table module to the test suite - useful in
populating tables with many rows of content prior to a test.

FossilOrigin-Name: 975dff155bd9db42f2b6855b24c861852bb7a201
2011-04-01 23:49:44 +00:00
drh f5a8a917ee Merge the word-fuzzer branch into trunk.
FossilOrigin-Name: f77609d44194ee8871b3fb281ea6b90a9182f69f
2011-04-01 20:47:27 +00:00
drh 1b05c423fe Add additional test data and documentation to the fuzzer virtual table.
FossilOrigin-Name: a6a81d4fdafabba514e8f8e1958d6132b3850772
2011-04-01 20:28:31 +00:00
drh d820b42c29 Merge the multiplexer enhancements back into the trunk.
FossilOrigin-Name: 2c125710cbf04198464d436b16e5ef37c5b219cf
2011-04-01 18:39:24 +00:00
dan f18749542f When simulating an error in the close() system call, close the file descriptor anyway. Otherwise long running tests leak too many file-descriptors and crash.
FossilOrigin-Name: 81ddbf43366c18ebdd46558d6a0fbee2ce6a4c4e
2011-04-01 16:50:07 +00:00
dan be53500356 Ensure that it is not possible to add a column to a system table using ALTER TABLE.
FossilOrigin-Name: d9707ef8dcd29667b6d366897f6ad02c87aa0041
2011-04-01 15:15:58 +00:00
drh 295867bd55 Merge the ANALYZE-index enhancement into trunk.
FossilOrigin-Name: 7e237aea22084416d02b89d5223de4e1ca76882d
2011-04-01 14:26:14 +00:00
shaneh 3801b65d62 Removed dependency on sqliteInt.h so that multiplex VFS shim can be compiled as loadable module.
FossilOrigin-Name: 718f1ad7df9115871ba6159012d3183183fc40a1
2011-04-01 14:22:46 +00:00
drh 026663d305 Move a variable declaration inside an #ifdef to avoid a compiler warning.
FossilOrigin-Name: 7a6d05dfbc36310683dd51a280e9283cef4f9056
2011-04-01 13:29:29 +00:00
dan ea83bc614e In os_unix.c, do not return SQLITE_BUSY to SQLite following an error in fcntl(F_UNLCK), regardless of the value of errno.
FossilOrigin-Name: ff6dfe6ed74f9ff1669b2bda41d61a01cd0a1bc6
2011-04-01 11:56:32 +00:00
dan 211fb08433 Fix some problems in os_unix.c when compiled with ENABLE_LOCKING_STYLE on OSX. Also some minor issues with test scripts.
FossilOrigin-Name: 8088031bc949bd4efb5edf33bbd1bce5700fca56
2011-04-01 09:04:36 +00:00
drh ce62d93837 Fix two compiler errors associated with non-standard compile-time options.
FossilOrigin-Name: e3bf2d5ce4f87535e030a446e03d911f421805f7
2011-04-01 02:26:36 +00:00
drh 76a32a81e4 Fix a compiler warning and an unreachable branch. Restore 100% branch test
coverage.

FossilOrigin-Name: 4dc148bb4cec5ecba167cdcb4959a4f0fa05a96f
2011-04-01 01:38:02 +00:00
shaneh c27fa4b074 Enable/disable support.
FossilOrigin-Name: b3c6d9aa9e2124a2f2a1a5f9dbbd7db3b1d01a31
2011-03-31 15:11:53 +00:00
shaneh d8ce22bbb7 Tests and bug fixes for SELECT multiplex_control(op, val);
Add tests and fixes for SELECT multiplex_control(op, val);

FossilOrigin-Name: fee9734c193a8bec9599e02e16938179e642bf5e
2011-03-31 13:14:12 +00:00
shaneh 78c4de4c71 Additional test cases; Round chunk size up to a multiple of max page size;
FossilOrigin-Name: 36e364a3fe7d3a9a521189ff0262611a492c21dc
2011-03-31 05:31:24 +00:00
drh a071bc5dba Change the ANALYZE command so that it will accept an index name as its
argument and only reanalyze that one index.  A quick smoke-test works.
Need to study the implications to the query planner and test corner cases.

FossilOrigin-Name: c8f9edd962442cbdd848c48f1a134557ab8c6ef5
2011-03-31 02:03:28 +00:00
shaneh ac039688d2 Updates to multiplex.test script; misc. bug fixes;
FossilOrigin-Name: c41ff2358e8af0fe2186ab4173b81fba204a57ab
2011-03-30 21:03:07 +00:00
dan 661d71af8c Further tests for os_unix.c.
FossilOrigin-Name: a84f7711949ea3885b0e36e48118d2c76a8a5b82
2011-03-30 19:08:03 +00:00
drh f6cf1ffb39 Do not generate sqlite_stat1 entries for empty tables when running
ANALYZE.  Ticket [83ea97620bd31016451]

FossilOrigin-Name: 3a27af5b3c688c651ba1fae261026ef77b7ff5e3
2011-03-30 14:54:05 +00:00
drh 2a0e00b436 Move to an O(NlogN) algorithm for the priority queue. An insertion sort
was way too slow.

FossilOrigin-Name: 7958cbba736a599c1293b06602eec43dfe4fd7d1
2011-03-30 01:43:00 +00:00
drh f938a87cfd Add support for rowid.
FossilOrigin-Name: 2cf4158ff051916717fc2c0f4b6332d5f6ea6e3d
2011-03-29 23:41:31 +00:00
dan 5ef47bf002 Add tests to syscall.test and sysfault.test.
FossilOrigin-Name: 3d2de011814002e2e25b7645f94ff8fc7aab9cdd
2011-03-29 18:28:35 +00:00
drh c8e27ab5da The first simple test-case appears to be working now.
FossilOrigin-Name: dd41155bc7459cafc1a2d5c75233193abfbac05d
2011-03-29 18:21:59 +00:00
dan 60939d0ade Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on.
FossilOrigin-Name: dbe569a099c2855480e35c0cc4d9332821ad80da
2011-03-29 15:40:55 +00:00
drh d6ee353c84 If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT
column for an index, then use that index for equality lookups only, never
for range queries or sorting.

FossilOrigin-Name: 3b964155f611c437d53d44feafa22f531942b1b4
2011-03-29 15:00:17 +00:00
drh 72384dc28f Further improvements to the fuzzer. It still is not quite working. Pausing
to work on other things....

FossilOrigin-Name: 5f2f2fce40f43debeb0492c9b460b85c7dad2bde
2011-03-29 14:08:09 +00:00
dan 0fd7d86081 Fix a problem in the unix VFS implementation of xNextSystemCall(). Also some typos that prevent compilation when HAVE_POSIX_FALLOCATE is defined.
FossilOrigin-Name: bc6cce81565b17f886478bd51500bba2ed11ec1d
2011-03-29 10:04:23 +00:00
shaneh d50deeeb7a In-progress changes - do not use; Removed prefix support; Added file control interface to enable/disable and adjust chunk size;
added app-def function for same;

FossilOrigin-Name: bc02d0c193225bd49a8d8a3295aeac752d3c2e30
2011-03-29 05:06:46 +00:00
drh 278479c1a5 Fix the documentation for the sqlite3_column_*_name() functions to describe
that the information can be invalidated when a prepared statement is 
reprepared by the first invocation of an sqlite3_step() for a particular
execution cycle.

FossilOrigin-Name: 7270f80ac5dd17b979f1f790b2dfcf811866c1dc
2011-03-29 01:47:22 +00:00
dan 213ca0a8cf Add test infrastructure (and some tests) to inject faults into os_unix.c using the new xSetSystemCall interface.
FossilOrigin-Name: 0e1d20dfaeea5ab285d16aa4b8f02b61b1d2bc10
2011-03-28 19:10:06 +00:00