Skip to content

Commit 8a0f141

Browse files
author
Shlomi Noach
committed
dropped columns are not 'shared' and no data copy attempted for such columns
1 parent b0469b9 commit 8a0f141

4 files changed

Lines changed: 13 additions & 0 deletions

File tree

go/base/context.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ type MigrationContext struct {
181181
UniqueKey *sql.UniqueKey
182182
SharedColumns *sql.ColumnList
183183
ColumnRenameMap map[string]string
184+
DroppedColumnsMap map[string]bool
184185
MappedSharedColumns *sql.ColumnList
185186
MigrationRangeMinValues *sql.ColumnValues
186187
MigrationRangeMaxValues *sql.ColumnValues

go/logic/inspect.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,14 @@ func (this *Inspector) getSharedColumns(originalColumns, ghostColumns *sql.Colum
662662
}
663663
sharedColumnNames := []string{}
664664
for _, originalColumn := range originalColumns.Names() {
665+
isSharedColumn := false
665666
if columnsInGhost[originalColumn] || columnsInGhost[columnRenameMap[originalColumn]] {
667+
isSharedColumn = true
668+
}
669+
if this.migrationContext.DroppedColumnsMap[originalColumn] {
670+
isSharedColumn = false
671+
}
672+
if isSharedColumn {
666673
sharedColumnNames = append(sharedColumnNames, originalColumn)
667674
}
668675
}

go/logic/migrator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ func (this *Migrator) validateStatement() (err error) {
248248
}
249249
log.Infof("Alter statement has column(s) renamed. gh-ost finds the following renames: %v; --approve-renamed-columns is given and so migration proceeds.", this.parser.GetNonTrivialRenames())
250250
}
251+
this.migrationContext.DroppedColumnsMap = this.parser.DroppedColumnsMap()
251252
return nil
252253
}
253254

go/sql/parser.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,7 @@ func (this *Parser) GetNonTrivialRenames() map[string]string {
111111
func (this *Parser) HasNonTrivialRenames() bool {
112112
return len(this.GetNonTrivialRenames()) > 0
113113
}
114+
115+
func (this *Parser) DroppedColumnsMap() map[string]bool {
116+
return this.droppedColumns
117+
}

0 commit comments

Comments
 (0)