aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/alter.c3
-rw-r--r--src/resolve.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/alter.c b/src/alter.c
index ee19a0e22..c42b7bb20 100644
--- a/src/alter.c
+++ b/src/alter.c
@@ -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;
diff --git a/src/resolve.c b/src/resolve.c
index 40ffe8ce9..3ac6f5305 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -436,6 +436,9 @@ static int lookupName(
cnt = 1;
pMatch = 0;
assert( zTab==0 && zDb==0 );
+ if( IN_RENAME_COLUMN ){
+ sqlite3RenameTokenRemap(pParse, 0, (void*)pExpr);
+ }
goto lookupname_end;
}
}