drh [Thu, 8 Jan 2015 22:08:57 +0000 (22:08 +0000)]
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.
drh [Thu, 8 Jan 2015 02:15:11 +0000 (02:15 +0000)]
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.
drh [Thu, 8 Jan 2015 01:05:42 +0000 (01:05 +0000)]
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.
drh [Wed, 7 Jan 2015 19:38:49 +0000 (19:38 +0000)]
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.
drh [Wed, 7 Jan 2015 14:41:18 +0000 (14:41 +0000)]
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.
drh [Mon, 5 Jan 2015 20:13:49 +0000 (20:13 +0000)]
Enhance "INSERT INTO ... VALUES" so that the number of rows in the VALUES clause
is not limited by SQLITE_LIMIT_COMPOUND_SELECT, and so that the stack depth
is constant regardless of the number of rows in VALUES.
drh [Mon, 5 Jan 2015 16:27:43 +0000 (16:27 +0000)]
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.
drh [Thu, 1 Jan 2015 23:02:01 +0000 (23:02 +0000)]
Add logic to releasetest.tcl that detects -fsanitize=undefined errors.
Fix a few false-positivies that come up when running the sanitize=undefined
test.
drh [Thu, 1 Jan 2015 19:53:10 +0000 (19:53 +0000)]
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.
drh [Thu, 1 Jan 2015 19:11:22 +0000 (19:11 +0000)]
Enhance the "lemon" executable so that it ignores -f, -W, -O, and -I
command-line options. This permits most of the same options that are passed
to the compiler to also be harmlessly passed to lemon, and thus
simplifies makefiles.
drh [Tue, 30 Dec 2014 19:26:07 +0000 (19:26 +0000)]
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.
dan [Tue, 30 Dec 2014 14:40:53 +0000 (14:40 +0000)]
If the sorter uses mmap'd temp files, ensure all pages of the temp file have been allocated before it is accessed. Otherwise, a disk-full condition might result in a SIGBUS exception.
dan [Tue, 30 Dec 2014 12:03:35 +0000 (12:03 +0000)]
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.
drh [Mon, 29 Dec 2014 02:55:58 +0000 (02:55 +0000)]
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.
drh [Tue, 23 Dec 2014 19:40:51 +0000 (19:40 +0000)]
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.
drh [Mon, 22 Dec 2014 18:41:21 +0000 (18:41 +0000)]
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.
drh [Sat, 20 Dec 2014 14:34:02 +0000 (14:34 +0000)]
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.
drh [Fri, 19 Dec 2014 18:49:55 +0000 (18:49 +0000)]
Simplify the implementation of the "header-value" pragmas (schema_version,
user_version, freelist_count, and application_id) by making them more
table-driven.
drh [Tue, 16 Dec 2014 00:08:31 +0000 (00:08 +0000)]
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.
drh [Fri, 12 Dec 2014 00:52:10 +0000 (00:52 +0000)]
Remove the KeyInfo cache (for now - perhaps we will add it back in later - or
maybe not since it provides negligible benefit but adds a lot of complexity
and thread-safety risk). Add a mutex to ATTACH to deal with a data race.
drh [Fri, 12 Dec 2014 00:20:37 +0000 (00:20 +0000)]
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.