1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-18 10:21:03 +03:00

Make sure the code generator knows to invoke row-value subroutines which

running the right-join post-processing loop.

FossilOrigin-Name: fd328e52aee1dace12b1c2f44b6f7e9d15d8f77c8e9d9e3d85840a129a4b1808
This commit is contained in:
drh
2022-04-21 14:48:40 +00:00
parent 825a6bffc4
commit 503ad9c72d
4 changed files with 22 additions and 8 deletions

View File

@@ -2843,6 +2843,8 @@ SQLITE_NOINLINE void sqlite3WhereRightJoinLoop(
sFrom.nAlloc = 1;
memcpy(&sFrom.a[0], pTabItem, sizeof(SrcItem));
sFrom.a[0].fg.jointype = 0;
assert( pParse->withinRJSubrtn < 100 );
pParse->withinRJSubrtn++;
pSubWInfo = sqlite3WhereBegin(pParse, &sFrom, pSubWhere, 0, 0, 0,
WHERE_RIGHT_JOIN, 0);
if( pSubWInfo ){
@@ -2875,4 +2877,6 @@ SQLITE_NOINLINE void sqlite3WhereRightJoinLoop(
}
sqlite3ExprDelete(pParse->db, pSubWhere);
ExplainQueryPlanPop(pParse);
assert( pParse->withinRJSubrtn>0 );
pParse->withinRJSubrtn--;
}