Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed
from the FROM clause by the Omit-Noop-Join optimization of
[0cd82ee9a8413cf1]. Fix for the issue described by
[forum:/forum/8a1e467e905b8d27|format post 8a1e467e905b8d27].
Testrunner.tcl enhancements: (1) Attempt to build the SQLite tcl extension
if it is not already available. (2) testrunner target "devtest" is added as
an alias for "mdevtest". (3) Try to keep summary information at the end of
a test below 80-characters per line. (4) Update the Makefile.in so that
the "clean" target removes the tcl extension built by item 1 above.
Enhance testrunner.tcl to keep track of the platform and SQLite version
as reported by individual test cases and to report that information in the
summary at the end of each test run.
dan [Tue, 3 Sep 2024 18:55:38 +0000 (18:55 +0000)]
Store the values of any UNINDEXED columns of a contentless fts5 table persistently in the database. Warning: This currently creates a (technically) incompatible file-format for contentless fts5 tables that have UNINDEXED columns.
Enhance the "errors" command in testrunner.tcl so that it accepts the
"-s" or "--summary" argument to see a list of failed jobs, and so that
an additional argument is a GLOB pattern that restricts the output to
jobs whose names match that pattern.
In testrunner.tcl, allow setting njob to zero, which causes no new jobs
to be launched and for the process to shut down once all current jobs are
completed.
Enhance the percentile extension to support percentile_cont() and
percentile_disc(). Add support for ordered-set aggregate notation in
the parser when compiling with SQLITE_ENABLE_ORDERED_SET_AGGREGATES. A
new function property SQLITE_SELFORDER1 must appear on any aggregate function
that wants to take advantage of the ordered-set aggregate notation.
The WITHIN GROUP (ORDER BY ...) syntax is now a compile-time option:
SQLITE_ENABLE_ORDERED_SET_FUNCS. There is no increment in the code size
if the option is omitted.
drh [Sat, 31 Aug 2024 18:35:10 +0000 (18:35 +0000)]
Omit the percentile_cont() function added by [095c22e62248f8ef] (and not yet
released) since its usage conflicts with the PG percentile_cont() function.
drh [Fri, 30 Aug 2024 16:51:41 +0000 (16:51 +0000)]
New makefile target: "tidy". The "tidy" target removes all build products
be leaves behind test results. The "clean" target has been enhanced to do a
better job. The tool/omittest.tcl script is rewritten to work on the
configure-generated Makefile and to require no arguments.
drh [Fri, 30 Aug 2024 16:24:49 +0000 (16:24 +0000)]
Rework the tool/omittest.tcl script so that it works with the
configure-generated Makefile, and requires no arguments.
Update the configure-generated Makefile with a new "tidy" target which
is like "clean" except that is preserves test logs. Use "make tidy" to
force everything to be recompiled from scratch without destroying logs.
drh [Thu, 29 Aug 2024 18:32:56 +0000 (18:32 +0000)]
All makefiles are responsive to OPTIONS=... command-line arguments, and add
the RHS value of OPTIONS= to builds and to lemon and other build steps that
might respond to -D or -U options.
drh [Wed, 28 Aug 2024 19:13:16 +0000 (19:13 +0000)]
Do not allow sqlite3_blob_open() to work on a any table that contains
generated columns, even columns of the table which are not generated themselves,
because such columns might be part of the expression of a STORED column.
This restriction could be relaxed some, but that would be a lot of code
for something that nobody ever uses.
drh [Wed, 28 Aug 2024 13:51:51 +0000 (13:51 +0000)]
Maybe [7420b13238da4e6b] was not such a good idea. Restore "make test" so
that it works as before - running a single-threaded test over the source tree
with options specified by ./configure and similar. Instead, change the
"make devtest" target so that runs the automated multi-threaded tests on
a standard configuration.
drh [Wed, 28 Aug 2024 11:03:58 +0000 (11:03 +0000)]
Further improvements to the status display in order to maximum the amount of
information shown on the limited screen realestate available when running
via "watch" or in continuous monitoring mode. All details are still shown
when doing a stand-alone "status".
drh [Tue, 27 Aug 2024 22:28:03 +0000 (22:28 +0000)]
Changes to the way "release" tests were constructed in [d03d35eebaf82709]
were incorrect. Fixed here. Also enhance --explain to chose permutation
configurations and so that PATTERNS on the the command line can match
against permutation configurations.
dan [Tue, 27 Aug 2024 19:27:40 +0000 (19:27 +0000)]
Modify the implementation of "wrapper" tokenizers to make them more robust in the case where the database connection is closed before the tokenizers are deleted.
drh [Tue, 27 Aug 2024 19:17:29 +0000 (19:17 +0000)]
Improvements to testrunner.tcl: Show elapse time in MM:SS or HH:MM:SS.
Keep track of the total number of tests and the total number of errors
and report those values on a summary line at the end.
drh [Tue, 27 Aug 2024 17:38:26 +0000 (17:38 +0000)]
Updates to testrunner: (1) Omit all testing of User-Auth.
(2) Automatically add the "*" wildcard before and after all pattern
arguments. (3) Build the sqlite3 CLI for release tests.
drh [Thu, 22 Aug 2024 18:12:10 +0000 (18:12 +0000)]
Enhance the generate_series() table-valued function such that it is able to
recognize equality and inequality constraints on the "value" column and
optimize its operating accordingly.
drh [Thu, 22 Aug 2024 16:22:08 +0000 (16:22 +0000)]
Add the SQLITE_INDEX_SCAN_HEX bit to the sqlite3_index_info.idxFlags bitmask.
When set, this bit causes the EXPLAIN QUERY PLAN output to show the idxNum
value in hex rather than in decimal. This is purely a debugging aid.
drh [Wed, 21 Aug 2024 18:57:55 +0000 (18:57 +0000)]
Add the new SQLITE_TESTCTRL_OPTGET that retrieves the current optimization
setting. Use this in the CLI to provide symbolic fine-grain control
over optimization settings using the ".testctrl opt" dot-command.
drh [Wed, 21 Aug 2024 12:01:46 +0000 (12:01 +0000)]
Add code comments for a "table-of-contents" and various milestone marks in
the 1300+ line long sqlite3Select() function, to help improve readiability
and maintainability. Comment changes only - no functional changes.