Source Objects & Semantic Views
EntryLayer can create and configure projects from Snowflake tables, views, and semantic views. The SQL API uses restricted caller rights for metadata discovery so the app can describe only objects the customer grants.
When to use this page
Section titled “When to use this page”Use this page before calling CREATE_PROJECT, VALIDATE_SOURCE, DESCRIBE_SOURCE, PREVIEW_SOURCE_LAYOUT, or RECONFIGURE_SOURCE.
Supported source types
Section titled “Supported source types”| Source type | Supported metadata | Notes |
|---|---|---|
table | Column name, type, nullability, comment, key/default metadata where available | No row sampling. |
view | View column metadata | No view result sampling. |
semantic_view | Dimensions, facts, metrics, derived metrics, comments where available | Uses DESCRIBE SEMANTIC VIEW metadata. |
Caller-rights grants
Section titled “Caller-rights grants”Grant the app caller rights on each source database/schema before using source-backed project creation.
GRANT CALLER USAGE ON DATABASE MY_DB TO APPLICATION ENTRYLAYER;GRANT CALLER USAGE ON SCHEMA MY_DB.MY_SCHEMA TO APPLICATION ENTRYLAYER;GRANT INHERITED CALLER SELECT ON ALL TABLES IN SCHEMA MY_DB.MY_SCHEMA TO APPLICATION ENTRYLAYER;For semantic views, also verify the caller can run:
DESCRIBE SEMANTIC VIEW MY_DB.MY_SCHEMA.MY_SEMANTIC_VIEW;Safe source discovery sequence
Section titled “Safe source discovery sequence”CALL ENTRYLAYER.API.LIST_SOURCE_DATABASES();CALL ENTRYLAYER.API.LIST_SOURCE_SCHEMAS('MY_DB');CALL ENTRYLAYER.API.LIST_SOURCE_OBJECTS('MY_DB', 'MY_SCHEMA', PARSE_JSON('{}'));CALL ENTRYLAYER.API.VALIDATE_SOURCE('MY_DB.MY_SCHEMA.MY_TABLE');CALL ENTRYLAYER.API.DESCRIBE_SOURCE('MY_DB.MY_SCHEMA.MY_TABLE');Use VALIDATE_SOURCE before CREATE_PROJECT to catch object-name and caller-rights issues early.
Semantic view handling
Section titled “Semantic view handling”Semantic view metadata is converted into source columns when object_kind is DIMENSION, FACT, METRIC, or DERIVED_METRIC and property is DATA_TYPE.
The resulting SourceColumn metadata uses:
| Property | Value |
|---|---|
nullable | true |
primary_key | false |
default | null |
source_type | semantic_view |
This is design-time metadata only. EntryLayer does not read semantic view result rows during validation or layout preview.
Layout preview
Section titled “Layout preview”PREVIEW_SOURCE_LAYOUT returns a proposed layout without creating a project or allocating field ids. Preview field ids are null because registry-backed ids are created only by project/field mutations.
Source reconfiguration
Section titled “Source reconfiguration”RECONFIGURE_SOURCE changes source metadata binding for a project. It does not run source sync, sample rows, or create/update/delete submissions. Verify state first:
CALL ENTRYLAYER.API.GET_SOURCE_CONFIG('proj_123');CALL ENTRYLAYER.API.VALIDATE_SOURCE('MY_DB.MY_SCHEMA.NEW_OBJECT');CALL ENTRYLAYER.API.RECONFIGURE_SOURCE('proj_123', 'MY_DB.MY_SCHEMA.NEW_OBJECT', PARSE_JSON('{"source_type":"table"}'));