aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2023-02-27 14:48:54 +0000
committerdrh <>2023-02-27 14:48:54 +0000
commitbaef8442d3373b321f25b8d034ac33ff228d23e6 (patch)
tree5a1b41a03c73dbe377a76f3c7b578a09b9b14baf /src
parentef22012b6e3d4cc271ca727b525aa1bf5e77cc73 (diff)
downloadsqlite-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.c5
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);