stephan [Thu, 12 Sep 2024 21:33:44 +0000 (21:33 +0000)]
A slight tweak to consio to enable it to build both (A) directly embedded in shell.c and (B) as a separately-compiled .c file for use with sqlite3-rsync.c.
stephan [Thu, 12 Sep 2024 20:50:16 +0000 (20:50 +0000)]
Convert sqlite3-rsync.c to use the ext/consio I/O library. The caveat is that it requires direct inclusion of the consio source code, making sqlite3-rsync.c no longer a standalone file.
Pass the names of both the origin and the replica databases to the remote
side, so that if the remote is the replica, it will have access to the
origin database name in case the replica name is really a directory.
Add a protocol version number to the first message, and give the two sides
an opportunity to negotiate a suitable protocol number, for future
compatibility. Send the page size as a power-of-two.
Improved SSH infrastructure. The foundation is now in place to begin working
on the actual sync protocol. Still experimental. Still a work in progress.
Move the vfstrace extension out of src/ and into ext/misc/. Make it a
standard part of the CLI. Improve its output. Also fix some unrelated
comment typos.
Move the vfstrace extension out of src/ over into ext/misc/ where it belongs.
Make it part of the standard build for the CLI. Bring some of the vfstrace
output up-to-date.
Fix an off-by-one error in the routines that bind the special $test_TTT and
$int_NNN parameters for fuzz testing. Fix to testing logic only - no changes
to the SQLite core.
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.
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.