Optimization Pass

This commit is contained in:
2026-04-18 08:57:33 +02:00
parent 1e9a81a6cf
commit 338b4abf3b
5 changed files with 746 additions and 19 deletions
+19 -12
View File
@@ -2063,6 +2063,9 @@ func featSourceID(value any) (int, error) {
}
func (c *featGeneratedContext) resolveGeneratedFeatIdentityBySource(familyKey, slug string, rawSource any) (string, int, bool, error) {
if ref, ok := rawSource.(string); ok && strings.HasPrefix(ref, "feat:") {
return c.resolveGeneratedFeatIdentityFromRef(familyKey, ref)
}
if rawSource != nil && rawSource != nullValue {
if parsedID, err := featSourceID(rawSource); err == nil && parsedID > 0 {
if generatedKey, ok := c.generatedFeatKeyForID(familyKey, parsedID); ok {
@@ -2073,18 +2076,7 @@ func (c *featGeneratedContext) resolveGeneratedFeatIdentityBySource(familyKey, s
}
if rawMap, ok := rawSource.(map[string]any); ok {
if ref, ok := rawMap["id"].(string); ok && strings.HasPrefix(ref, "feat:") {
if generatedKey, rowID, ok := c.generatedFeatKeyFromCanonicalAlias(ref); ok {
return generatedKey, rowID, true, nil
}
if rowID, hasID, err := c.featID(ref, nil); err != nil {
return "", 0, false, err
} else if hasID {
if generatedKey, ok := c.generatedFeatKeyForID(familyKey, rowID); ok {
return generatedKey, rowID, true, nil
}
}
rowID, hasID, err := c.featID(ref, nil)
return ref, rowID, hasID, err
return c.resolveGeneratedFeatIdentityFromRef(familyKey, ref)
}
}
featKey := c.preferredGeneratedFeatKey(familyKey, slug)
@@ -2092,6 +2084,21 @@ func (c *featGeneratedContext) resolveGeneratedFeatIdentityBySource(familyKey, s
return featKey, rowID, hasID, err
}
func (c *featGeneratedContext) resolveGeneratedFeatIdentityFromRef(familyKey, ref string) (string, int, bool, error) {
if generatedKey, rowID, ok := c.generatedFeatKeyFromCanonicalAlias(ref); ok {
return generatedKey, rowID, true, nil
}
if rowID, hasID, err := c.featID(ref, nil); err != nil {
return "", 0, false, err
} else if hasID {
if generatedKey, ok := c.generatedFeatKeyForID(familyKey, rowID); ok {
return generatedKey, rowID, true, nil
}
}
rowID, hasID, err := c.featID(ref, nil)
return ref, rowID, hasID, err
}
func (c *featGeneratedContext) resolveGeneratedFeatIdentity(spec familyExpansionSpec, slug string, sourceRow map[string]any) (string, int, bool, error) {
if spec.IdentitySource == "child_source_value" {
rawSource, ok := lookupField(sourceRow, spec.ChildSource.Column)