summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/schema/table.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/schema/table.go')
-rw-r--r--vendor/github.com/uptrace/bun/schema/table.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/vendor/github.com/uptrace/bun/schema/table.go b/vendor/github.com/uptrace/bun/schema/table.go
index cf9f49197..93313597b 100644
--- a/vendor/github.com/uptrace/bun/schema/table.go
+++ b/vendor/github.com/uptrace/bun/schema/table.go
@@ -171,7 +171,7 @@ func (t *Table) processFields(typ reflect.Type) {
if _, ok := ebdStructs[k]; !ok {
ebdStructs[k] = &structField{
Index: makeIndex(sf.Index, v.Index),
- Table: subtable,
+ Table: v.Table,
}
}
}
@@ -259,13 +259,13 @@ func (t *Table) processFields(typ reflect.Type) {
}
for _, embfield := range embedded {
- subfield := embfield.subfield.Clone()
-
- if ambiguousNames[subfield.Name] > 1 &&
- !(!subfield.Tag.IsZero() && ambiguousTags[subfield.Name] == 1) {
+ if ambiguousNames[embfield.prefix+embfield.subfield.Name] > 1 &&
+ !(!embfield.subfield.Tag.IsZero() && ambiguousTags[embfield.prefix+embfield.subfield.Name] == 1) {
continue // ambiguous embedded field
}
+ subfield := embfield.subfield.Clone()
+
subfield.Index = makeIndex(embfield.index, subfield.Index)
if embfield.prefix != "" {
subfield.Name = embfield.prefix + subfield.Name