drh [Thu, 15 Jan 2015 15:47:06 +0000 (15:47 +0000)]
Makefile enhancements: (1) Rename autoconf/tea/configure.in to
autoconf/tea/configure.ac so that it works with the latest versions of
autoconf. (2) Add the "amalgamation-tarball" targets to Makefile.in and
main.mk (renamed from "dist" in the latter case). (3) Update the
README.first file in autoconf/ (4) The TOP macro
in Makefile.in is now an absolute rather than a relative path.
drh [Tue, 13 Jan 2015 21:26:17 +0000 (21:26 +0000)]
Simplify some code in rtree, to avoid confusing the optimizer in GCC on
some macs:
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00).
Prior to these changes, compiling with -O3 would cause incorrect code to
be generated. The change to the nodeGetCell() routine is key. The other
changes are merely cosmetic details discovered while bug hunting.
drh [Sat, 10 Jan 2015 16:49:23 +0000 (16:49 +0000)]
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.
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.