Fix indexes on expressions so that they can be actually used with
a COLLATE clause.
FossilOrigin-Name: e464b919f76520b45bb58983c6702db59d820ee4
diff --git a/src/expr.c b/src/expr.c
index ff4f1b5..6a1a928 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4681,6 +4681,17 @@
}
/*
+** Like sqlite3ExprCompare() except COLLATE operators at the top-level
+** are ignored.
+*/
+int sqlite3ExprCompareSkip(Expr *pA, Expr *pB, int iTab){
+ return sqlite3ExprCompare(
+ sqlite3ExprSkipCollate(pA),
+ sqlite3ExprSkipCollate(pB),
+ iTab);
+}
+
+/*
** Return true if we can prove the pE2 will always be true if pE1 is
** true. Return false if we cannot complete the proof or if pE2 might
** be false. Examples: