Fix some issues with vector range constraints and the column cache. Also vector range constraints and rowid columns.

FossilOrigin-Name: 42607366bfc2dceb1013797a973b3b8df75dcb4d
diff --git a/src/expr.c b/src/expr.c
index 3dcb73f..264f27d 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -411,6 +411,7 @@
       Expr *pL, *pR; 
       int r1, r2;
 
+      if( i ) sqlite3ExprCachePush(pParse);
       if( regLeft ){
         pL = pLeft->x.pSelect->pEList->a[i].pExpr;
         r1 = regLeft+i;
@@ -431,6 +432,7 @@
       sqlite3VdbeAddOp3(v, opTest, dest, addr, p3);
       sqlite3ReleaseTempReg(pParse, regFree1);
       sqlite3ReleaseTempReg(pParse, regFree2);
+      if( i ) sqlite3ExprCachePop(pParse);
     }
   }