mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
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
This commit is contained in:
@@ -966,7 +966,7 @@ void sqlite3RenameTokenRemap(Parse *pParse, void *pTo, void *pFrom){
|
||||
break;
|
||||
}
|
||||
}
|
||||
assert( p );
|
||||
assert( pTo==0 || p );
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -989,6 +989,7 @@ static void renameTokenFree(sqlite3 *db, RenameToken *pToken){
|
||||
*/
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user