Avoid incorrectly replacing tokens that refer to a column being renamed via an
alias. For example, do not overwrite "xyz" when "a" is renamed in "CREATE VIEW
v1 AS SELECT a AS xyz FROM tbl WHERE xyz=1"

FossilOrigin-Name: ad072a835f97ff418f5919d94f547ce8afb4fc7c7b590deba41f1e62136a79ac
diff --git a/src/alter.c b/src/alter.c
index ee19a0e..c42b7bb 100644
--- a/src/alter.c
+++ b/src/alter.c
@@ -966,7 +966,7 @@
       break;
     }
   }
-  assert( p );
+  assert( pTo==0 || p );
 }
 
 /*
@@ -989,6 +989,7 @@
 */
 static void renameTokenFind(Parse *pParse, struct RenameCtx *pCtx, void *pPtr){
   RenameToken **pp;
+  assert( pPtr!=0 );
   for(pp=&pParse->pRename; (*pp); pp=&(*pp)->pNext){
     if( (*pp)->p==pPtr ){
       RenameToken *pToken = *pp;
diff --git a/src/resolve.c b/src/resolve.c
index 40ffe8c..3ac6f53 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -436,6 +436,9 @@
           cnt = 1;
           pMatch = 0;
           assert( zTab==0 && zDb==0 );
+          if( IN_RENAME_COLUMN ){
+            sqlite3RenameTokenRemap(pParse, 0, (void*)pExpr);
+          }
           goto lookupname_end;
         }
       }