Package dev.frostlake.metastore.model
Class ProjectionPolicy
java.lang.Object
dev.frostlake.metastore.SqlObject
dev.frostlake.metastore.model.ProjectionPolicy
- All Implemented Interfaces:
Taggable
Snowflake PROJECTION POLICY — attached to a COLUMN, it decides whether that column may appear in a
query's select list at all. Unlike a masking policy, which rewrites the value, this one refuses the
projection outright; the column stays usable everywhere it is not projected (a WHERE, an ORDER BY,
an aggregate over it), all live-verified.
The policy takes no arguments — live refuses a signature with any — and its body evaluates to a
PROJECTION_CONSTRAINT(ALLOW => …), so a conditional body is just an expression choosing
between two of them.
-
Field Summary
Fields inherited from class dev.frostlake.metastore.SqlObject
comment, createdTime, name, owner -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class dev.frostlake.metastore.SqlObject
equals, getComment, getCreatedTime, getName, getOwner, getTagValue, getTagValues, hashCode, rename, setComment, setName, setOwner, setTag, toString, unsetTag, withoutTrailingSemicolon
-
Constructor Details
-
ProjectionPolicy
-
-
Method Details
-
getBody
-
setBody
-
getObjectType
Description copied from class:SqlObjectGet the type of this SQL object (e.g., "TABLE", "VIEW", "DATABASE") Subclasses should override to provide their specific type- Specified by:
getObjectTypein classSqlObject- Returns:
- The object type as a string
-