diff options
author | dan <dan@noemail.net> | 2018-08-11 13:40:20 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2018-08-11 13:40:20 +0000 |
commit | e325ffed04ee9fd40cc7dab8f3209e1745e8041a (patch) | |
tree | 9c583ce368b0f7b3b360139606b8059b2e8fb89e /src/alter.c | |
parent | 5da06d3d7e2fcbc3f348768a5706035411e596a9 (diff) | |
download | sqlite-e325ffed04ee9fd40cc7dab8f3209e1745e8041a.tar.gz sqlite-e325ffed04ee9fd40cc7dab8f3209e1745e8041a.zip |
Reload the entire schema after renaming a column in order to ensure that the
schema for any tables for which parent key definitions were changed are
reloaded.
FossilOrigin-Name: f4497b0136e9fcb1121a834c86f84eeaf8f1e7d3157d409484e086bcef3487f1
Diffstat (limited to 'src/alter.c')
-rw-r--r-- | src/alter.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/alter.c b/src/alter.c index d73b11a14..6bf2d4c0c 100644 --- a/src/alter.c +++ b/src/alter.c @@ -831,9 +831,12 @@ void sqlite3AlterRenameColumn( zDb, MASTER_NAME, iCol, zNew, pTab->zName, zOld, pTab->zName ); - /* Drop and reload the internal table schema. */ - sqlite3ChangeCookie(pParse, iSchema); - reloadTableSchema(pParse, pTab, pTab->zName); + /* Drop and reload the database schema. */ + if( db->mallocFailed==0 ){ + assert( pParse->pVdbe ); + sqlite3ChangeCookie(pParse, iSchema); + sqlite3VdbeAddParseSchemaOp(pParse->pVdbe, iSchema, 0); + } exit_rename_column: sqlite3SrcListDelete(db, pSrc); |