VIEW, etc.) are derived from
AbstractSchemaObjectResolver, which has additional logic related to "sandbox" schemas and parallel metadata fetching.
__init__(engine: SnowDDLEngine)Initialize resolver with engine.
get_object_type()Abstract method. Return object type, which is processed by this resolver.
get_blueprints()Abstract method. Return blueprints to be processed by resolver. Normally it reads blueprints from config, but it may also generate blueprints on the fly based on some other blueprints. For example, "schema roles" are generated automatically based on schema blueprints.
get_existing_objects()Abstract method. Return dict with objects currently existing in Snowflake account. Normally this method calls for
SHOW ...metadata commands.
create_object(self, bp: AbstractBlueprint)Abstract method. Accept blueprint. Create a new object which currently does not exist in Snowflake.
compare_object(self, bp: AbstractBlueprint, row: Dict)Abstract method. Accept blueprint and metadata of existing object. Compare blueprint with existing object and update it or recreate it. Alternatively, "do nothing" if object blueprint matches the existing metadata precisely.
drop_object(self, row: Dict)Abstract method. Accept metadata of existing object, which does not have a corresponding blueprint. Drop this object.
get_existing_objects_in_schema(schema: dict)Abstract method. Use instead of
get_existing_objects(). Accept dict describing schema. Return dict in the same format as