Skip to content
EntryLayer Operational data entry for Snowflake

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.

Use this page before calling CREATE_PROJECT, VALIDATE_SOURCE, DESCRIBE_SOURCE, PREVIEW_SOURCE_LAYOUT, or RECONFIGURE_SOURCE.

Source typeSupported metadataNotes
tableColumn name, type, nullability, comment, key/default metadata where availableNo row sampling.
viewView column metadataNo view result sampling.
semantic_viewDimensions, facts, metrics, derived metrics, comments where availableUses DESCRIBE SEMANTIC VIEW metadata.

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 REFERENCES, SELECT ON ALL TABLES IN SCHEMA MY_DB.MY_SCHEMA TO APPLICATION ENTRYLAYER;

Use REFERENCES so EntryLayer can describe object structure without reading rows. Add SELECT when the project should use source-backed grids, distinct values, virtual rows, or materialization.

For semantic views, also verify the caller can run:

DESCRIBE SEMANTIC VIEW MY_DB.MY_SCHEMA.MY_SEMANTIC_VIEW;
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 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:

PropertyValue
nullabletrue
primary_keyfalse
defaultnull
source_typesemantic_view

This is design-time metadata only. EntryLayer does not read semantic view result rows during validation or 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.

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"}'));