fixed drop foreign key to be backwards compatible

This commit is contained in:
Andy Arthur
2020-07-24 19:47:14 -07:00
parent 4a877c8986
commit 1546882847
3 changed files with 13 additions and 8 deletions
@@ -409,13 +409,18 @@ func (fkc *ForeignKeyCollection) Map(ctx context.Context, vrw types.ValueReadWri
// RemoveKey removes a foreign key from the collection. It does not remove the associated indexes from their
// respective tables.
func (fkc *ForeignKeyCollection) RemoveKey(foreignKeyName string) (ForeignKey, error) {
fk, ok := fkc.GetByNameCaseInsensitive(foreignKeyName)
if !ok {
return fk, fmt.Errorf("`%s` does not exist as a foreign key", foreignKeyName)
func (fkc *ForeignKeyCollection) RemoveKey(foreignKeyName string) error {
var key string
for k, fk := range fkc.foreignKeys {
if strings.ToLower(fk.Name) == strings.ToLower(foreignKeyName) {
key = k
}
}
delete(fkc.foreignKeys, fk.HashOf().String())
return fk, nil
if key == "" {
return fmt.Errorf("`%s` does not exist as a foreign key", foreignKeyName)
}
delete(fkc.foreignKeys, key)
return nil
}
// RemoveTables removes all foreign keys associated with the given tables, if permitted. The operation assumes that ALL
+1 -1
View File
@@ -1224,7 +1224,7 @@ func (root *RootValue) ValidateForeignKeys(ctx context.Context) (*RootValue, err
return nil, err
}
} else {
_, err := fkCollection.RemoveKey(foreignKey.Name)
err := fkCollection.RemoveKey(foreignKey.Name)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -681,7 +681,7 @@ func (t *AlterableDoltTable) DropForeignKey(ctx *sql.Context, fkName string) err
if err != nil {
return err
}
_, err = fkc.RemoveKey(fkName)
err = fkc.RemoveKey(fkName)
if err != nil {
return err
}