diff options
author | drh <> | 2023-02-27 14:48:54 +0000 |
---|---|---|
committer | drh <> | 2023-02-27 14:48:54 +0000 |
commit | baef8442d3373b321f25b8d034ac33ff228d23e6 (patch) | |
tree | 5a1b41a03c73dbe377a76f3c7b578a09b9b14baf /src | |
parent | ef22012b6e3d4cc271ca727b525aa1bf5e77cc73 (diff) | |
download | sqlite-baef8442d3373b321f25b8d034ac33ff228d23e6.tar.gz sqlite-baef8442d3373b321f25b8d034ac33ff228d23e6.zip |
Further to [46639f682975dac6], the parameters of a table valued function that
is on the left side of a RIGHT JOIN do not need to be in the ON clause. Add
new test cases and tags to associated test cases with the code.
FossilOrigin-Name: 18ee689de3d1ae43b05ca52e0b62c49442ebf68a88814a7c679e8856250a4b0d
Diffstat (limited to 'src')
-rw-r--r-- | src/whereexpr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/whereexpr.c b/src/whereexpr.c index 7860480dd..d02c8ccfc 100644 --- a/src/whereexpr.c +++ b/src/whereexpr.c @@ -1856,9 +1856,12 @@ void sqlite3WhereTabFuncArgs( pRhs = sqlite3PExpr(pParse, TK_UPLUS, sqlite3ExprDup(pParse->db, pArgs->a[j].pExpr, 0), 0); pTerm = sqlite3PExpr(pParse, TK_EQ, pColRef, pRhs); - if( pItem->fg.jointype & (JT_LEFT|JT_LTORJ|JT_RIGHT) ){ + if( pItem->fg.jointype & (JT_LEFT|JT_RIGHT) ){ + testcase( pItem->fg.jointype & JT_LEFT ); /* testtag-20230227a */ + testcase( pItem->fg.jointype & JT_RIGHT ); /* testtag-20230227b */ joinType = EP_OuterON; }else{ + testcase( pItem->fg.jointype & JT_LTORJ ); /* testtag-20230227c */ joinType = EP_InnerON; } sqlite3SetJoinExpr(pTerm, pItem->iCursor, joinType); |