]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Wed, 24 Mar 2021 19:57:41 +0000 (19:57 +0000)]
Add a comment to snapshotrevert.c warning of the undefined effects reverting to an old snapshot may have on newer readers.
FossilOrigin-Name:
00af3bd254a06420167ec0c067206b7c5f5b8bdf191fbdffbbf9793ff50a1452
dan [Wed, 24 Mar 2021 19:54:20 +0000 (19:54 +0000)]
Add experimental extension "snapshotrevert".
FossilOrigin-Name:
2d5ee3bad19ad0d959d3f6fbc592031b0b764c4111bc2aa1b34df6822250ca7e
drh [Fri, 12 Mar 2021 16:18:00 +0000 (16:18 +0000)]
Merge version 3.35.0 changes into the begin-concurrent branch.
FossilOrigin-Name:
7e38c889e7eece521db24c379cb1be7c4c49e2ba4dc04c2a10151793a6bb04df
drh [Fri, 12 Mar 2021 15:10:09 +0000 (15:10 +0000)]
drh [Fri, 12 Mar 2021 13:49:09 +0000 (13:49 +0000)]
drh [Fri, 12 Mar 2021 01:49:08 +0000 (01:49 +0000)]
Fix the ".read" command in the CLI so that SQLITE_OMIT_POPEN disables
reading from a pipeline.
FossilOrigin-Name:
cea34f3cc35ad6dc67691799a219a30739f2296945d624d232bf76150c598ec0
larrybr [Fri, 12 Mar 2021 00:44:10 +0000 (00:44 +0000)]
Conform description of sqlite3changeset_op() arguments to implemented behavior, some reformatting.
This is a comment-only change; no code is affected.
FossilOrigin-Name:
9d6e544c47b9a5d97bd02a658db5cd202bd1952f8ba3bc50e8cf47d7206041c0
dan [Thu, 11 Mar 2021 18:52:12 +0000 (18:52 +0000)]
Update this branch with latest changes from trunk.
FossilOrigin-Name:
79d44ebd5313fe261d7b51826deb119ac6d46388f955457c020ce623b9a3e53d
dan [Thu, 11 Mar 2021 15:57:25 +0000 (15:57 +0000)]
drh [Thu, 11 Mar 2021 13:43:29 +0000 (13:43 +0000)]
Bug fix in appendvfs.c: Adjust the size parameter for
SQLITE_FCNTL_SIZE_HINT to account for the prefix.
FossilOrigin-Name:
41df3bbefd63151f2ddb920066777eab8e07ecfc0edb0f71f9493debe0a4a2c4
dan [Thu, 11 Mar 2021 08:49:52 +0000 (08:49 +0000)]
Have the Tcl tests support environment variable SQLITE_TEST_PATTERN_LIST, so that if it is set it is interpreted as a list of patterns that are matched against tests file names. Only test files that match at least one pattern are run.
FossilOrigin-Name:
b7c92e1d08f213865f026d8dbdc4e805fb5c119b7f206506ed06e83a878de657
dan [Wed, 10 Mar 2021 20:04:21 +0000 (20:04 +0000)]
dan [Wed, 10 Mar 2021 19:32:47 +0000 (19:32 +0000)]
Fix further sanitizer complaints in the fts5 code.
FossilOrigin-Name:
4cb00b9d4020a51f690720c6f51009c5be8c22ef8c70807ead1d953d19784f26
drh [Wed, 10 Mar 2021 18:21:18 +0000 (18:21 +0000)]
Improved testcase() related the SQLITE_MAX_ATTACHED vs. SQLITE_MAX_DB problem.
FossilOrigin-Name:
27d3c00efef66ad48ed94228474dbea3ad81ea5c19425028c42cf4220920a645
drh [Wed, 10 Mar 2021 17:52:59 +0000 (17:52 +0000)]
Improvement to the ATTACH-abuse authorizer logic in fuzzcheck.
FossilOrigin-Name:
88132f698a7a9b7d41dd1dd393592cbda130d2bf1a9fd18c509503e1891b9655
dan [Wed, 10 Mar 2021 17:43:18 +0000 (17:43 +0000)]
Do not run avfs.test when testing SQLITE_OMIT_VIRTUALTABLE builds.
FossilOrigin-Name:
2ab6957a2238a2ab713a50d21dbd9921c944e8141197275bbfe7dae303fee7d0
drh [Wed, 10 Mar 2021 16:35:37 +0000 (16:35 +0000)]
Do not confuse the constant SQLITE_MAX_ATTACHED with the maximum number of
schemas. Add the new SQLITE_MAX_DB constant for the maximum number of
schemas. [forum:/forumpost/
a006d86f72 |Forum post
a006d86f72 ].
FossilOrigin-Name:
7b65fb9f7bd616f834633afd64b3448bf9ca2b6e4cc6d6c01e75d1d877c88a79
dan [Wed, 10 Mar 2021 15:10:20 +0000 (15:10 +0000)]
Fix test file avfs.test so that it works with SQLITE_DEFAULT_AUTOVACUUM builds. Do not run avfs.test under test permutation "journaltest".
FossilOrigin-Name:
2c6078ebe797dd2cb6045b5f13e6d92a6b49393ecf96f9fd7222412f5a3eefd5
dan [Wed, 10 Mar 2021 14:57:10 +0000 (14:57 +0000)]
dan [Wed, 10 Mar 2021 10:43:17 +0000 (10:43 +0000)]
Fix a problem preventing wapptest from setting SQLITE_ENABLE_LOCKING_STYLE for OSX tests. Also modify the "Sanitize" configuration in releasetest_data.tcl to subsume test item 6g.
FossilOrigin-Name:
f762d7df2a41a88560a4251d744e0887f42812f8160af4f0129d22a71c0fa48b
larrybr [Wed, 10 Mar 2021 06:06:16 +0000 (06:06 +0000)]
When shell has no .ar, fake its effect w.r.t. page_size and table creation/filling.
FossilOrigin-Name:
959f5c65ea14f4716df61e250e9d5a0d69d602a2a973ad22a364e640162c2983
drh [Tue, 9 Mar 2021 23:38:27 +0000 (23:38 +0000)]
dan [Tue, 9 Mar 2021 21:20:12 +0000 (21:20 +0000)]
drh [Tue, 9 Mar 2021 20:58:21 +0000 (20:58 +0000)]
Fix a bad comment (copy-paste error) in the byte code engine. No code changes.
FossilOrigin-Name:
1c01745734c7b62a8c792f743aae08dfbb9e047dc92fef8da067fec152b20fd5
drh [Tue, 9 Mar 2021 19:52:15 +0000 (19:52 +0000)]
Improved comments on the NOT NULL strength reduction optimization.
FossilOrigin-Name:
a85d72293914b48edbb39171fd591d37ffb09570d8103140a052203ec71d49ee
drh [Tue, 9 Mar 2021 19:32:37 +0000 (19:32 +0000)]
Extra comments and testcase() macros associated with the new
sqlite3ParserAddCleanup() mechanism. No changes to release builds.
FossilOrigin-Name:
c3c8691121e6cb7bfc326212cc81a7472c0e6f22e655ab024bd4bd885e1cd878
drh [Tue, 9 Mar 2021 17:09:00 +0000 (17:09 +0000)]
Add --enable-math to the amalgamation autoconf. On be default. Improved
logging of the amalgamation autoconf.
FossilOrigin-Name:
85d28b52250e1817b722dc10da3b7b73abf7539cbe7aa913b5960ae4da40d5f8
drh [Tue, 9 Mar 2021 16:35:14 +0000 (16:35 +0000)]
Math functions are enabled by default in the main configure script.
FossilOrigin-Name:
b7456e0715c63308b7b3acf49eb66ecd947481400d4688ae459e2e1499447bcd
drh [Tue, 9 Mar 2021 13:53:39 +0000 (13:53 +0000)]
Improvements to the configure script. Math functions are enabled
by --enable-all.
FossilOrigin-Name:
c79c6d18dee608e54ae31388b240cc521218309094502d8815111bb4ddf7d9ef
drh [Tue, 9 Mar 2021 13:12:58 +0000 (13:12 +0000)]
Update the authorizer in fuzzcheck to align with dbsqlfuzz.
FossilOrigin-Name:
f86d8fae3b29de014d8bfcae38a15bdb15ddceabfcfff7829f3145cfd69dff2a
larrybr [Mon, 8 Mar 2021 20:13:43 +0000 (20:13 +0000)]
Add tests for too-tiny appended DBs, clarify align macro.
FossilOrigin-Name:
eb40a8dea6afe6890ddda989de83f3d4ae03b112bf78bfc818dfbd57cc5b5b2a
dan [Mon, 8 Mar 2021 17:22:01 +0000 (17:22 +0000)]
drh [Mon, 8 Mar 2021 17:17:38 +0000 (17:17 +0000)]
drh [Mon, 8 Mar 2021 16:29:06 +0000 (16:29 +0000)]
Fix a harmless compiler warning in appendvfs.c
FossilOrigin-Name:
f538961a8058cc327d64c8ec317f1b4f8bbb604f90261160c6c27f26f4800682
drh [Mon, 8 Mar 2021 16:13:52 +0000 (16:13 +0000)]
larrybr [Mon, 8 Mar 2021 14:32:26 +0000 (14:32 +0000)]
Added test/avfs.test (missing from branch merge for some reason.)
FossilOrigin-Name:
08fa67053c20d223c9b5334fe2e85adc95588b91046c100d7fe8e8e2535e485f
larrybr [Mon, 8 Mar 2021 14:26:22 +0000 (14:26 +0000)]
drh [Mon, 8 Mar 2021 13:45:08 +0000 (13:45 +0000)]
Require that the appendvfs suffix mark indicate that the appended database
begins at an offset that is a muliple of 512 and that the appended database
contains at least 512 bytes.
FossilOrigin-Name:
aeb87cc70495dd172e170eff31fd754331d4b979c0b649ab239f8c5c0c76e695
drh [Mon, 8 Mar 2021 13:30:29 +0000 (13:30 +0000)]
Correct the precendence order for rules that determine how a database is
opened by appendvfs when a database is appended to another database.
FossilOrigin-Name:
92989fc56f2e81ac13f8106ec83c930f43d10715269b988ee47c9bfa53621995
drh [Mon, 8 Mar 2021 12:59:16 +0000 (12:59 +0000)]
larrybr [Mon, 8 Mar 2021 01:31:53 +0000 (01:31 +0000)]
Add tests for sqlite3 shell with -append flag.
FossilOrigin-Name:
d1790288729441d53603709df02aa5fb5f04714e2da86ce128ca81840b0b545f
larrybr [Sun, 7 Mar 2021 18:55:25 +0000 (18:55 +0000)]
Add grow/shrink tests. Fix truncate bug. Make appendvfs.c easier to inspect.
FossilOrigin-Name:
c9521fa55620d0cb3cec20db7b42bc5f18876b42dca07811d1cd0f4b2907eab2
larrybr [Sat, 6 Mar 2021 23:49:18 +0000 (23:49 +0000)]
larrybr [Sat, 6 Mar 2021 23:36:47 +0000 (23:36 +0000)]
Create initial tests for appendvfs, and make it available as a statically loaded extension.
FossilOrigin-Name:
9f33d45179f5985bd4c4f7582e94f5833a63f853c8cdc19f39cf7e3ee70177d0
drh [Sat, 6 Mar 2021 15:13:26 +0000 (15:13 +0000)]
Limit parenthesis nesting depth in FTS3 expressions to
SQLITE_MAX_EXPR_DEPTH.
FossilOrigin-Name:
5ddd8032ef9ecd5b53909d304c8f1375a72f270fd7810964cb4e385e25bedd4f
dan [Sat, 6 Mar 2021 14:46:24 +0000 (14:46 +0000)]
Ensure the correct collation sequence is used for comparisons when delimiting a RANGE window.
FossilOrigin-Name:
01eae68e85b31b7a9f08733459765bbd9bf9dad592bf64f10fc2fa32e02a89c2
dan [Sat, 6 Mar 2021 13:28:07 +0000 (13:28 +0000)]
Fix a crash in fts3 that could occur when running a NEAR query on a corrupt database.
FossilOrigin-Name:
609d94996324f3d3c12bb8cc04a2527d1d86c35cdb2267b5b34053c961158986
drh [Sat, 6 Mar 2021 13:02:12 +0000 (13:02 +0000)]
Fix a possible NULL pointer dereference when applying a DROP COLUMN to a
corrupt database schema. dbsqlfuzz
419aa525df93db6e463772c686ac6da27b46da9e
FossilOrigin-Name:
349ccf58ae4bb770805066102fc8e9e478d4da1f7a6a728223bd74eabf7b7843
larrybr [Fri, 5 Mar 2021 20:52:19 +0000 (20:52 +0000)]
Merge last day of trunk changes, reverify build.
FossilOrigin-Name:
1d67ed1c98a6bc49cce6bdc156bd6f22b3f37d33226bd62430a43aa5318f5781
larrybr [Fri, 5 Mar 2021 20:46:53 +0000 (20:46 +0000)]
Fix appendvfs bug exposed by docsapp build (in docsrc), and tighten/revise published behavior.
FossilOrigin-Name:
7f0f2eacdb496f7f36865ba62164a48edb324a3c6baede736b4e7edf5e8b0fdb
drh [Fri, 5 Mar 2021 18:33:01 +0000 (18:33 +0000)]
Modify the SQLITE_DBCONFIG_ENABLE_VIEW option so that it always permits
TEMP views, just as SQLITE_DBCONFIG_ENABLE_TRIGGER always permits TEMP
triggers.
FossilOrigin-Name:
83dab8b358b6832a221a58e74dd5e99b9cdea4eee65124bb6799881e867d989c
dan [Fri, 5 Mar 2021 15:42:15 +0000 (15:42 +0000)]
Fix problems with RETURNING clauses attached to UPDATEs on tables with virtual columns.
FossilOrigin-Name:
6b41b136fbfc0b56a6948f2306b69fb1d69306adb86674a15a87fe3b52062512
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
larrybr [Fri, 5 Mar 2021 09:42:58 +0000 (09:42 +0000)]
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
drh [Wed, 3 Mar 2021 19:17:25 +0000 (19:17 +0000)]
Merge recent trunk changes into the begin-concurrent branch.
FossilOrigin-Name:
acdafef836605ba2079966abde1fa40c43995b6a049d84f631e613605cabda3d
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