]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Tue, 2 Apr 2024 14:12:29 +0000 (14:12 +0000)]
Fix typos in comments. Provided ".wheretrace" debugging output for the
interstage heuristic module. Do omit automatic index loops in the
interstage heuristic.
FossilOrigin-Name:
186dcae19e249db36de15f295999cff25063b54ee3d5d481cd2ba99b6d13148e
drh [Tue, 2 Apr 2024 11:44:44 +0000 (11:44 +0000)]
Add a heuristic in between the two solver() passes of the query planner that
tries to prevent a very slow query plan in cases where the output row count
estimate is imprecise.
FossilOrigin-Name:
8018417b0143ea11535f2457bf3e4b3755717c554a17df1076425b4251b5f2c6
drh [Mon, 1 Apr 2024 15:38:15 +0000 (15:38 +0000)]
Improved comments in the query planner logic that computes the cost for a
particular step in a query plan. No code changes.
FossilOrigin-Name:
0b2ac2cdc767db764e3ea8bbc33898cac4e1ec27fe8c9b60ce08a1785f921e6d
stephan [Sat, 30 Mar 2024 14:11:30 +0000 (14:11 +0000)]
Make explicit that sqlite3_keyword_name()'s index is 0-based, per forum request. Doc changes only.
FossilOrigin-Name:
090943dc31e7a3af5c11c1c0953cb82ae3ca07ba000189bb85deaecc76921504
stephan [Thu, 28 Mar 2024 10:58:18 +0000 (10:58 +0000)]
Document that the order of an update hook call is unspecied vis-a-vis the final result of the operation which triggers that hook. Doc changes only.
FossilOrigin-Name:
3d4b1f0791384d3e531d6757daecf67e5b873954de61f37032474e3ae23cd22b
dan [Wed, 27 Mar 2024 20:34:14 +0000 (20:34 +0000)]
dan [Tue, 26 Mar 2024 18:07:39 +0000 (18:07 +0000)]
dan [Tue, 26 Mar 2024 11:14:52 +0000 (11:14 +0000)]
Avoid expanding integer values in columns with real affinity to the full 8-byte representation when editing records as part of a DROP COLUMN command.
FossilOrigin-Name:
a49296de0061931badaf3db6b965131a78b1c6c21b1eeb62815ea7adf767d0b3
drh [Mon, 25 Mar 2024 20:35:14 +0000 (20:35 +0000)]
The RAISE() operator is not a constant expression and cannot participate in
the VALUE-as-coroutine optimization.
dbsqlfuzz
74cf7c9904360322a6c917e4934b127543d1cd51
FossilOrigin-Name:
6a06dc73847716c88d65651d1bf0e002002303881df1389beac884d0032eae08
dan [Mon, 25 Mar 2024 20:00:40 +0000 (20:00 +0000)]
Add further tests for sqlite3_declare_vtab().
FossilOrigin-Name:
f3c4433f6b33087494c8d38ff9dbb008a1bd30b424ca9aaa51c1956d75a86249
drh [Mon, 25 Mar 2024 19:31:03 +0000 (19:31 +0000)]
Simplifications to the sqlite3_declare_vtab() implementation. Changes
some conditionals into assert() statements, for coverage.
FossilOrigin-Name:
ff7b898a6f9cb9aecb51bd6b63e253b4b7486ac9367f59c3c0491d78cfb39993
dan [Mon, 25 Mar 2024 18:30:15 +0000 (18:30 +0000)]
Fix a theoretical OOB memory access in sqlite3_stmt_scanstatus_v2().
FossilOrigin-Name:
87be9580747b405c2c534beadb0f95cee0d4f34e0245f90e157a6b7ada38e092
drh [Mon, 25 Mar 2024 18:24:28 +0000 (18:24 +0000)]
Revert the previous change. Instead, do a pre-check of the CREATE TABLE
statement that is the second argument to sqlite3_declare_vtab() and if
the first two keywords are not "CREATE" and "TABLE", then raise an
SQLITE_MISUSE error.
FossilOrigin-Name:
6a2ff8351244da2336055454dfad2dd40534b7cfb51e840f7f8cf2ddacf8649e
drh [Mon, 25 Mar 2024 17:43:11 +0000 (17:43 +0000)]
Remove an ALWAYS() from a condition that can be true.
FossilOrigin-Name:
715fcf033a6c0c64fa3076d58be8c39246aebef922c1a44a31831b40e165015e
drh [Mon, 25 Mar 2024 14:44:10 +0000 (14:44 +0000)]
Fix an inaccuracy in automatic indexes that was exposed by the fix
at [
80c4223098c1827f ].
FossilOrigin-Name:
fdc9406f1c8ba4a7341c1e408f6042ddc788cf65f98e1de2ee101390bfb0abae
drh [Mon, 25 Mar 2024 13:18:46 +0000 (13:18 +0000)]
Fix the pragma4.test script so that it works with SQLITE_OMIT_VIRTUALTABLE.
FossilOrigin-Name:
f8fe6fb69c4164d087783a0d6990112afabea78daa4d8985eb6df7df6f45ac27
drh [Mon, 25 Mar 2024 12:28:06 +0000 (12:28 +0000)]
Fix recent test case changes so that they also work on Windows.
FossilOrigin-Name:
38578b5af2e97c420f3106bc486318604aecbaa327365bbc2e9518be84491495
drh [Mon, 25 Mar 2024 11:34:42 +0000 (11:34 +0000)]
Use the SQLITE_CONSTRAINT return value from xBestIndex to prohibit bad
query plans in the pragma virtual table.
FossilOrigin-Name:
b1259d4448f744861e416f42328c1450854370e5c77102d2a5abe5cf6c7f12bd
drh [Mon, 25 Mar 2024 10:55:08 +0000 (10:55 +0000)]
Improvements to the vtablog.c extension: Eliminate memory leaks.
More diagnostic output for xBestIndex.
FossilOrigin-Name:
92e9a71bc4daa261d7c9a81fb66f7d7c0f0a74eb9e0c9dec8b4651acc5217bff
stephan [Mon, 25 Mar 2024 10:28:10 +0000 (10:28 +0000)]
Flag sqlite3_trace() and sqlite3_profile() as deprecated so that the doc generator for funclist.html sees them as such, and add 'Deprecated' to their page's title for consistency with other deprecated APIs. Comment changes only. Addresses [forum:
0901025836 |forum post
0901025836 ].
FossilOrigin-Name:
87c54f93f5711739741ed0ff3c1a6fe24ffc8a025b43523bf78c1f6be8c1b4cd
drh [Mon, 25 Mar 2024 00:38:55 +0000 (00:38 +0000)]
Improvements to the vtablog.c extension, for better logging of virtual
table interactions.
FossilOrigin-Name:
e253bb36a5f4f601c9b08858b55a9ce198239ace8efa8dab7c0ec019028967c1
drh [Sun, 24 Mar 2024 21:10:45 +0000 (21:10 +0000)]
Fix the xBestIndex method of the pragma virtual table so that it correctly
gives a higher cost to plans where the schema hidden parameter is
unconstrained. Fix for the problem reported by
[forum:/forumpost/
85b6a8b6705fb77a |forum post
85b6a8b6705fb77a ].
FossilOrigin-Name:
bc516ff5202ee6e9834266bf755fe26e30ac557dcc7975ca7a06dfe33874fcd2
drh [Sun, 24 Mar 2024 20:26:59 +0000 (20:26 +0000)]
Improved "wheretrace" debugging output for calls to xBestIndex. No changes
to release code.
FossilOrigin-Name:
33966bb06ce9a8e90734de59a8d43c523f60870d20be64789638da4c84a8b81b
drh [Sun, 24 Mar 2024 16:33:31 +0000 (16:33 +0000)]
Do not automatically assume that ROWID is NOT NULL when compiled with
SQLITE_ALLOW_ROWID_IN_VIEW.
dbsqlfuzz
31b38eeb63a4e1562de665078f52b7b47a7543cf
FossilOrigin-Name:
80c4223098c1827ff3a564f1f9a4203164a943e9a83eef99df68378fa3c4764b
drh [Sat, 23 Mar 2024 15:17:38 +0000 (15:17 +0000)]
Fix an adverse interaction between CREATE TABLE AS and the new
[/info/
a120c9235f125e05 |VALUES-as-coroutine] optimization.
dbsqlfuzz
c2c5e7e08b7e489d270a26d895077a03f678c33b
FossilOrigin-Name:
84b6fdea0bf07c73df0ca8ef110db066164a5f34606e6c069a060476e04ef44e
drh [Fri, 22 Mar 2024 10:32:14 +0000 (10:32 +0000)]
Fix incorrect boundary assert()s on the new OP_IfSizeBetween opcode.
FossilOrigin-Name:
8eda4797c573382cbb989a4ab4b1f19d8fd538dbc9818d86a9aa6189cfa90f37
drh [Thu, 21 Mar 2024 22:18:24 +0000 (22:18 +0000)]
stephan [Thu, 21 Mar 2024 15:52:52 +0000 (15:52 +0000)]
Add comments (only, no code) to the JS sqlite3_config() bindings reminding us why SQLITE_CONFIG_ROWID_IN_VIEW is specifically not included. JNI does not need this treatment because it explicitly supports only a very small subset of config options.
FossilOrigin-Name:
4fea396221e84f9532f9327226691621a23bd966a860329fc579141c69cf7f64
drh [Thu, 21 Mar 2024 11:46:52 +0000 (11:46 +0000)]
Enhancements to testrunner.tcl:
(1) Add the "--config CONFIGS" option, to that only configuration named
on the comma-separated list CONFIGS are run.
(2) Add the "--omit CONFIGS" to omit configuration on the CONFIGS list
(3) Add the Android configuration to "release"
FossilOrigin-Name:
4ccb372967fab779b29be8f01c879a99ef247981466f81f55e18e3961fbd7d5a
dan [Thu, 21 Mar 2024 11:37:36 +0000 (11:37 +0000)]
Have os_unix.c reuse cached file-descriptors in the case when a read-write fd is requested on a read-only file and a read-only fd returned.
FossilOrigin-Name:
a678e85402af08c1e387bf30ff2205f84dd7da749755da565d70f831c007a3d9
drh [Thu, 21 Mar 2024 10:35:33 +0000 (10:35 +0000)]
Fix all test cases so that they work with SQLITE_ALLOW_ROWID_IN_VIEW.
FossilOrigin-Name:
66c69e2f20f7692e0f34743ae97b09c4d8d11b874cdc5381795f2d1e0410f724
dan [Wed, 20 Mar 2024 16:56:12 +0000 (16:56 +0000)]
Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY".
FossilOrigin-Name:
7e13a2c7583dbcb660adde6b0465da037365971c56726b8f18a541d8803ffeed
dan [Wed, 20 Mar 2024 16:27:08 +0000 (16:27 +0000)]
Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY".
FossilOrigin-Name:
cd547c500442f3f58c05d6da8a67c3238560c5204ea62ec14afa844cc8fb94f0
drh [Wed, 20 Mar 2024 10:45:13 +0000 (10:45 +0000)]
Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works
again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value
to optionally disable the bug-compatibility mode at start-time. Enable
testing of SQLITE_ALLOW_ROWID_IN_VIEW.
FossilOrigin-Name:
b6802565df0f63286a7ef26c92d3ed817895f244920a24909cd855090fdfa08c
drh [Wed, 20 Mar 2024 10:40:25 +0000 (10:40 +0000)]
drh [Wed, 20 Mar 2024 09:45:44 +0000 (09:45 +0000)]
Fix typos in the SQLITE_CONFIG_ROWID_IN_VIEW documentation.
FossilOrigin-Name:
1ad1ca498296493c8e89cda911cc153baa51c90ae6c19961841e6b4e37302a23
drh [Tue, 19 Mar 2024 23:01:56 +0000 (23:01 +0000)]
Change the SQLITE_CONFIG_NO_ROWID_IN_VIEW configuration option to be
just SQLITE_CONFIG_ROWID_IN_VIEW (without the "_NO_" in the middle) and give
it the ability to turn the option on and off. Otherwise, it is difficult
to test.
FossilOrigin-Name:
5d412edc2e378999ad798d1d7d73c7f7a17ee4e3c751a0dd00b9d5ce32759550
drh [Tue, 19 Mar 2024 19:56:39 +0000 (19:56 +0000)]
Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous.
FossilOrigin-Name:
0615bdae2dfc70c7e0416a28e89ffde31fa44ed4b3dac46e5ef20eed0d89e58c
drh [Tue, 19 Mar 2024 19:48:50 +0000 (19:48 +0000)]
Add the --no-rowid-in-view option to the --help output of the CLI.
FossilOrigin-Name:
134da9c348a5e3b5cef97b79f37d48257afd4fa958a84f6930ac9874284a14cd
drh [Tue, 19 Mar 2024 19:42:56 +0000 (19:42 +0000)]
Make sure the new u1.nRow value is copied when making a copy of a SrcItem
object. This fixes a problem in [
ac6f095e13e43d66 ] from yesterady.
FossilOrigin-Name:
262f8f9d80d37160e4126634b99aa48fce2073e61f6365e8bdbe1cc4fa560a96
dan [Tue, 19 Mar 2024 16:51:18 +0000 (16:51 +0000)]
drh [Tue, 19 Mar 2024 16:34:32 +0000 (16:34 +0000)]
In the name resolver when SQLITE_ALLOW_ROWID_IN_INDEX is enabled, if there
are multiple views that might resolve to the "rowid" but only one real table,
then use that one real table and ignore the views.
FossilOrigin-Name:
8fcea4cdfc89dd78eca5e7f62aa31aff0e296f41e79349d3af1cc3a2bc4d77c6
dan [Tue, 19 Mar 2024 15:27:15 +0000 (15:27 +0000)]
Update tests to work with SQLITE_ALLOW_ROWID_IN_VIEW.
FossilOrigin-Name:
495b8c7b08b998ddfe2ad055703f058c768e7e94014952e5cd8a81c7c1515cb1
dan [Tue, 19 Mar 2024 14:55:49 +0000 (14:55 +0000)]
Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous.
FossilOrigin-Name:
021f34fcfed41b607be8169bbda59aef93f130108d944f4741b46e8e345b2bbb
drh [Tue, 19 Mar 2024 14:38:39 +0000 (14:38 +0000)]
Fix the fuzzinvariants.c test module so that it does not generate
invariants that depend on rowid when SQLITE_ALLOW_ROWID_IN_VIEW is used,
since rowid values can be unreliable in that context.
FossilOrigin-Name:
0d711aaaa14472a82f8893e1b07d845073f3d018bd5b8093ec0b00ffbbc8cd5a
drh [Tue, 19 Mar 2024 14:21:26 +0000 (14:21 +0000)]
Improvements to the first check-in on this branch, causing less collateral
damage.
FossilOrigin-Name:
7bc882897b6910f93695ad372445df7791b096412089ccbcd4fde365c62fa074
drh [Tue, 19 Mar 2024 13:55:10 +0000 (13:55 +0000)]
On second thought, change SQLITE_TESTCTRL_ROWID_IN_VIEW into a start-time
option SQLITE_CONFIG_NO_ROWID_IN_VIEW.
FossilOrigin-Name:
b8e045c9e1d098d116f8745704b10ed76569d4b063c0b81cce16bc136930755d
drh [Tue, 19 Mar 2024 13:31:54 +0000 (13:31 +0000)]
When compiled with SQLITE_ALLOW_ROWID_IN_VIEW, rowid-in-view is on by default
but can now be turned off using SQLITE_TESTCTRL_ROWID_IN_VIEW. Without the
compile-time option, rowid-in-view is always off.
FossilOrigin-Name:
8a6196ab29052071be753c5c77ac945c2d62ecc8019c6160f954eafe34ab05a8
drh [Tue, 19 Mar 2024 10:41:18 +0000 (10:41 +0000)]
Adjustments to the test cases for the previous check-in to make them
cross-platform Linux/Mac/Windows. Test chance only. No change to core code.
FossilOrigin-Name:
0dddadbd5b217a48bb5c1b0568a03fbafb89dba98c577727bf4f79ff7e0ca849
drh [Tue, 19 Mar 2024 10:16:17 +0000 (10:16 +0000)]
Fix another problem from [
c63e26e705f5e967 ] involving infinities and the
Kahan-Babushka-Neumaier summation algorithm. Problem reported by
[forum:/forumpost/
23b8688ef4 |forum post
23b8688ef4 ].
FossilOrigin-Name:
45d272ef38d5ee6189f81369aefb8e3ac35868a67687012d93c84f2bbc42520a
drh [Tue, 19 Mar 2024 02:30:24 +0000 (02:30 +0000)]
First steps toward getting -DSQLITE_ALLOW_ROWID_IN_VIEW to work again. That
compile-time option is untested, undocumented, and unsupported. But it was
mentioned in the release notes for version 3.36.0, so I think that means we
need to support it forever.
FossilOrigin-Name:
7c46ff640247584f1ea260c062de29a0e49f649d1894a526574c1a479006a1fc
dan [Mon, 18 Mar 2024 21:08:33 +0000 (21:08 +0000)]
Fix asan problems in sqlite3rbu.c. Enable RBU for sanitizer release tests.
FossilOrigin-Name:
ad2ae7717e7a10cf42aeabd3c544e7884fa082295c2babf0fdb19a684d2aba1e
dan [Mon, 18 Mar 2024 20:52:45 +0000 (20:52 +0000)]
Avoid spurious SQLITE_IOERR_DATA errors when reading partial pages from a cksumvfs database using a SQLITE_DIRECT_OVERFLOW_READ build.
FossilOrigin-Name:
0f485dbece9146eabe5a5c0998a9e35c685a170c3fe6d4509e92aa8dae18a2c0
drh [Mon, 18 Mar 2024 18:03:17 +0000 (18:03 +0000)]
Remove unnecessary blank lines from build commands in the default Makefile.in.
FossilOrigin-Name:
76fb3a908f45230b956cb659c754e47603e80aa72a2aad50d479437a9c013f61
drh [Mon, 18 Mar 2024 18:00:17 +0000 (18:00 +0000)]
Add the "VALUES-as-coroutine" optimization. Large VALUES clauses on an
INSERT, for example, prepare and run in about half the time and with half
the memory. This check-in also includes enhancements to the internal
sqlite3ExprIsConstant() routine to recognize pure SQL functions as constant
if they have constant arguments.
FossilOrigin-Name:
a120c9235f125e05be494038c16a9dd326fd79837698bef17e7879cd0cd75831
drh [Mon, 18 Mar 2024 17:13:52 +0000 (17:13 +0000)]
Fix harmless compiler (scan-build) warnings.
FossilOrigin-Name:
c86f9f2a15ffc726b7f0d9bba5a8c4dfdaeea6a297e0b591c554fff3d1fe6e1c
drh [Mon, 18 Mar 2024 16:30:00 +0000 (16:30 +0000)]
Allow the VALUES-as-coroutine optimization to be applied to later rows of
a VALUES clause even if earlier rows do not qualify.
FossilOrigin-Name:
9a47ea7f0f675f7bf4710901487ce34c7689e618cd1d8b9f94f0ff7ebc3f2841
drh [Mon, 18 Mar 2024 15:10:00 +0000 (15:10 +0000)]
Change a test case to use a window function rather than random() to disable
the VALUES clause optimization.
FossilOrigin-Name:
c589149a138fa0a6be3153986fc0f315e052e13ebc0e7006b6529ca02bae413b
drh [Mon, 18 Mar 2024 13:31:24 +0000 (13:31 +0000)]
Add assert() statements to validate access to the SrcItem.u1.nRow union member.
FossilOrigin-Name:
21f616d9b948efca441f8d45d0a95f4c052ce8b6daec7fa582ad9a00b82ca570
drh [Mon, 18 Mar 2024 13:10:54 +0000 (13:10 +0000)]
Fix the patch at [
10ee6fcba08ab128 ] so that it works on reduced-size Expr
nodes.
FossilOrigin-Name:
260bd764c3f2d6d067adb9cd0045b7c24d5e00b02ab2735b1cba455a6143ff4c
drh [Mon, 18 Mar 2024 12:49:30 +0000 (12:49 +0000)]
Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues.
FossilOrigin-Name:
ac6f095e13e43d66c06552c8b01f6bec3407c9d41a34c4cdb0be57b0b828ad0d
dan [Mon, 18 Mar 2024 11:12:22 +0000 (11:12 +0000)]
Ensure the database schema has been loaded and the database encoding gleaned before beginning to code a multi-row VALUES clause.
FossilOrigin-Name:
2ff476eb3d1f4a2146f4a48b57895a00a3ff5beb29afa679ae53ea58cac07c76
dan [Mon, 18 Mar 2024 10:54:48 +0000 (10:54 +0000)]
Fix a problem caused by a non-aggregate function with an OVER clause in a multi-row VALUES clause.
FossilOrigin-Name:
10ee6fcba08ab1281235197602148fe062560e1d5034a477b8e7b574dd3e2907
drh [Sun, 17 Mar 2024 16:01:23 +0000 (16:01 +0000)]
Omit the "noop(X)" test SQL function. Accomplish the same thing using
the idiom: "coalesce(X,random())".
FossilOrigin-Name:
0eb2fbb8910e7a372c50db3ae44238d7b161f0e45858b74061b5228aec5fcc7e
drh [Sun, 17 Mar 2024 00:13:12 +0000 (00:13 +0000)]
drh [Sat, 16 Mar 2024 21:12:51 +0000 (21:12 +0000)]
Recognize when an SQL function is constant and can occur inside an
optimized VALUES clause.
FossilOrigin-Name:
c0e5ceb87d3cf28f22d381f863b8f91043804fd7901f23f3afb02fe698e6a12a
drh [Sat, 16 Mar 2024 21:04:32 +0000 (21:04 +0000)]
A formerly impossible case has now become possible because of the new
ExprIsConstant enhancements. So deal with that.
FossilOrigin-Name:
9ba3cff9d48fe8fc8a0a51291169599209d464465e44bdfd60058fd1e314a2b1
drh [Sat, 16 Mar 2024 20:15:34 +0000 (20:15 +0000)]
Further expand the scope of usage for the enhacement to expr-is-constant.
FossilOrigin-Name:
d7eadcf7dd089f0f4aa963c58f0df32edd951368c9906375fd62b0a61cd393b8
drh [Sat, 16 Mar 2024 19:48:51 +0000 (19:48 +0000)]
Assert that the eCode is always non-zero upon entry into exprNodeIsConstant().
FossilOrigin-Name:
f71b28f6713126745bca53e098dfe3444d4235d6a2b87ced5b333a7f0ee79be8
drh [Sat, 16 Mar 2024 19:36:18 +0000 (19:36 +0000)]
Activate the enhanced constant-expression for the
[constant propagation optimization](/info/
f4229707ac08d66c ).
FossilOrigin-Name:
92afea38881a1a4f266c79ddc6e1027cf17c288dcc8f7e7d50466899ac0054c4
drh [Sat, 16 Mar 2024 17:04:08 +0000 (17:04 +0000)]
Extend the scope expr-is-constant for function to cover the IN-to-EQ
optimization.
FossilOrigin-Name:
dae669245c86021bcd28716aff6e316257cc8075d02081745d4b7de17f8ad553
dan [Sat, 16 Mar 2024 14:27:10 +0000 (14:27 +0000)]
Fix exprNodeIsConstantFunction() so that it returns WRC_Continue, not WRC_Abort, if the function really is constant.
FossilOrigin-Name:
d85dd4de2d0989127e0ae6a2eec9d83a577777f8d5ba40700084a0b498016634
drh [Sat, 16 Mar 2024 13:18:48 +0000 (13:18 +0000)]
Enhance the sqlite3ExprIsConstant() function so that it recognizes
constant functions. So far the enhancement only applies to the multi-row
VALUES clause, but it could possibly be applied in many other places.
FossilOrigin-Name:
c9e0488c6c0135932b6e76b0f3f3acd69ef65327e0a54daa59777f35da1aef26
drh [Fri, 15 Mar 2024 17:57:58 +0000 (17:57 +0000)]
New options for testrunner.tcl: --stop-on-error and --stop-on-coredump.
FossilOrigin-Name:
82035b9cfd28ef6b0ecc6f469f03d2b001189aa4925147cdb784b6b1964eb3b2
drh [Fri, 15 Mar 2024 17:04:55 +0000 (17:04 +0000)]
Fix (totally harmless) memory leaks in Lemon to avoid warnings during ASAN
builds.
FossilOrigin-Name:
ce009205a8edc02b7d45ac01bd0e692c3d2c3ffeadb68e4f1bad20c39075e692
drh [Fri, 15 Mar 2024 13:16:13 +0000 (13:16 +0000)]
Tweaks to the func4.test test module (which tests the rarely used totype.c
extension) so that it works on i586 compiled using gcc-13 with -O0. Details
at [forum:/forumpost/
0a7553b0f734c033 |forum post
0a7553b0f734c033 ].
FossilOrigin-Name:
d0fbe779bc2460e120da4f39063a9f4121c700f0b86d85f4311715b1366c3515
drh [Thu, 14 Mar 2024 20:39:03 +0000 (20:39 +0000)]
Fix testcase to account for new behaviors with this branch.
FossilOrigin-Name:
823e579362c05bb8accf6c3b158c5162a16eb23cf81d6021c9e3246e32583d1c
dan [Thu, 14 Mar 2024 19:31:06 +0000 (19:31 +0000)]
Fix a problem with ALTER TABLE and correlated multi-row VALUES clauses.
FossilOrigin-Name:
d543c829ef74dbd64105bd757ca660e4f02e9ce562be4f1688a701fa535351c4
dan [Thu, 14 Mar 2024 19:01:17 +0000 (19:01 +0000)]
Fix a problem handling "INSERT INTO ... SELECT ... UNION VALUES(...), (...)" and similar statements.
FossilOrigin-Name:
e8a2a8198a97046ff376bc5d38e4bc0a24fcac79f5a0dadb9d29d953a862a012
dan [Thu, 14 Mar 2024 17:04:18 +0000 (17:04 +0000)]
Avoid some OP_SCopy instructions in "INSERT INTO .. VALUES" statements that insert more than one row in cases where the VALUES clause contains a value for all columns of the table.
FossilOrigin-Name:
988f0ea70cd21b3194011e0cd1ddd4990a07669e0fd9c37afa48f69698ab7212
stephan [Thu, 14 Mar 2024 13:18:19 +0000 (13:18 +0000)]
JS: remove an unused function argument and some debug-related comments. No functional changes.
FossilOrigin-Name:
f15709430d4ba2fcf5729bc30a45dacb77102927b82cda12de0b67935b526cc0
dan [Thu, 14 Mar 2024 11:45:39 +0000 (11:45 +0000)]
Add further tests for VALUES clauses in various contexts.
FossilOrigin-Name:
973d197d9676c066a95cea77a27e36d2d7f5778283919d8cac4424d2ec952f47
dan [Wed, 13 Mar 2024 20:04:11 +0000 (20:04 +0000)]
Change the way parse.y handles multi-row VALUES clauses to save a few cycles.
FossilOrigin-Name:
88d5bc91a52675d2a83748b79ad50de0e9732b2afd23107627bdc604f744d275
dan [Wed, 13 Mar 2024 18:41:05 +0000 (18:41 +0000)]
dan [Wed, 13 Mar 2024 17:33:45 +0000 (17:33 +0000)]
Fix some OOM handling problems on this branch.
FossilOrigin-Name:
2085c7f12a3916ec883c31795e29f2e2b6641c30ecf748cce9bff7b13b061d1f
drh [Wed, 13 Mar 2024 16:32:05 +0000 (16:32 +0000)]
Minor change to the "mdevtest" and "sdevtest" in testrunner.tcl, to make it
easier to add configurations in branches.
FossilOrigin-Name:
9349d94e05dcf266b02afcd89f1e433cdc45f23e8536b2f3f9aa242d5d89c307
dan [Wed, 13 Mar 2024 15:47:52 +0000 (15:47 +0000)]
dan [Wed, 13 Mar 2024 15:44:31 +0000 (15:44 +0000)]
Ensure that if a multi-row VALUES cannot be coded while being parsed, the SF_MultiValue flag is correctly set.
FossilOrigin-Name:
94791824a6f04782aac6bc16c182685e2d6ebf5c688dc9f8d59e479c6fd5a40e
dan [Wed, 13 Mar 2024 15:34:44 +0000 (15:34 +0000)]
Avoid creating a co-routine incrementally for a VALUES clause that has affinities other than NONE.
FossilOrigin-Name:
4229b12b327b05561dcf49b8585a66467d17d4e998b14eff65eb886f2434b53c
drh [Wed, 13 Mar 2024 13:43:21 +0000 (13:43 +0000)]
If the NJOB environment variable is a positive integer, it causes
testrunner.tcl to run that many jobs.
FossilOrigin-Name:
924281b94d8e6ba674d6fe2f7f01da890351355a854e9e6fe623fad1180f7392
drh [Wed, 13 Mar 2024 13:27:16 +0000 (13:27 +0000)]
Document the testrunner.tcl --explain option in doc/testrunner.md.
FossilOrigin-Name:
5a7b5fc99a9d5c7693a5707c2050a8c59a8f97732e4763a56982579f8d5959ec
drh [Wed, 13 Mar 2024 13:09:58 +0000 (13:09 +0000)]
drh [Wed, 13 Mar 2024 11:46:23 +0000 (11:46 +0000)]
Improve one of the error messages from testrunner.tcl.
FossilOrigin-Name:
233155c174575fa99b34030c1936bc2b04489417f4d5223f18cdb3c8fc274a56
drh [Wed, 13 Mar 2024 11:29:04 +0000 (11:29 +0000)]
Minor tweaks to the testrunner documentation.
FossilOrigin-Name:
3128b98d2656c7f23f6071c173f96329c7bdc49cd641050fbb7b105b810ba7c7
drh [Wed, 13 Mar 2024 10:55:47 +0000 (10:55 +0000)]
Improvements to the "help" message generated by testrunner.tcl. Add the
special "list" permutation that does nothing but list all allowed
values for the PERMUTATION argument to testrunner.tcl.
FossilOrigin-Name:
1f5bfc6a9030f9905d258c5b665b9ff27efc7da71556c912ab3dce0f8f5aa8da
dan [Wed, 13 Mar 2024 10:54:04 +0000 (10:54 +0000)]
Add pointer to documentation to testrunner.tcl help message.
FossilOrigin-Name:
eff855102f9c0b4e9d876d1cff9d06c07de427b4880c2fa326d4d6e3e1dd13c8
dan [Wed, 13 Mar 2024 10:47:54 +0000 (10:47 +0000)]
Have testrunner.tcl set SQLITE_TMPDIR on windows as well.
FossilOrigin-Name:
64f4dad1f928716b8688c650d043f18afcc72ec78d990145c580e2b98905b919
drh [Wed, 13 Mar 2024 00:37:37 +0000 (00:37 +0000)]
On testrunner.tcl: (1) Add the "help" command. (2) Add the "script" command
to the help message. (3) Improve the error message generated by "script" when
an incorrect CONFIG option is provided.
FossilOrigin-Name:
1b7f0be44036fb90d763eabae84b95734e766f8010b39122f8787189308a7fc1
dan [Tue, 12 Mar 2024 20:10:46 +0000 (20:10 +0000)]
Correctly initialize the SrcItem.iCursor field to -1 when creating a co-routine from a multi-values VALUES clause.
FossilOrigin-Name:
c32953ff6d72910815eaff29ab1b790c412e1a741d02c03c5911dda0c08e5130
dan [Tue, 12 Mar 2024 18:33:57 +0000 (18:33 +0000)]
Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions.
FossilOrigin-Name:
18842d0d72048561312c2c83035c01253150e1fe1ff37160f266d24d41a01df3