mirror of
https://github.com/dolthub/dolt.git
synced 2026-05-08 02:36:27 -05:00
fixed drop foreign key to be backwards compatible
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user