From 03daea09d02636259fc03c2bc531a601bb706406 Mon Sep 17 00:00:00 2001 From: James Cor Date: Wed, 26 Oct 2022 12:50:49 -0700 Subject: [PATCH] better logic --- go/libraries/doltcore/doltdb/foreign_key_coll.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/libraries/doltcore/doltdb/foreign_key_coll.go b/go/libraries/doltcore/doltdb/foreign_key_coll.go index 0f9000f83f..ef456b90a1 100644 --- a/go/libraries/doltcore/doltdb/foreign_key_coll.go +++ b/go/libraries/doltcore/doltdb/foreign_key_coll.go @@ -183,7 +183,7 @@ func (fk ForeignKey) ValidateReferencedTableSchema(sch schema.Schema) error { fk.Name, fk.ReferencedTableName) } } - if !sch.Indexes().Contains(fk.ReferencedTableIndex) || (fk.ReferencedTableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) { + if (fk.ReferencedTableIndex != "PRIMARY" && !sch.Indexes().Contains(fk.ReferencedTableIndex)) || (fk.ReferencedTableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) { return fmt.Errorf("foreign key `%s` has entered an invalid state, referenced table `%s` is missing the index `%s`", fk.Name, fk.ReferencedTableName, fk.ReferencedTableIndex) } @@ -203,7 +203,7 @@ func (fk ForeignKey) ValidateTableSchema(sch schema.Schema) error { return fmt.Errorf("foreign key `%s` has entered an invalid state, table `%s` has unexpected schema", fk.Name, fk.TableName) } } - if !sch.Indexes().Contains(fk.TableIndex) || (fk.TableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) { + if (fk.TableIndex != "PRIMARY" && !sch.Indexes().Contains(fk.TableIndex)) || (fk.TableIndex == "PRIMARY" && sch.GetPKCols().Size() == 0) { return fmt.Errorf("foreign key `%s` has entered an invalid state, table `%s` is missing the index `%s`", fk.Name, fk.TableName, fk.TableIndex) }