Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only.

FossilOrigin-Name: 4dfebff2924f46284d5b9cda69175f79b29d6028
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index ea41e65..9dfc0bc 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -3936,7 +3936,8 @@
 int sqlite3GetToken(const unsigned char *, int *);
 void sqlite3NestedParse(Parse*, const char*, ...);
 void sqlite3ExpirePreparedStatements(sqlite3*);
-int sqlite3CodeSubselect(Parse *, Expr *, int, int);
+int sqlite3CodeSubselect(Parse*, Expr *, int, int);
+int sqlite3ExprCheckIN(Parse*, Expr*);
 void sqlite3SelectPrep(Parse*, Select*, NameContext*);
 void sqlite3SelectWrongNumTermsError(Parse *pParse, Select *p);
 int sqlite3MatchSpanName(const char*, const char*, const char*, const char*);