]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Fri, 5 Mar 2021 15:29:22 +0000 (15:29 +0000)]
Fix another problem with RETURNING clauses in UPDATEs against tables with virtual columns.
FossilOrigin-Name:
f0ef5c76ab1a6568b9148b928277bf589d4cb7033c0acf3e6323879b656d8bd1
dan [Fri, 5 Mar 2021 15:10:33 +0000 (15:10 +0000)]
Fix an assert() failure that could be triggered by a correlated sub-query in a RETURNING clause.
FossilOrigin-Name:
551260c8625828262809b1ef7acf5343a3527b7e167ca0cfd13b81e5ece0e66c
drh [Fri, 5 Mar 2021 14:08:45 +0000 (14:08 +0000)]
Fix the processing of implied LIMIT clauses when flattening a compound
query.
FossilOrigin-Name:
90c6b9fcb0e15e2552fe5be53f8201f145bb535cc37b603d488eadf33438412b
drh [Thu, 4 Mar 2021 19:44:01 +0000 (19:44 +0000)]
Mark the NotUsed parameter to the dropColumnFunc() function as unused,
to avoid a harmless compiler warning.
FossilOrigin-Name:
23459071091248e94202e609bb8031c3e34722b8ae8ff5a66851dcc528a2d2c2
drh [Thu, 4 Mar 2021 18:34:54 +0000 (18:34 +0000)]
Put ALWAYS() on a branch that is now always true because of changes
in OOM behavior due to check-in [
9adf6e2469d18bc3 ].
FossilOrigin-Name:
8a1bb9c3e92085fb71d75eb36f64eb85053a4730fd314acd401e7ad32c274748
dan [Thu, 4 Mar 2021 18:31:07 +0000 (18:31 +0000)]
Update shell.c.in so that SQLITE_SHELL_IS_UTF8 is set to 0 if the -municode option is passed to gcc on windows.
FossilOrigin-Name:
99e6a0f020fadda4011e4ca370d2421dbf2f97f6fb004fcbba9bd6c76faf7a73
drh [Thu, 4 Mar 2021 16:32:28 +0000 (16:32 +0000)]
dan [Thu, 4 Mar 2021 16:10:23 +0000 (16:10 +0000)]
Fix a segfault that could occur following an OOM condition.
FossilOrigin-Name:
9adf6e2469d18bc3bfc0c804cfcaa692e23ab6b3e13465dcfc51c4b111b05cb4
drh [Thu, 4 Mar 2021 16:03:32 +0000 (16:03 +0000)]
Earlier detection of a misplaced ORDER BY or LIMIT clause in a compound
SELECT. This prevents problems in recursive CTEs with multiple recursive
terms in which there is an ORDER BY or LIMIT clause on the last non-recursive
term.
FossilOrigin-Name:
e893f88750ea64d45922429e022c585748974016404f2a2b7952f5a227865246
dan [Thu, 4 Mar 2021 14:18:22 +0000 (14:18 +0000)]
Fix a crash that could occur if a sub-select inside an EXISTS expression features an ORDER BY clause containing one or more window functions.
FossilOrigin-Name:
9768e7db624fbfe688d61ac06bffca14a169d439d8f65f5a14529af5660d3d2e
dan [Wed, 3 Mar 2021 19:36:40 +0000 (19:36 +0000)]
Fix a buffer overrun that could occur in fts5 when running a prefix query against a corrupt db.
FossilOrigin-Name:
4da40620ac8557aba6e1e06e720418b55e9950f406288b03749ef1b117041cd9
dan [Wed, 3 Mar 2021 16:46:03 +0000 (16:46 +0000)]
Remove the --timeout option from the valgrindfuzz Makefile target.
FossilOrigin-Name:
3f520b8bdef7dcdad30e052ed8a07b0493bff4497603521e701fab7324df2995
dan [Wed, 3 Mar 2021 16:00:26 +0000 (16:00 +0000)]
Fix a case where fts3 was erroneously reporting corruption.
FossilOrigin-Name:
e6c7683c7503ac743d1d476c60c31f887b7ad829e26e812c25acdd4366044db8
drh [Wed, 3 Mar 2021 14:07:52 +0000 (14:07 +0000)]
Fix a harmless assertion fault resulting from [
6e6b3729e0549de0 ] that was
discovered by dbsqlfuzz. Enhance .selecttrace output to show omitted
ORDER BY clauses. New dbsqlfuzz test cases added.
FossilOrigin-Name:
27a0388ad616f80e8dcc986c247a5c23a8565dae9081b04ff85bac0d357e531b
dan [Wed, 3 Mar 2021 11:00:31 +0000 (11:00 +0000)]
Fix a problem with using ALTER TABLE commands on database schemas that contain expressions of the form "<expr> NOT NULL" or "<expr> IS NULL" that can be evaluated at prepare time.
FossilOrigin-Name:
d2630ffafa077b8cfd75110b6b73da30f780edc920d2788769a4dc747f09d3f6
drh [Tue, 2 Mar 2021 21:07:41 +0000 (21:07 +0000)]
Cast a string size variable to 64-bit to avoid any possibility of
integer overflow.
FossilOrigin-Name:
a5940294b2ac8d157d7fa72f65ee70b713f7feb8a0a98d7f47e71acd1b6942b1
drh [Tue, 2 Mar 2021 16:27:04 +0000 (16:27 +0000)]
Limit the size of the exponent input in the second argument to the
ieee754() SQL function, to avoid integer overflow.
Ticket [
22dea1cfdb9151e4 ].
FossilOrigin-Name:
99aab32da14cc76beb5c1823a70bdeab144459398d61c42a858be4d6868d361e
dan [Tue, 2 Mar 2021 13:50:56 +0000 (13:50 +0000)]
Change the timeout for test case "valgrindfuzz" from 600 seconds to 1200.
FossilOrigin-Name:
7c6aa6f38403931df7940c7acfeba4e2f8099a419222fcab2a3c959ccae90e40
dan [Tue, 2 Mar 2021 13:36:37 +0000 (13:36 +0000)]
Do not run test file windowpushd.test as part of the "no_optimization" permutation.
FossilOrigin-Name:
275a75aa82bf5d2366fd4020066d7b9fbb93a955ac9ec15dc7d5b8bfa29074e4
drh [Tue, 2 Mar 2021 00:42:46 +0000 (00:42 +0000)]
drh [Mon, 1 Mar 2021 21:43:25 +0000 (21:43 +0000)]
Add #ifndef macros so that the build works again with
-DSQLITE_OMIT_AUTHORIZATION and -DSQLITE_OMIT_WINDOWFUNC.
FossilOrigin-Name:
9400bdc60294be6a938025d481e50aad9af246e64f38fafecc6ca4f24112a98c
dan [Mon, 1 Mar 2021 16:16:59 +0000 (16:16 +0000)]
Fix a couple of memory-sanitizer complaints that could be triggered by a corrupt database.
FossilOrigin-Name:
39c8686cabe6c437ba4860aade49a701c4f5772b97d9fbe6cb9a394e85b9c092
dan [Mon, 1 Mar 2021 16:15:41 +0000 (16:15 +0000)]
Fix another msan complain triggered by a corrupt database.
FossilOrigin-Name:
d235d406283191fc7b9e1299be602f1e8be6f36cee8b183cf85c8660519a1c3b
dan [Sun, 28 Feb 2021 08:24:56 +0000 (08:24 +0000)]
Initialize extra field in PgHdr1 to fix an msan complaint.
FossilOrigin-Name:
4cb2ea5795b0c0678665fd89bd560209beaab8a756fe00335dbfd07493b0542d
dan [Sat, 27 Feb 2021 15:32:02 +0000 (15:32 +0000)]
Add OOM test case associated with the fix in the previous commit.
FossilOrigin-Name:
a631c38d22bc00d38b0f112a623fb24c0e03a962f661ffe0931dad32fd31ba31
drh [Sat, 27 Feb 2021 15:12:24 +0000 (15:12 +0000)]
Remove a NEVER() that might sometimes be tree following an OOM.
FossilOrigin-Name:
ccb8cf5256d01b3ff13e75e1471b1afb0055ec2c344ba886f98b83d47eba00f8
dan [Fri, 26 Feb 2021 21:39:34 +0000 (21:39 +0000)]
Fix a segfault that could occur when optimizing a NOT NULL constraint against an IPK column of a sub-query.
FossilOrigin-Name:
e4d1970ef17b2330f78c750d71d625c2997f79ed1445d0351ec32b482485a954
dan [Fri, 26 Feb 2021 20:39:08 +0000 (20:39 +0000)]
Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint.
FossilOrigin-Name:
de9c86c9e4cdb34f4b7d65f160d1e589fb969bbf64c66d2b24c502d1ee424dbb
dan [Fri, 26 Feb 2021 20:14:32 +0000 (20:14 +0000)]
Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint.
FossilOrigin-Name:
5ecd842555009ce27ee6390325ac5c2504143474b12b730933f0833b3dad788a
dan [Fri, 26 Feb 2021 15:20:17 +0000 (15:20 +0000)]
dan [Thu, 25 Feb 2021 18:28:11 +0000 (18:28 +0000)]
Fix test case in altercorrupt.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds.
FossilOrigin-Name:
062b338ff2ea71633b4fb3c75c6a47b5fc4fe9c2a72daacd987d1eca0bda5217
dan [Thu, 25 Feb 2021 18:23:39 +0000 (18:23 +0000)]
Fix a problem with UPDATE and DELETE statements that use both INDEXED BY and LIMIT clauses in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds.
FossilOrigin-Name:
cc2b4b38668bd32ebd8cf2e0d244eef2a6c7e0a1ee0a34c9c43eaf25c9cc09ae
dan [Thu, 25 Feb 2021 16:55:47 +0000 (16:55 +0000)]
Fix handling of INSERT on views with implicitly named hidden columns in SQLITE_ENABLE_HIDDEN_COLUMNS builds.
FossilOrigin-Name:
15795a96a8b3f4ea368b3eb29a4ff8d1b4b33ebb2bff2a5ccb045b8f01f9f99b
dan [Thu, 25 Feb 2021 15:50:19 +0000 (15:50 +0000)]
Ensure that tests like "rbu.test" and "notify2.test" that are only run by specific configurations during release testing are run for both release and debug versions of the tests.
FossilOrigin-Name:
911df43f98297bf645688dc51e988106a0297cb60bb97dde699c2848404fcf72
dan [Tue, 23 Feb 2021 16:40:47 +0000 (16:40 +0000)]
When a sub-transaction is released, if no pages required by containing sub-transactions were journaled, truncate the statement journal. This prevents out of control statement journal growth in some cases.
FossilOrigin-Name:
23ca23894af352ea351c9efcdd7d86b82455f4c81b6001052a6d13aa2d705e84
dan [Tue, 23 Feb 2021 15:53:22 +0000 (15:53 +0000)]
Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query.
FossilOrigin-Name:
20689468100aed264877111367b42837ca19e63e717fed2ebd4b20b908f13178
dan [Tue, 23 Feb 2021 15:36:06 +0000 (15:36 +0000)]
Further tests for the push-down optimization with window functions.
FossilOrigin-Name:
4b089f70117bfb440eaefd830c05576be0cc624d9d6018c869270dc68e44513e
dan [Mon, 22 Feb 2021 20:56:13 +0000 (20:56 +0000)]
Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query.
FossilOrigin-Name:
dac51f303bba1a0aac7768c688b0c134deb7641062cce2071d546f2d8f241dec
drh [Mon, 22 Feb 2021 19:57:58 +0000 (19:57 +0000)]
Add a few simple test cases for MATERIALIZED and NOT MATERIALIZED.
FossilOrigin-Name:
64878124c160f790bc5861fd799ada03bd7db0c4426b8abc3b7ad1f7aa181168
drh [Mon, 22 Feb 2021 16:42:09 +0000 (16:42 +0000)]
Implement the MATERIALIZED and NOT MATERIALIZED hints on common
table expressions.
FossilOrigin-Name:
b5a0778cc5a98a864bea72670f83262da940aceb91fa4cdf46ec097337a38a95
dan [Mon, 22 Feb 2021 15:44:45 +0000 (15:44 +0000)]
When a sub-transaction is released, if no pages required by containing sub-transactions were journaled, truncate the statement journal. This might prevent out-of-control statement journal growth in some cases.
FossilOrigin-Name:
e36327fb22db08763a82fb517407ff5ab0dbc053953098033e7e50796a777810
drh [Mon, 22 Feb 2021 14:25:40 +0000 (14:25 +0000)]
Add an ALWAYS() on a branch that is now unreachable.
FossilOrigin-Name:
ace54c5bd50176db7c60b7e3cf9293a86d9ecf2fea897467044020b9684c0af3
drh [Mon, 22 Feb 2021 11:07:25 +0000 (11:07 +0000)]
Fix inverted logic regarding the materialization hint on the push-down
optimization.
FossilOrigin-Name:
b66a49570852cf118a372a6ac44be3070cf9b4254696f16315b7c79a614e6c35
drh [Mon, 22 Feb 2021 03:04:25 +0000 (03:04 +0000)]
Add the AS MATERIALIZED and AS NOT MATERIALIZED syntax that works like it
does in PostgreSQL.
FossilOrigin-Name:
a6bb272ec0c758ab069bfc07443624e0ea7910b1f23224ee078d050fa3ccf068
drh [Sun, 21 Feb 2021 23:44:14 +0000 (23:44 +0000)]
Materialize any CTE that is used more than once.
FossilOrigin-Name:
ba59159fbe6b83fb6d79fbfee22d983768b0ebbaac7e99d2ac66c810e5e04100
drh [Sun, 21 Feb 2021 21:04:54 +0000 (21:04 +0000)]
Rename the "struct SrcList_item" object to the more succinct "SrcItem".
This is a symbolic change only. The logic is unmodified.
FossilOrigin-Name:
bfd5bf2c73110fcb36db9ba2a949ff516131fbd3e89325f88fe9f5c2b4ed87b2
drh [Sun, 21 Feb 2021 01:19:42 +0000 (01:19 +0000)]
Simplified resolution of CTE names. Slightly faster and about 100 bytes
of code smaller.
FossilOrigin-Name:
0d2c992f3622a6272ca4a3caff6b21f619fe976b8df8b34eff066086f8df2202
drh [Sat, 20 Feb 2021 21:20:54 +0000 (21:20 +0000)]
Performance improvement in resolving the INDEXED BY index name for the common
case where there is no INDEXED BY clause.
FossilOrigin-Name:
554b286ac208168bde91c6c6034cc7087410def76fce650b519661b2ee2c61b7
dan [Sat, 20 Feb 2021 19:22:32 +0000 (19:22 +0000)]
Fix a case where FTS3/4 could pass a NULL pointer to memcpy() when handling a corrupt db.
FossilOrigin-Name:
68bb541a39833d7d4bf41aa91cb6cd9c98757d1fc8236299d09db7e9b14d8ec9
dan [Sat, 20 Feb 2021 18:02:37 +0000 (18:02 +0000)]
Update sqlite3changeset_apply_v2() so that it handles no-op UPDATE changes (UPDATE changes that modify no columns). This fixes a regression introduced by [
e4ccfac09b ]. Also modify sqlite3rebaser_rebase() so that it does not output changesets containing such UPDATEs.
FossilOrigin-Name:
0288a8013e00594e716a5fb0d9f684dcfeb03e877650630e2736565fa6261290
drh [Sat, 20 Feb 2021 14:57:16 +0000 (14:57 +0000)]
Break out the Cte object from the With object. This will make it simpler
to add new kinds of Cte objects (ex: DML statements) and/or MATERIALIZED
keywords in the future. It brings trunk into closer alignment with the
experimental as-materialize branch.
FossilOrigin-Name:
f03efe905d7b40fb25f9f78b874bb56c6d6ccacb60f86b3b199d430d5eade8d2
drh [Sat, 20 Feb 2021 13:36:14 +0000 (13:36 +0000)]
Simplification to where.c manually cherrypicked from the as-materialize
branch.
FossilOrigin-Name:
03805a6117c813a33f9bca68bf4d9912997d6abd88ac9b3cb844c5d93ec68049
dan [Fri, 19 Feb 2021 18:39:32 +0000 (18:39 +0000)]
Fix another problem handling corrupt database files in the ALTER TABLE DROP COLUMN code.
FossilOrigin-Name:
9edf2ddc4799c8830c4b7b91d7aacee50029a4b9db329fd4c5674fbedea33034
dan [Fri, 19 Feb 2021 15:34:16 +0000 (15:34 +0000)]
Add tests for ALTER TABLE DROP COLUMN commands.
FossilOrigin-Name:
05dbea9b26bdcb096194dc531816333f3784eca50b133fe3efede6ab0d233472
dan [Fri, 19 Feb 2021 14:32:58 +0000 (14:32 +0000)]
Add support for "ALTER TABLE ... DROP COLUMN ..." commands.
FossilOrigin-Name:
c844a331e78949850fde8ed95058cb34f863566944bc9e92e3ae042768f130e1
dan [Fri, 19 Feb 2021 14:13:40 +0000 (14:13 +0000)]
Fix a crash that could occur in ALTER TABLE DROP COLUMN if the sqlite_schema table was corrupt.
FossilOrigin-Name:
126ee1ec4f3565c0cccca98885fa3665a641ea3df251511de16eed2a1c396124
drh [Fri, 19 Feb 2021 09:46:52 +0000 (09:46 +0000)]
Omit an branch made unreachable by the improved error message from dropping
the last column of a table.
FossilOrigin-Name:
c5719fc5aa04c50bb01533f1cedb73dc80c4bf5315ff6a7206c8a10504afca8b
drh [Fri, 19 Feb 2021 09:36:50 +0000 (09:36 +0000)]
The COLUMN keyword in ALTER TABLE DROP COLUMN is optional.
FossilOrigin-Name:
a22f87fb6c43dd6217691c8dd1cdcd7880068024fb779ca8a5def068d72c3e6b
drh [Fri, 19 Feb 2021 09:09:07 +0000 (09:09 +0000)]
Give a better error message on DROP COLUMN when attempting to drop
the last column of a table.
FossilOrigin-Name:
5e1f362bc3e53c60f9e6f771346d10c6e6a6cb3ff1eec5608101f9c5d6d2a5a4
drh [Fri, 19 Feb 2021 02:30:02 +0000 (02:30 +0000)]
Add a NEVER() to an unreachable branch in the DROP COLUMN logic.
FossilOrigin-Name:
963f498ae64cf7530fb7a405fa476c411ad66523f62f5eefa5a16596cd19a481
drh [Thu, 18 Feb 2021 23:53:47 +0000 (23:53 +0000)]
drh [Thu, 18 Feb 2021 23:03:50 +0000 (23:03 +0000)]
Enhance renameParseSql() to better handle OOMs.
FossilOrigin-Name:
68bcde7ab57b2d4bdcfb2f6c7134a0b01a504b2e7cdf6ee5bf0df70fb4a517b0
drh [Thu, 18 Feb 2021 22:47:34 +0000 (22:47 +0000)]
Merge changes from trunk into the alter-table-drop-column branch.
FossilOrigin-Name:
9ea640073f8809dfe2612ae1ea384a938b433f884c54d9e5aa3712de79397ac1
dan [Thu, 18 Feb 2021 20:27:46 +0000 (20:27 +0000)]
Fix DROP COLUMN so that it works even if the user has registered an authorizer callback.
FossilOrigin-Name:
e5f144182bbb3ba10c77151cf63c8bddf86374049fb6866387f85e335df298cb
dan [Thu, 18 Feb 2021 19:25:44 +0000 (19:25 +0000)]
Fix a problem with schema error detection when processing ALTER TABLE DROP COLUMN commands.
FossilOrigin-Name:
565a6fd0c95b438fea7bf84913b38de1718117e16e0d685534a8650e1dc8421b
dan [Thu, 18 Feb 2021 17:48:36 +0000 (17:48 +0000)]
dan [Thu, 18 Feb 2021 15:59:37 +0000 (15:59 +0000)]
Avoid invoking the update or pre-update hooks during VACUUM operations.
FossilOrigin-Name:
3c25cb4ab8885a50e2a485fe76f5ffd5dd8ebe1306aca8c0989e0b7fd7dd18d2
drh [Thu, 18 Feb 2021 15:45:34 +0000 (15:45 +0000)]
Improvement to the INSERT optimization of check-in [
16ac213c57196361 ] so
that it works with SQLITE_ENABLE_HIDDEN_COLUMN but is also easier to maintain
and a little faster as well.
FossilOrigin-Name:
f985a78ecc0c6d9ff671c730a109d97dc781b06e47a0ab03f441cea5d021a4c3
drh [Thu, 18 Feb 2021 14:27:43 +0000 (14:27 +0000)]
Disable the optimization of [
16ac213c57196361 ] when the
SQLITE_ENABLE_HIDDEN_COLUMN compile-time option is used, as the optimization
does not work in that case.
FossilOrigin-Name:
5168b06bcf283ef64cb9fd76330a743baf8bb0cd747c14eae23e607e0491cbce
dan [Thu, 18 Feb 2021 12:18:10 +0000 (12:18 +0000)]
Ensure that the pre-update hook is invoked for INSERT operations on WITHOUT ROWID tables that use the xfer optimization.
FossilOrigin-Name:
66bbad239b4527ac8ae8b487a0c71d88b1861a8dfe1edc25109600dc447c60c4
drh [Thu, 18 Feb 2021 01:02:03 +0000 (01:02 +0000)]
Add missing VdbeCoverage() macros to some of the new RETURNING code.
FossilOrigin-Name:
53a5390909822b3aef8c5f522144bc2e86cc31318b2d3e310a064ae7202b4a15
drh [Thu, 18 Feb 2021 00:59:16 +0000 (00:59 +0000)]
drh [Thu, 18 Feb 2021 00:26:11 +0000 (00:26 +0000)]
Performance optimization in the code generator for INSERT for the common
case where the target table has neither generated nor hidden columns.
Also fix a redundant (and thus unreachable) branch in the resolver.
FossilOrigin-Name:
16ac213c57196361a9d14df4c0d1ccc6f67ac522365b345ea364d1aec61fa3f2
drh [Wed, 17 Feb 2021 21:13:14 +0000 (21:13 +0000)]
Use the sqlite3ParserAddCleanup() mechanism to ensure that the AggInfo
structure associated with an aggregate query is deallocated, for a performance
increase and size reduction.
FossilOrigin-Name:
7a1399671fa10c64d5358cc4d364d24c643fe9dd8da923356462267ee7962f61
dan [Wed, 17 Feb 2021 20:46:44 +0000 (20:46 +0000)]
Fix a problem with OOM error handling in the new code on this branch.
FossilOrigin-Name:
ea999c9db59e4193b306a2e1b15fc94f8f04cb05e852bb0d068b7d5243a0849b
dan [Wed, 17 Feb 2021 20:19:13 +0000 (20:19 +0000)]
dan [Wed, 17 Feb 2021 20:08:22 +0000 (20:08 +0000)]
Fix various issues with the changes on this branch. Add test cases for the same.
FossilOrigin-Name:
10538ec6fc1642dfc2ca6cef06ce6cb9e124847b421ccf01f5842064fad379ab
drh [Wed, 17 Feb 2021 13:19:22 +0000 (13:19 +0000)]
Enhance the ".once" and ".output" commands in the CLI so that if the
filename argument begins with "|" the name becomes the concatenation
of all subsequent arguments. Hence, commands like ".once | open -f" become
possible without the need for quotes.
FossilOrigin-Name:
c46a94a624c2cc6c49ac916a206a913081e1628c24805987cabc75c9057ea36b
dan [Tue, 16 Feb 2021 20:43:36 +0000 (20:43 +0000)]
Add experimental implementation of ALTER TABLE DROP COLUMN. Only some cases work so far.
FossilOrigin-Name:
f0217937d7306fb595727e61e871e8b03d8c881d339a0865bfd0117d90d42e4e
drh [Tue, 16 Feb 2021 20:32:17 +0000 (20:32 +0000)]
Simplification to the resolveAlias() routine.
FossilOrigin-Name:
00bead3931135af80475c22f08cbb26c914518e8f2c7e73c2b8be1cee4ac4d5e
drh [Tue, 16 Feb 2021 20:01:08 +0000 (20:01 +0000)]
New SELECTTRACE macros more clearly deliniate when the query planner is
invoked in the middle of PRAGMA vdbe_addoptrace output.
FossilOrigin-Name:
7c03ce49b74f72b63dd75c3a02625e671bfd771f71b24e808994322b00d97677
drh [Mon, 15 Feb 2021 17:02:01 +0000 (17:02 +0000)]
Fix an issue with the LIKE operator when it includes the "ESCAPE '_'" clause.
Ticket [
c0aeea67d58ae0fd ].
FossilOrigin-Name:
27d4117980d125975b5e70eeea58a6ab07bcf066e71b5fcb81b822e05afdbab0
dan [Mon, 15 Feb 2021 14:32:05 +0000 (14:32 +0000)]
drh [Mon, 15 Feb 2021 13:17:19 +0000 (13:17 +0000)]
Ensure that the ALTER TABLE statements return 0 for
sqlite3_column_count().
FossilOrigin-Name:
29c1932a47cd46c2585ebbf937c03544a8a355014776129662789e15db9ed4de
dan [Mon, 15 Feb 2021 11:14:53 +0000 (11:14 +0000)]
drh [Sat, 13 Feb 2021 18:14:15 +0000 (18:14 +0000)]
Fix incorrect test name labels in the select1.test script.
FossilOrigin-Name:
179c79ea0deb0f5adaa8d369cfcad06d959a9cc18a8a41e01ef013b2d90acd61
drh [Sat, 13 Feb 2021 16:39:24 +0000 (16:39 +0000)]
Avoid manifesting a CTE (or other view) multiple times when it is possible to
reuse the first manifestation.
FossilOrigin-Name:
9692f510803c9b9725abb687d7c10fbc0d5ed784479ec6f3fcc55925a87fe16d
dan [Sat, 13 Feb 2021 14:26:25 +0000 (14:26 +0000)]
Fix a problem in the unreleased union-all flattening code.
FossilOrigin-Name:
e4f8a79fd8b3be9bf8add5f5e1c66bc2fe78da4e50ea500ab0b8370d30e31ba5
dan [Fri, 12 Feb 2021 21:22:01 +0000 (21:22 +0000)]
Fix a test case to account for the fact that different versions of OpenBSD behave differently when a program tries to read() from a file-descriptor open on a directory.
FossilOrigin-Name:
ecd712032f56a20d7df2bcf89b0d3b8d91dc72c552e27f0a4b23980bd49747b0
dan [Fri, 12 Feb 2021 11:37:13 +0000 (11:37 +0000)]
Ensure RBU tests are run as part of release testing.
FossilOrigin-Name:
a18dc08bafefd849e640086b18c41e06361d2e09d7dd2e9af4a394dc543e598b
dan [Wed, 10 Feb 2021 20:00:40 +0000 (20:00 +0000)]
Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing.
FossilOrigin-Name:
66c07a07b21e46529780eec3c82a84c494d586f8b7ed80b78d358e23b80458c7
dan [Wed, 10 Feb 2021 19:49:35 +0000 (19:49 +0000)]
Remove an assert() added by the previous commit that is sometimes false.
FossilOrigin-Name:
fb36ac4dc60ccc6c5fba3f23e13fcab985f27ebef0527c929806cda5f9d3660c
dan [Wed, 10 Feb 2021 19:40:47 +0000 (19:40 +0000)]
Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing.
FossilOrigin-Name:
cb5bdf82fe0f90922dc34202be9d0aa34d899afff4200456623765da2877ca41
dan [Wed, 10 Feb 2021 17:31:50 +0000 (17:31 +0000)]
In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS.
FossilOrigin-Name:
bd1e9e0a4c0e07901ef59fe3b7e6f7b9cc66ccfcd5192f576e1620820891de99
drh [Mon, 8 Feb 2021 15:56:01 +0000 (15:56 +0000)]
Correctly detect correlated subqueries when resolving names in RETURNING
clauses.
FossilOrigin-Name:
b43cfa04922a401442b9d1708e3e4a88d3cfa2c591f9a6b253d99ba83f4b280a
drh [Mon, 8 Feb 2021 13:41:17 +0000 (13:41 +0000)]
Improved name resolution for references to a table begin modified from
within a subquery in the RETURNING clause.
FossilOrigin-Name:
799d205bfa7945ee4a92dfec5fbf90a00b9a535e3171aab2ec46404f7efb0f78
drh [Sun, 7 Feb 2021 23:28:20 +0000 (23:28 +0000)]
Do not allow RETURNING in the DML statements of a trigger.
FossilOrigin-Name:
7a8fe6463a9728bc4e34465688a059afb74f3c373cde8fdf570d5d148fdde04d
drh [Sun, 7 Feb 2021 12:59:43 +0000 (12:59 +0000)]
drh [Sat, 6 Feb 2021 14:56:30 +0000 (14:56 +0000)]
Remove an ALWAYS() and NEVER() in the authorizer that become reachable
as of [
078dbff04a95a001 ]. Test case for coverage in TH3.
FossilOrigin-Name:
b469327e2949352325d3db815bd4782f9734239c378f08afd2f00ffa54bef924
drh [Sat, 6 Feb 2021 14:37:36 +0000 (14:37 +0000)]
Fix the OSSFuzz-discovered shift problem from two days ago. This patch was
omitted from [
078dbff04a95a001 ] apparently because I made the edit to
"sqlite3.c" rather than "resolve.c" where it belongs.
FossilOrigin-Name:
864772ffec4e91d8d73f9b97e6e1d7bd4e0537de19d11d30aed7eedd5b7d394a