aboutsummaryrefslogtreecommitdiff
path: root/src/alter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alter.c')
-rw-r--r--src/alter.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/alter.c b/src/alter.c
index 013257f90..ff3845290 100644
--- a/src/alter.c
+++ b/src/alter.c
@@ -724,6 +724,24 @@ void sqlite3RenameExprUnmap(Parse *pParse, Expr *pExpr){
}
/*
+** Remove all nodes that are part of expression-list pEList from the
+** rename list.
+*/
+void sqlite3RenameExprlistUnmap(Parse *pParse, ExprList *pEList){
+ if( pEList ){
+ int i;
+ Walker sWalker;
+ memset(&sWalker, 0, sizeof(Walker));
+ sWalker.pParse = pParse;
+ sWalker.xExprCallback = renameUnmapExprCb;
+ sqlite3WalkExprList(&sWalker, pEList);
+ for(i=0; i<pEList->nExpr; i++){
+ sqlite3RenameTokenRemap(pParse, 0, (void*)pEList->a[i].zName);
+ }
+ }
+}
+
+/*
** Free the list of RenameToken objects given in the second argument
*/
static void renameTokenFree(sqlite3 *db, RenameToken *pToken){