You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the SemanticManifestTransformer (currently named ModelTransformer) expects and returns a UserConfiguredModel which is a concrete object. Initially we thought we should move to it expecting and returning a SemanticManifest protocol. However, in dbt-core we'll be writing nodes which extend the protocol definition. Additionally we want to be able to hand in raw-ish parsings and transform them into the final objects, meaning the input and return types should be different. If we want to be able to write transformation rules that can operate on the raw parsed objects, return the extended classes, and guarantee type safety, then we need to take it a step further. Thus the SemanticManifestTransformer should instead expect a generic and return a generic bound by the SemanticManifest protocol.
Currently the
SemanticManifestTransformer
(currently namedModelTransformer
) expects and returns aUserConfiguredModel
which is a concrete object. Initially we thought we should move to it expecting and returning aSemanticManifest
protocol. However, in dbt-core we'll be writing nodes which extend the protocol definition. Additionally we want to be able to hand in raw-ish parsings and transform them into the final objects, meaning the input and return types should be different. If we want to be able to write transformation rules that can operate on the raw parsed objects, return the extended classes, and guarantee type safety, then we need to take it a step further. Thus theSemanticManifestTransformer
should instead expect a generic and return a generic bound by theSemanticManifest
protocol.Something like...
The text was updated successfully, but these errors were encountered: