Recognize TK_COLLATE operators that have been transformed into TK_REGISTER.
Skip both TK_COLLATE and TK_AS operators when looking for the top of an
expression.

FossilOrigin-Name: f66c1db2965054f38125218202b6a6ec62d57666
diff --git a/src/expr.c b/src/expr.c
index 0e4a3cb..abba7d4 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -85,10 +85,13 @@
 }
 
 /*
-** Skip over any TK_COLLATE operator in an expression.
+** Skip over any TK_COLLATE and/or TK_AS operators at the root of
+** an expression.
 */
 Expr *sqlite3ExprSkipCollate(Expr *pExpr){
-  if( pExpr && pExpr->op==TK_COLLATE ) pExpr = pExpr->pLeft;
+  while( pExpr && (pExpr->op==TK_COLLATE || pExpr->op==TK_AS) ){
+    pExpr = pExpr->pLeft;
+  }
   return pExpr;
 }
 
@@ -111,7 +114,7 @@
       p = p->pLeft;
       continue;
     }
-    if( op==TK_COLLATE ){
+    if( op==TK_COLLATE || (op==TK_REGISTER && p->op2==TK_COLLATE) ){
       if( db->init.busy ){
         /* Do not report errors when parsing while the schema */
         pColl = sqlite3FindCollSeq(db, ENC(db), p->u.zToken, 0);