Class SystemViews
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionqueryColumns(String databaseName, String schemaName, String tableName) INFORMATION_SCHEMA.COLUMNS — one row per column of every table-shaped object, VIEWS AND MATERIALIZED VIEWS INCLUDED.queryFileFormats(String databaseName, String schemaName) Column shape measured on a real account; the per-option columns read the format's own options, so a CREATE FILE FORMAT written with any of them reports them back here.queryFunctions(String databaseName, String schemaName) queryHybridTables(String databaseName, String schemaName) queryInformationSchemaCatalogName(String databaseName) One row naming the database whose INFORMATION_SCHEMA is being read.queryPipes(String databaseName, String schemaName) queryProcedures(String databaseName, String schemaName) queryReferentialConstraints(String databaseName, String schemaName) querySchemata(String databaseName) querySequences(String databaseName, String schemaName) queryStages(String databaseName, String schemaName) queryTableConstraints(String databaseName, String schemaName) queryTablePrivileges(String databaseName, String schemaName) queryTables(String databaseName, String schemaName) INFORMATION_SCHEMA.TABLES — every table-shaped object in the database, not just base tables.queryTableStorageMetrics(String databaseName, String schemaName) Byte counts are all zero: this engine stores rows in memory and keeps no byte accounting, no time-travel copies and no fail-safe, so zero is the honest figure for each.queryViews(String databaseName, String schemaName)
-
Constructor Details
-
SystemViews
-
-
Method Details
-
queryDatabases
-
querySchemata
-
queryTables
INFORMATION_SCHEMA.TABLES — every table-shaped object in the database, not just base tables.Live Snowflake (verified against a database holding one of each) lists views, materialized views and dynamic tables here alongside tables, and reports TABLE_TYPE from a four-value vocabulary:
BASE TABLE— a permanent table, a transient table (told apart byIS_TRANSIENT) and a dynamic table alike;LOCAL TEMPORARY— a temporary table;VIEW— a view;MATERIALIZED VIEW— a materialized view.
Snowflake also uses
EXTERNAL TABLE, which Frostlake has no concept of. "TRANSIENT TABLE" and "TEMPORARY TABLE" — the values emitted before — are not Snowflake vocabulary at all; as live, transience is carried byIS_TRANSIENTinstead, which keeps the Y/N spelling it shares with the DATABASES and SCHEMATA views here (live spells it YES/NO). -
queryColumns
INFORMATION_SCHEMA.COLUMNS — one row per column of every table-shaped object, VIEWS AND MATERIALIZED VIEWS INCLUDED.Live Snowflake (verified on a real account, over a table carrying a spread of types) reports a view's columns in exactly the same row shape as a table's — same DATA_TYPE vocabulary, same precision/scale/length — so a browsing tool that lists views (which
getTablesdoes) can expand one and see its columns. Three of the columns are NOT inherited from the base table, all three measured:COLUMN_DEFAULTis null for a view over a column that has a DEFAULT;IS_IDENTITYis NO for a view over an IDENTITY column;IS_PRIMARY_KEYis NO — a view has no constraints.
IS_NULLABLE, by contrast, IS inherited live: a view over a NOT NULL column reports NO. Frostlake reports YES for every view column, because the nullability of a projected expression is not something the projection channel carries — the one deliberate divergence here, and the lenient direction of it.What a view reports comes off
View.getResolvedColumns(), frozen when the view was created; nothing in this method plans a query, so a metadata read can never re-enter the metadata layer that serves it. -
queryViews
-
queryTableConstraints
-
queryReferentialConstraints
-
queryProcedures
-
queryFunctions
-
querySequences
-
queryStages
-
queryPipes
-
queryEnabledRoles
-
queryApplicableRoles
-
queryTablePrivileges
-
queryObjectPrivileges
-
queryUsagePrivileges
-
queryFileFormats
Column shape measured on a real account; the per-option columns read the format's own options, so a CREATE FILE FORMAT written with any of them reports them back here. -
queryHybridTables
-
queryTableStorageMetrics
Byte counts are all zero: this engine stores rows in memory and keeps no byte accounting, no time-travel copies and no fail-safe, so zero is the honest figure for each. -
queryInformationSchemaCatalogName
One row naming the database whose INFORMATION_SCHEMA is being read.
-