If a table is the right operand of a LEFT JOIN, then any column of that
table can be NULL even if that column as a NOT NULL constraint.
Fix for ticket [6f2222d550f5b0ee7ed].
FossilOrigin-Name: 6f6fcbe4736b9468a495c684d5eebc8bfe5c566a
diff --git a/src/resolve.c b/src/resolve.c
index 8fb580b..d4bd548 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -320,6 +320,10 @@
if( pMatch ){
pExpr->iTable = pMatch->iCursor;
pExpr->pTab = pMatch->pTab;
+ assert( (pMatch->jointype & JT_RIGHT)==0 ); /* RIGHT JOIN not (yet) supported */
+ if( (pMatch->jointype & JT_LEFT)!=0 ){
+ ExprSetProperty(pExpr, EP_CanBeNull);
+ }
pSchema = pExpr->pTab->pSchema;
}
} /* if( pSrcList ) */