Class ProjectionPolicy

java.lang.Object
dev.frostlake.metastore.SqlObject
dev.frostlake.metastore.model.ProjectionPolicy
All Implemented Interfaces:
Taggable

public class ProjectionPolicy extends SqlObject
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.

  • Constructor Details

    • ProjectionPolicy

      public ProjectionPolicy(String name, String body)
  • Method Details

    • getBody

      public String getBody()
    • setBody

      public void setBody(String body)
    • getObjectType

      public String getObjectType()
      Description copied from class: SqlObject
      Get the type of this SQL object (e.g., "TABLE", "VIEW", "DATABASE") Subclasses should override to provide their specific type
      Specified by:
      getObjectType in class SqlObject
      Returns:
      The object type as a string