Commit Graph

5204 Commits

Author SHA1 Message Date
dan 3df3059252 Extra tests for commit [0f250957].
FossilOrigin-Name: 5aa522dcb9bfa18d49683f7cc889516984e2bcd2
2015-03-13 08:31:54 +00:00
drh e9b9f7599a Remove debugging logic accidently included in the previous check-in.
FossilOrigin-Name: 2887fb38ffc28712c34028cd38db2b7993d864eb
2015-03-13 00:11:09 +00:00
drh 3df79a9a1f Fix the "now" option for date-time functions for cases when STAT4 is disabled.
FossilOrigin-Name: 3ac1f6a3cf1a8fd3ab1ca96b2564c13c4b8d2234
2015-03-12 23:48:27 +00:00
drh 3795f3cee3 When STAT4 is enabled, allow probes of the STAT4 table using the value
of constant functions computed at compile-time.

FossilOrigin-Name: 0f250957cd82be63e44eb99be6cc10760f4fdfc4
2015-03-12 21:22:08 +00:00
dan 63c088e783 Disable multiplexing of master-journal files in the test_multiplex.c module.
FossilOrigin-Name: b8684df395b5585a9428417c2bfd076515560f19
2015-03-12 19:12:30 +00:00
dan 18bf807689 Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data.
FossilOrigin-Name: b7f1fc26d24012e1e7c7f6b3cc0b84ad2b02b8ad
2015-03-11 20:06:40 +00:00
drh 94929646f1 Fix an incrblob2 test case so that it works on 32-bit systems.
FossilOrigin-Name: 8d0b11c96e15556dd65ced05708a832aef134e69
2015-03-10 15:34:47 +00:00
drh 9b5d76bf57 Revise test cases in malloc5.test to accommodate varying allocation
sizes returned by some system malloc() implementations.

FossilOrigin-Name: fbae6bafd74d8da9c72be5f562a62f80b01cc846
2015-03-10 13:50:18 +00:00
drh 560b7c72be New test cases for LIKE and GLOB with BLOB left-hand side values.
FossilOrigin-Name: 50fa3c5fae90bd3b2f4121e99ab52d79963a6fda
2015-03-07 12:58:52 +00:00
drh b7c60ba668 Fix problems with reverse order sorting and indexes in the LIKE optimization.
FossilOrigin-Name: 564b8fe79475d7584a21078e6098840b8ce6a6e1
2015-03-07 02:51:59 +00:00
drh 16897072b5 Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero.
Fix the LIKE optimization to work with DESC sort order.

FossilOrigin-Name: 26cb5145bf52f8c3fffa8c69b6c24aee4d974883
2015-03-07 00:57:37 +00:00
drh a9c18a9067 Test cases added. Comments fixed. Proposed solution for
ticket [05f43be8fdda9fbd9].

FossilOrigin-Name: 6b993bd54035b67f4d84941e3f444ca79b7feee1
2015-03-06 20:49:52 +00:00
drh 8dd7a6a925 Clearification of some documentation text. Added requirements marks.
FossilOrigin-Name: 8c1e85aab9e0d90726057e25e2ea0663341c070f
2015-03-06 04:37:26 +00:00
drh 7be0fd9c58 New test cases and requirements marks for PRAGMA index_info, index_xinfo,
and index_list.

FossilOrigin-Name: e5b13634d9794e4c75378cea89b64c5ecc5aa3e5
2015-03-05 15:34:15 +00:00
drh 5e7028c210 Revert "PRAGMA index_info" to output only three columns, for complete
compatibility with prior versions.  The new "PRAGMA index_xinfo" can be
used to get the extra information in 4th, 5th, and 6th columns.

FossilOrigin-Name: fc543c2c5ced30a7dc3a05b0c1ad80fdc838df8e
2015-03-05 14:29:02 +00:00
drh 2af878ec5e New requirements marks on compound SELECT statements.
FossilOrigin-Name: e7991bc510f63f3594603a91f6f3b32e94d90e72
2015-03-05 01:29:51 +00:00
drh 682a6ef6bd New requirements marks on INSERT and INDEXED BY and on some sqlite3_config()
options.

FossilOrigin-Name: c298ea0bd90d63673435bf8ceafbaeba3db6187d
2015-03-04 23:14:14 +00:00
drh 51a74d4cbd More test cases and requirements marks for pragmas.
FossilOrigin-Name: fc51037cd97063069620213a62efdeff5d898706
2015-02-28 01:04:27 +00:00
drh 9d356fbe6e New requirements marks and a few new test cases to go with them. No changes
to code.

FossilOrigin-Name: 8c2b29d9acb92d47f4deec21a7c2dca52db63345
2015-02-27 20:28:08 +00:00
drh 22ec13466c Add a couple of requirements marks.
FossilOrigin-Name: d70b0fd4c94f2b70cf31c2ab9ef7a2fb2e71c182
2015-02-27 00:33:15 +00:00
drh 531b55ead0 Update a requirements mark to reflect a change of wording in the documentation.
No changes to code.

FossilOrigin-Name: 3038d0169bfc3f63d64c7fef20ab2323d032655f
2015-02-26 16:40:41 +00:00
dan 2a45cb5c0e Prevent partial indexes on the table on the left hand side of a LEFT JOIN from being incorrectly qualified by a constraint in the ON clause of the join. This relaxes the rule introduced by the previous commit (as the partial indexes on the table on the rhs of the LEFT JOIN may now be qualified by terms within the ON clause).
FossilOrigin-Name: 1d6fb43a576d335d2717e94d28385178c23c81a1
2015-02-24 20:10:49 +00:00
drh e006a86643 More test cases to help ensure that partial indexes do not get used if their
qualifing constraint is inside the ON clause of a LEFT JOIN.

FossilOrigin-Name: c6399958a17e8b7c1798a9240fb06bffc774b332
2015-02-24 18:39:00 +00:00
drh 077f06edfa This additional fix prevents a partial index from being qualified for use
if the constraint that qualifies the partial index is part of the ON clause of
a LEFT JOIN.

FossilOrigin-Name: 1a1516e4da26dcee35e6fbb6604ce252faf3d116
2015-02-24 16:48:59 +00:00
drh 36f65bafe5 Make sure partial automatic indexes are not based on terms in the ON clause
of a LEFT JOIN.  Fix for ticket [2326c258d02ead3].

FossilOrigin-Name: c0f4e308a508183b72ceda447dc3ac778cb85b9f
2015-02-24 16:05:54 +00:00
drh 883ad04985 First small steps toward brining trunk and apple-osx closer together.
FossilOrigin-Name: 28284ccc0d7301503f6d2d7bee9093738d52e331
2015-02-19 00:29:11 +00:00
mistachkin a0efb1ae11 For the shell '.import' command, make sure the last column value present is considered before NULL filling any missing ones.
FossilOrigin-Name: 9c5bcad1f7d04c16f3ec7fc483280059ae93961b
2015-02-12 22:45:25 +00:00
drh 2c5e9b5672 Add test cases for the query flattener fix for
ticket [2f7170d73bf9abf8].

FossilOrigin-Name: dd8f7f7511639a1baa41a6ff2e359dc6f1e66943
2015-02-09 16:34:33 +00:00
drh 2308ed3854 Propagate the COLLATE operator upward through function calls.
Initial fix for ticket [ca0d20b6cdddec5e8].

FossilOrigin-Name: c053448a55f9d030e8ffe88cf4fc14ada7f6ec19
2015-02-09 16:09:34 +00:00
drh d10d18da5f Fix potential 32-bit integer overflow problems on the offset and length
parameters to sqlite3_blob_read() and sqlite3_blob_write().  For
sqlite3_blob_open(), make sure the *ppBlob return parameter is zeroed if
the interface fails with SQLITE_MISUSE.

FossilOrigin-Name: 5df02f50f8348dfde4fc15126abc7b7ef7803e69
2015-02-07 15:16:35 +00:00
drh 0e55db1cd8 Change the name of ".info" to ".dbinfo" and add an optional second argument
which is the ATTACH-ed DB about which information is provided.  Provide
".indexes" as an alternative name to the legacy ".indices" command.

FossilOrigin-Name: 0f65a7e2e09f801b66897479d501607caeae4abf
2015-02-06 14:51:13 +00:00
drh 4bb8cb0927 Merge all recent trunk changes, including the movement of the pragma
table into the separate pragma.h header file.

FossilOrigin-Name: 3af19f84446ba5fc1ed754d0d73f6a6d7fb2f365
2015-02-04 23:13:48 +00:00
drh 1dae26bdab Fix a typo in the --help output for speedtest1. Fix a dependency error
in the Makefile.in for speedtest1.

FossilOrigin-Name: f30a057aeeac2b863493b6325325b075a76b9d21
2015-02-03 19:20:03 +00:00
dan 32348f7bd2 Merge latest trunk changes with this branch.
FossilOrigin-Name: 76212f2c9a3c3ff0e238d6dad776938c6af674e6
2015-02-02 09:40:36 +00:00
drh c228be5b1f Add the "index_xinfo" pragma. Add new columns to the "index_info" and
"index_list" pragmas.

FossilOrigin-Name: 30f51d7b3b292191e8351223242e708bb7f3dfa6
2015-01-31 02:00:01 +00:00
drh 1ffede8c86 Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order
of parameters.  Give it the ability to reset the schema parse table so that
imposter tables can be erased.

FossilOrigin-Name: 42d5601739c90434e5adfda8fa99ef7b903877db
2015-01-30 20:59:27 +00:00
drh 0699f29a14 Added SQLITE_TESTCTRL_INITMODE for improved testability.
FossilOrigin-Name: 98e029134dc1300d3ecb48b41b5107ec69ba85db
2015-01-30 15:52:26 +00:00
drh 917682a4f4 Add a few simple test cases for SQLITE_TESTCTRL_INITMODE - cases which
also test PRAGMA integrity_check.

FossilOrigin-Name: 3a6e2afe408d2b0c8166d00def2048568169d87a
2015-01-30 15:40:15 +00:00
mistachkin fdc2e6d344 Fix some duplicated test names.
FossilOrigin-Name: 1797158db2a818134c5cba1578f69ed85948b980
2015-01-29 19:27:31 +00:00
dan 976b003344 Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the database file as required even if the entire wal file has already been checkpointed.
FossilOrigin-Name: 53429689d4fcf472edbc89cc50b5e69ba3270634
2015-01-29 19:12:12 +00:00
dan 88392bf3ce Optimize range constraints on the rowid column of fts3/4 tables even if there is no MATCH clause in the query.
FossilOrigin-Name: 85dc12625d300fe48f3c096f54ebcb8b6ef4e30a
2015-01-29 11:52:22 +00:00
dan 6f0138e89e Fix a bug in the fts3 snippet() function causing it to omit leading separator characters from snippets that begin with the first token in a column.
FossilOrigin-Name: adc9283dd9bc3a6463f8c4fe23dd58a3712c349d
2015-01-27 19:01:26 +00:00
drh a58d4a9612 Fix a (almost always harmless) read past the end of a memory allocation
that comes about because the Expr.pTab field is checked on an
EXPR_REDUCEDSIZE Expr object before checking the Expr.op field to
know that the Expr.pTab field is meaningless.

FossilOrigin-Name: e098de691002a78270540430b0df1e120582b53f
2015-01-27 13:17:05 +00:00
drh 2b8c5a0039 Make sure errors in the FROM clause of a SELECT cause analysis to abort
and unwind the stack before those errors have a chance to mischief
in the "*" column-name wildcard expander. Fix for ticket [32b63d542433ca67].

FossilOrigin-Name: 9e6eae660a02303fd140dac5fbff82364f4120cd
2015-01-22 12:00:17 +00:00
dan 2ca51820ca Merge trunk changes with this branch.
FossilOrigin-Name: f8699a1a3b0f3bb612aff87a2729f912d709c534
2015-01-21 17:20:21 +00:00
dan ce8f53d447 Fix an assert() that may fail following an OOM error.
FossilOrigin-Name: 5f592359d6d41708da3b3ac9d987a1631bfa3d88
2015-01-21 17:00:57 +00:00
dan 997d798d92 Merge latest trunk changes with this branch.
FossilOrigin-Name: b3348b1e07e168b156636a29fc8c6d6afb3129c2
2015-01-21 06:36:07 +00:00
drh 59b1b58b66 There are asserts in place now that will prevent a recurrence of
ticket [f97c4637102a3ae7].  Nevertheless, it is good to add some
test cases as well.

FossilOrigin-Name: e02959b9a0e1bacdd3939548d4434c042aacc2e6
2015-01-19 21:10:53 +00:00
drh e0e43029ef Fix the e_walauto.test test module so that it works on both little-endian and
big-ending machines.

FossilOrigin-Name: 5682db7b871689b9ee764afe070736f378e8ae1b
2015-01-13 01:12:43 +00:00
drh 8567d40609 Add detection of the isnan() library function to the configure script. Make
the code responsive to the HAVE_ISNAN configuration option.

FossilOrigin-Name: 46f3aba2692d74c29ab5c1f24a6daac600fd6af8
2015-01-10 18:22:06 +00:00
drh 0ede9ebec7 Improvements to compile-time-option hygiene. Use "#if OPTION" instead of
"#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work.
Add the "Have-Not" configuration in releasetest.tcl which disables all of
the "HAVE_component" compile-time options.

FossilOrigin-Name: 9e92a5ed5aaba20461ed4ce8359d6e34e7773d68
2015-01-10 16:49:23 +00:00
drh 6aed1c4ff0 Add the ability to put comments in the Config and Platform setup sections of
the releasetest.tcl script.

FossilOrigin-Name: d6f8c899d8f1bf66a2234e0eb91b259dd64eed31
2015-01-10 15:21:26 +00:00
drh db6bafaeb8 Change the testfixture binary so that it explicitly enabled core files
on a crash (on unix).  Add a test case to verify that this works.

FossilOrigin-Name: 90f422ed81311d7ab2a90a381d36cba9c20227fc
2015-01-09 21:54:58 +00:00
drh 1a803843ce Add SQLITE_ENABLE_STMT_SCANSTATUS to the Update-Delete-Limit configuration
in the releasetest.tcl script.

FossilOrigin-Name: c70d5edaf6327cb18df5285c3fc21b610f3d3294
2015-01-09 20:00:21 +00:00
drh 655814d2bd Fix three crash problems discovered by afl-fuzz.
Ticket [a59ae93ee990a55].

FossilOrigin-Name: fe5788633131281a0f27c5b75993ce2ff958bfeb
2015-01-09 01:27:29 +00:00
drh fa5ed0283c Add the "ascii" mode to the command-line shell.
FossilOrigin-Name: e1518a9478e1ce1ebd98894335e64c953064367f
2015-01-09 00:38:06 +00:00
drh 64134662c0 Omit modules from the "valgrind" permutation that fork off separate processes.
Also omit selectG.test because it is timing sensitive and valgrind is too slow
to get the right answer.

FossilOrigin-Name: 662932a69a0f69b7227cc05b75a9f1637a3862f4
2015-01-08 22:08:57 +00:00
drh 32e1f27960 Try to fix up the "valgrindtest" target in Makefile.in so that it avoids
misuse testing that can trigger false errors.

FossilOrigin-Name: 50b5a8af843fff93452cd1c8f82152124a1d864a
2015-01-08 16:47:51 +00:00
drh edb31cd191 In releasetest.tcl:
(1) Add the Failure-Detection platform.
(2) Re-add the --disable-shared argument on Default that was mistakenly
    removed by the previous commit.
(3) Remove the -ftrapv tests, as we read that -ftrapv does not work in GCC.

FossilOrigin-Name: 1f2fb77781a93427a2348f821b66dba7310c49b8
2015-01-08 02:15:11 +00:00
drh 5bfff9d2f6 In releasetest.tcl: add options --veryquick and pass-through compiler
optimization settings (ex: -O0).  Collect the SQLite version number from
the main.test output and show it during the summary report at the end.

FossilOrigin-Name: e7e7bc1d9a5c19571e7d87ad345b98c27a826fbd
2015-01-08 01:05:42 +00:00
drh 46350078eb In releasetest.tcl, always use --disable-shared together with
--disable-amalgamation because mingw generates a binary that crashes and
cannot be debugged using gdb if you don't.

FossilOrigin-Name: 19982439418fbd36c91853cf9e09a66606f293fc
2015-01-07 19:38:49 +00:00
drh f167a40284 In releasetest.tcl, copy certain command-line arguments (-g, -D..., etc)
down into each test run.

FossilOrigin-Name: 889864b58af1e51fb148af2d6a5cef4950f373f4
2015-01-07 18:44:59 +00:00
drh 8f45555ddc In releasetest.tcl, change the --dryrun option to work as it does in
multitest.tcl of TH3.  Add the new --trace option that work like the --dryrun
option used to work.  Add the ability to specify additional configure-script
options in the Config array, and create configurations that use
--disable-shared and --disable-amalgamation for testing.

FossilOrigin-Name: be17ef03f1d74187f7d3b5d72a12fc00db513c8e
2015-01-07 14:41:18 +00:00
drh 8a2a0f560e Add a valgrind test to the Linux-x86_64 platform in releasetest.tcl.
FossilOrigin-Name: 4b6df035561add4e304fb56dd70ae4d413d6bd5d
2015-01-07 14:09:41 +00:00
dan aacf3d1a3b Remove the iPos parameter from the tokenizer callback. Fix the "tokenchars" and "separators" options on the simple tokenizer.
FossilOrigin-Name: 65f0262fb82dbfd9f80233ac7c3108e2f2716c0a
2015-01-06 19:08:26 +00:00
drh 6fab3d469a Improved and more rigorous test of large VALUES clauses.
FossilOrigin-Name: 6917d9f437224229fa103c847c2df87ade64e1e9
2015-01-06 16:53:49 +00:00
drh a0c01768f0 Towards getting INSERT statements to except many VALUE terms (more than
the limit imposed by SQLITE_LIMIT_COMPOUND_SELECT).  This check-in segfaults
on a stack overflow.  And it is slow.

FossilOrigin-Name: c9d65f739ad56f016c676e79aa39080be3fe868a
2015-01-05 16:27:43 +00:00
drh a780d8d767 In releasetest.tcl, omit the CC=clang text from the label on Sanitize tests,
so that the label fits on an 80-character line.

FossilOrigin-Name: 23d4c07eb81db5a5c6beb56b5820f0b6501f1fb6
2015-01-03 18:59:17 +00:00
mistachkin 6da0a6d0d4 Merge updates from trunk.
FossilOrigin-Name: ea99f4b29afb98dd474d96889c934763f5636891
2015-01-02 20:06:27 +00:00
drh 3bd1791dfb Add the SQLITE_CONFIG_PMASZ start-time option.
FossilOrigin-Name: acb0d1e8324f19da3d4d577d58748848de1bcef7
2015-01-02 15:55:29 +00:00
drh 4081d5da3b Add logic to releasetest.tcl that detects -fsanitize=undefined errors.
Fix a few false-positivies that come up when running the sanitize=undefined
test.

FossilOrigin-Name: 2835e79a0afec6e4d449ac9340afec068c2d4c11
2015-01-01 23:02:01 +00:00
drh 149735d946 Add the ability to specify an alternative compiler (clang instead of gcc)
on the default Makefile.  Use this in releasetest.tcl to implement an
-fsanitize=undefined test.

FossilOrigin-Name: c55c05fe22b9ddb61de55d473a411a11090d3d68
2015-01-01 19:53:10 +00:00
drh 7203aed919 Fix an error in the computation of the number of hours of runtime for
individual test runs in the releasetest.tcl script.

FossilOrigin-Name: e2b0ebe21cd8a63927decb645efd2db80bf88379
2015-01-01 18:54:23 +00:00
dan 37db72f1f7 Merge latest trunk changes with this branch.
FossilOrigin-Name: 4b3651677e7132c4c45605bc1f216fc08ef31198
2015-01-01 18:03:49 +00:00
drh a0de826c9f Fix two test cases in memsubsys1 so that they work with the mmap permutation.
FossilOrigin-Name: 66269d0d8e49eb3dc7f508714753584f648bb022
2015-01-01 14:13:45 +00:00
drh fddfacc371 Fix the fkey-7.1 test so that it sorts its answer and hence always gives the
same answer.

FossilOrigin-Name: 5830c557f7ed048056e2faeb82a8705ee7ecfdd7
2015-01-01 14:06:24 +00:00
drh af700b3971 Fix to releasetest.tcl: When doing the secondary _debug runs, convert
"fulltest" to just "test".

FossilOrigin-Name: ec264bdee5ab8047fda9a36af27c8a2c8d964112
2014-12-31 20:35:11 +00:00
drh 0265eb666b Adjust the memsubsys1-5.5 test case to avoid occasional false positives.
FossilOrigin-Name: 432413187f41061a08ecff2697ce85c935fa6fa8
2014-12-31 20:25:33 +00:00
drh 9854248609 Fix a floating-point round-off error problem in the percentile.test module.
FossilOrigin-Name: 456948ea64c6980dab79dac30a538b5a6ab8773d
2014-12-31 20:19:20 +00:00
drh 2e5021d5ea Disable the bigsort.test module on machine with less than 8GB of available
RAM or machine, to avoid thrashing.

FossilOrigin-Name: 9d4fe11641043af4e663085e979f637676599da0
2014-12-31 19:58:32 +00:00
drh bcbac6843e Change threadtest3.c so that SQLITE_SCHEMA returns result in warnings
not hard errors.  Add the Darwin-x86_64 platform to releasetest.tcl.

FossilOrigin-Name: b09a139c9e2e1a45a3d53395ac1376e952d459e5
2014-12-31 18:55:09 +00:00
drh 169c464403 Update the command-line parsing for threadtest3 so that tests are run in the
order they are specified on the command-line.

FossilOrigin-Name: f489bc31165f043dc10570e6c1250a292673660e
2014-12-31 18:28:59 +00:00
dan b8a9d8db87 Add a missing sqlite3_close() call to threadtest3.c.
FossilOrigin-Name: a65a44f3ff851b71c9a79e96b9575c6a7006d2dd
2014-12-31 18:25:21 +00:00
drh fb212d02c5 Only run walthread5 once when running all tests in threadtest3.
FossilOrigin-Name: ca2e4a5b22e1dc9ea79f77853e328d401138f747
2014-12-31 18:10:07 +00:00
dan 23f8a7cd2f Do run pragma3.test as part of the mmap permutation. As it works as of [cf48eb608a].
FossilOrigin-Name: 11057e2645d92876fd0fb6d702757408077b7354
2014-12-31 18:08:46 +00:00
drh c67d650264 Change the width of output lines in releasetest.tcl from 70 to 79 characters.
FossilOrigin-Name: a468d96700c05d1a01a745930d13ce89c09ce4fa
2014-12-31 15:14:29 +00:00
drh 542d55865c Make sure PRAGMA data_version is updated even if the cache is empty when
another connection changes the database.

FossilOrigin-Name: cf48eb608af9102a8def2a5b7f5f7b348548116f
2014-12-31 14:18:48 +00:00
dan e895b87389 Do not run pragma3.test as part of the mmap permutation.
FossilOrigin-Name: 94101011966243d599519a69c99c202ea31b928d
2014-12-31 09:52:15 +00:00
drh bd41d56629 Add the "mptester" tests to releasetest.tcl.
FossilOrigin-Name: 93094a68d3a6178779878cbbe0e5e09ef31a323f
2014-12-30 20:40:32 +00:00
drh 9486c1b020 Update the threadtest3 test program so that its output summary is
compatible with releasetest.tcl.  In threadtest3, do not record errors
that contain the string "no such table" as being fatal errors, since they
happen sometimes in a race condition in stress1.

FossilOrigin-Name: 98cb56e2401ae7e113b071df8997ba62265821d3
2014-12-30 19:26:07 +00:00
dan 55e115f060 Fix problems with the "inmemory_journal" permutation.
FossilOrigin-Name: 79693f0412ffb0486b974ee6c63b4231cfff5a77
2014-12-30 18:07:34 +00:00
dan 8ab4b9e964 Change notify2.test to check that sqlite3_blocking_step() uses CPU more efficiently than sqlite3_step(), not that it results in greater overall throughput for any specific number of threads.
FossilOrigin-Name: d904d29354a5ed85d33bafe4a7143f3c5ecee790
2014-12-30 12:03:35 +00:00
drh cb281a9a2c Fix the --dryrun option in releasetest.tcl.
FossilOrigin-Name: 0f9e549643ab94b0465e6891384dd20506708a8f
2014-12-29 19:54:10 +00:00
dan e716aca24b Move all fts5 test files to new directory "ext/fts5/test".
FossilOrigin-Name: 7f148edb30103c5f4fee20cd08e38537f9615bf2
2014-12-29 15:59:36 +00:00
dan 620315840c Fix some recently added tests so that they work with SQLITE_DEFAULT_AUTOVACUUM=1.
FossilOrigin-Name: ef0626ab20f753f01090ca8e8a94e8b516eea55e
2014-12-29 12:02:31 +00:00
drh 277b4e446c Fix the "checksymbols" target in Makefile.in so that it actually works.
Enhance the releasetest.tcl script to count the total number of tests
run over all configurations.

FossilOrigin-Name: 4eda1c746043acbdb7ef3e1f95bf8b01ee976479
2014-12-29 02:55:58 +00:00
drh e385d8876e Fix WITHOUT ROWID tables so that they correctly deal with PRIMARY KEYs that
contain redundant columns.

FossilOrigin-Name: 0dfef6757056ef0bdea8f049f7469ccf6960e2cb
2014-12-28 22:10:51 +00:00
drh 97876ee666 Fix the error counter in releasetest.tcl. And report the total time in
HH:MM:SS instead of just seconds.

FossilOrigin-Name: 6396f8046242286298fecd1748a6e8e786e6794e
2014-12-24 23:35:36 +00:00
mistachkin 29f98f3077 Remove 'threadtest' as a target on Windows, due to lack of pthreads. Also, change 'fulltest' to 'fulltestonly'.
FossilOrigin-Name: a010c404b5140104b68087dcbb0698b7a85eef65
2014-12-23 21:10:38 +00:00
drh e43ff920ce In the releasetest.tcl script, show the test target for each configuration
that is run.  And show the time in HH:MM:SS.

FossilOrigin-Name: 2295e9e0a22220ccb1b9cc2b031c1d8e702a1888
2014-12-23 20:41:13 +00:00
drh 069b8f2cb3 Add the threadtest target to Makefile.in. Add --enable-load-extension to
the configure issued by releasetest.tcl.

FossilOrigin-Name: cb128067faabf0503dff1298ed29934f484f71bb
2014-12-23 20:31:43 +00:00
mistachkin 7284056ad6 Draft of changes necessary to make releasetest work on Windows via MinGW.
FossilOrigin-Name: af166c5c64216d845269410d1ac2493310694b86
2014-12-23 20:22:57 +00:00
drh d477eee312 Rework the test/releasetest.tcl script so that it uses the autoconf makefile
instead of the test/releasetest.mk makefile.  Also add options like --dryrun
and --buildonly.  Omit the --makefile option and replace it with --srcdir
with the default computed relative to the releasetest.tcl script itself.

FossilOrigin-Name: 7c85e831153f9aef2afaf981d53db38a28091be5
2014-12-23 19:40:51 +00:00
drh 4a86d00162 Fix a typo in an evidence mark on a test script. No changes to code.
FossilOrigin-Name: a08b0c7512287ce5ae3fffe02c092d0eb25b3a25
2014-12-22 22:02:20 +00:00
dan 005e10e39a Fixes and simplifications for the snippet() and highlight() functions.
FossilOrigin-Name: ca5d44042aa7461dcc8b700b0763df4df9d4a891
2014-12-22 21:01:52 +00:00
drh 3da9c04712 Redefine the way PRAGMA data_version works: It continues to change when
any other connection commits, including shared-cache connections, but does not
change if the local connection commits.

FossilOrigin-Name: 7a97826f33460f3b4f3890c9cf97116c3355eeda
2014-12-22 18:41:21 +00:00
drh 59871fe748 Add the "PRAGMA data_version" command for checking to see if a database has
been modified.

FossilOrigin-Name: de50f25ce3226fa4929b8236c72c88b739859d5f
2014-12-20 14:50:28 +00:00
drh d7107b3852 Update the PRAGMA data_version command so that it reponse to changes made
by a shared-cache database connection, and also to changes made by the same
database connection.  Add test cases to verify the new behavior.

FossilOrigin-Name: 44ee538374940c50198949f2cbb9213ba2375b6a
2014-12-20 14:34:02 +00:00
mistachkin 129a752bad Merge updates from trunk.
FossilOrigin-Name: 555fb71f6c479936446c2ce75b1b120a9a121f49
2014-12-19 22:20:27 +00:00
dan 1616d55153 Remove the fts5_test() aux function. Test aux functions using the tcl interface instead.
FossilOrigin-Name: 67e3ffd950c5347d219a06b33ad51949cffa7d90
2014-12-19 20:53:51 +00:00
drh 0d339e44a0 Adding test cases for the "PRAGMA data_version" command.
FossilOrigin-Name: c5fb7d6a106d46f10e71abe3a6d4243b21ed02a5
2014-12-19 20:27:02 +00:00
dan 2ae0f4c931 Fix a problem with prefix queries and the AND operator.
FossilOrigin-Name: 38b3c65e3ee95eb7afadb76e0110570fbbc41e1b
2014-12-18 20:01:15 +00:00
dan e4bec37900 Fix various problems in fts5 revealed by fault-injection tests.
FossilOrigin-Name: e358c3de5c916f2c851ab9324ceaae4e4e7a0fbd
2014-12-18 18:25:48 +00:00
dan 1ac5fed3a7 Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing.
FossilOrigin-Name: 8c5dd6cc259e0cdaaddaa52ccfa96fee6b166906
2014-12-17 15:03:50 +00:00
dan d457271130 Fix some comments in fkey.c. Add tests to fkey8.test.
FossilOrigin-Name: 210cb2a6aaf780365064a26c0c99926bd6346e19
2014-12-17 14:38:45 +00:00
dan 0466883300 Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing.
FossilOrigin-Name: 35a20a5f22245c70faa51965951e8cc011defa93
2014-12-16 20:13:30 +00:00
drh e8d1777a2d Fix the e_walauto.test script so that it works on windows.
FossilOrigin-Name: 7d092ebb6724c3c0fdc05dc94ca767d158933fb5
2014-12-16 12:46:38 +00:00
drh 58cca03ce5 Enhanced "stress2" testing in the threadtest3.c test program.
FossilOrigin-Name: ae43539e62e76676a3daf561b629a1b9b4e2d2c9
2014-12-16 00:20:07 +00:00
drh 7efa426ee9 Make sure the sqlite3BtreeCount() routine does not leave index cursors in an
inconsistent state, as doing so might result in an assertion fault inside
of sqlite3BtreeKey() called from saveAllCursors() if content is deleted out
from under the statement that issued the sqlite3BtreeCount() call.

FossilOrigin-Name: 5b1b697040116048e464b3ebab8395fe088e389a
2014-12-16 00:08:31 +00:00
dan 1ee46c01b4 Changes to threadtest3 so that "stress2" is more similar to the SDS stress test.
FossilOrigin-Name: 5648af96d8e2521c5b0cca19f1358374d032394d
2014-12-15 20:49:26 +00:00
dan 9af10620ec Add new test file e_walauto.test.
FossilOrigin-Name: 62ef45140cdbff5eeb8bef506db8b78ced3ace94
2014-12-15 16:27:12 +00:00
dan d44b786ff6 Fix errors in threadtest3 tests caused by earlier tests neglecting to close database handles.
FossilOrigin-Name: 1d44f1b1a9fefeb2449892775c59765c46784eb1
2014-12-15 08:46:17 +00:00
dan 053542d72a Further enhancements to threadtest3 stress tests.
FossilOrigin-Name: ba772cff602ca7c3c0c91451e701f52a872e7a14
2014-12-13 17:41:48 +00:00
drh 9bd3cc4681 Add extra tests to threadtest4.c. Fix a benign data race accessing the
text encoding using ENC(db).

FossilOrigin-Name: d7bb7ea4ab97ad26f4c84c9b8dc2827010093803
2014-12-12 23:17:54 +00:00
dan 0420954606 Add extra tests to threadtest3.
FossilOrigin-Name: f6bf86f907cbff31bed3cbfc922c10c973575498
2014-12-12 16:39:38 +00:00
drh ef15c6e9e6 Add new tests to the threadtest4.c program. Fix a long-standing data race
in WAL mode for shared-cache.

FossilOrigin-Name: d8d3e6d04cbb9e3033ad8613e3dbd4ad0b01765a
2014-12-12 01:27:17 +00:00
drh 5f5c1a0186 Merge the cell overflow page number cache thread race fix from trunk.
FossilOrigin-Name: cefad47ec2ad58d7ecd58bab9a261e4d5816cd69
2014-12-12 00:26:59 +00:00
drh 18b67f3f0d Fix a bug in the threadtest4.c program. Remove the keyinfo cache as it provides
minimal performance improvements, and then only at SQL preparation time, not
at runtime, and it has problems with data races in shared-cache mode.  We might
later add the keyinfo cache back but only enable it when shared-cache mode
is off.

FossilOrigin-Name: b7489f9451628c68f1dfc1d457fc161a0921c631
2014-12-12 00:20:37 +00:00
drh 1e57430e63 Add the threadtest4.c test program. Not yet working.
FossilOrigin-Name: ec3a74469ca2f0f3fb7d82a05fdac7500354e78f
2014-12-11 19:29:42 +00:00
dan 857536623a Fix a race condition to do with very large index keys in shared-cache mode.
FossilOrigin-Name: fc157dd7f18c94b7ae5f155e1b4a5d7714b7da8c
2014-12-11 16:38:18 +00:00
mistachkin e0d6885f17 Simplify and cleanup the implementation of the new ASCII mode for the shell.
FossilOrigin-Name: 66a28f7abaeaf1ebe6e43d856af88ac64b1ff230
2014-12-11 03:12:33 +00:00
mistachkin 31868243e2 Merge updates from trunk.
FossilOrigin-Name: 5b5d3e4d0d158594c0db05ddbf4d926b65825042
2014-12-11 02:28:42 +00:00
dan 1f03b86523 Fix a typo causing a test error in e_walhook.test.
FossilOrigin-Name: d9f916ba09f1a61684b4d59548ab6cf71cdb6a37
2014-12-10 20:57:20 +00:00
dan 6e45e0c8d7 Add new test file e_walhook.test.
FossilOrigin-Name: 2eb6d3e4fbe388ef28e4b7b846e9e8a4361517a4
2014-12-10 20:29:49 +00:00
drh 45d1b20639 Fix the sqlite3_table_column_metadata() routine so that it gives the correct
answer for the "rowid" column in a WITHOUT ROWID table.  Enhance it so that
it can be used to check for the existence of a table by setting the column
name parameter to NULL.  The routine is now included in the build by
default, even without the SQLITE_ENABLE_COLUMN_METADATA compile-time option.

FossilOrigin-Name: cf9be419a16156a9814e1378bb49b780de977343
2014-12-09 22:24:42 +00:00
dan 9778bd7292 Add extra tests to e_walckpt.test.
FossilOrigin-Name: 84f9581019961efa31297f8be48427b17bcca857
2014-12-09 20:13:40 +00:00
drh 8c3026ecf3 Make the sqlite3_table_column_metadata() interface available by default and
without requiring the SQLITE_ENABLE_COLUMN_METADATA compile-time option.
Other sqlite3_column_* interfaces that have a run-time penalty even if they
are unused still require the SQLITE_ENABLE_COLUMN_METADATA option at
compile-time.

FossilOrigin-Name: 4f7549ff924b8ed8f90fc447cd4be11421453984
2014-12-09 19:07:29 +00:00
dan 785a38f066 Add extra tests to e_walckpt.test.
FossilOrigin-Name: d6832aa24c8d93b4532a651b86605bd0a0d0aa78
2014-12-08 20:29:23 +00:00
dan 0235a0331f Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open().
FossilOrigin-Name: 45415899545767888d36dcc0bafaf0ef415d94c2
2014-12-08 20:20:16 +00:00
dan 2928d32791 Add new test file e_walckpt.test. Still some tests to come.
FossilOrigin-Name: e4db3db3a65ecfd4069a40d436aa7a5512d61a30
2014-12-05 20:46:19 +00:00
drh 351064b452 Improved comment on the sharedB.test test script.
FossilOrigin-Name: 71f589e3f82a07513425e212072f32748c0732d4
2014-12-05 14:34:30 +00:00
drh a895a4d22c Test case demonstrating the problem described by
ticket [e4a18565a36884b00edf].

FossilOrigin-Name: ffea3e905adc108d2dc37f5d6da2024f0389f176
2014-12-05 14:07:53 +00:00
drh dea7d70d1b Make sure that a DISTINCT query with an ORDER BY works correctly even if
it uses a descending index.  Fix for ticket [c5ea805691bfc4204b1cb9e].

FossilOrigin-Name: 0d3aef97ebddf422b8bdcbc5878970c6129e3f54
2014-12-04 21:54:58 +00:00
drh 1d32488037 Performance enhancement for single-table queries with many OR-connected
WHERE clause terms and multiple indexes with the same left-most columns.

FossilOrigin-Name: 1461d543ac8a3e4a54405067893146c74576bb4e
2014-12-04 20:24:50 +00:00
drh 72673a24e2 If a table is the right operand of a LEFT JOIN, then any column of that
table can be NULL even if that column as a NOT NULL constraint.
Fix for ticket [6f2222d550f5b0ee7ed].

FossilOrigin-Name: 6f6fcbe4736b9468a495c684d5eebc8bfe5c566a
2014-12-04 16:27:17 +00:00
dan 845d0ab323 Begin testing fts5 OOM and IO error handling.
FossilOrigin-Name: 2037dba62fdd995ad15b642abe499a790f5ffe5c
2014-12-03 17:27:35 +00:00
dan 615a9ae5db Add a configuration option to remap the "rank" column to an auxiliary fts5 function.
FossilOrigin-Name: b5f5971283b9b2f60c16f9675099855af95012cd
2014-12-02 20:18:11 +00:00
dan f26a1549ac Add the SQLITE_CHECKPOINT_TRUNCATE option.
FossilOrigin-Name: 8e20a43419e46b6b9d1f60ec7ea420bbfb3ef358
2014-12-02 19:04:54 +00:00
dan 89a89560d6 Add code to parse a rank() function specification. And a tcl interface to add auxiliary functions to fts5.
FossilOrigin-Name: 9c1697a2aa1f601e6eb11704abe63a73c8105447
2014-12-01 20:05:00 +00:00
dan ca7fad3d2c Add a cookie mechanism to ensure that the %_config table is re-read as required.
FossilOrigin-Name: bb4a37b53de60da9ec8b9317eec14afa99690828
2014-11-28 20:01:13 +00:00