-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathenvironment.py
More file actions
45 lines (35 loc) · 1.11 KB
/
environment.py
File metadata and controls
45 lines (35 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from dataclasses import dataclass
from enum import Enum
from dbtsl.models.base import BaseModel, FlexibleEnumMeta, GraphQLFragmentMixin
class SqlDialect(Enum, metaclass=FlexibleEnumMeta):
"""The SQL dialect of the semantic layer."""
UNKNOWN = "UNKNOWN"
SNOWFLAKE = "SNOWFLAKE"
BIGQUERY = "BIGQUERY"
POSTGRES = "POSTGRES"
REDSHIFT = "REDSHIFT"
DATABRICKS = "DATABRICKS"
APACHE_SPARK = "APACHE_SPARK"
DATABRICKS_SPARK = "DATABRICKS_SPARK"
TRINO = "TRINO"
ATHENA = "ATHENA"
FABRIC = "FABRIC"
SYNAPSE = "SYNAPSE"
TERADATA = "TERADATA"
class SqlEngine(Enum, metaclass=FlexibleEnumMeta):
"""The SQL engine/warehouse type."""
UNKNOWN = "UNKNOWN"
BIGQUERY = "BIGQUERY"
DUCKDB = "DUCKDB"
REDSHIFT = "REDSHIFT"
POSTGRES = "POSTGRES"
SNOWFLAKE = "SNOWFLAKE"
DATABRICKS = "DATABRICKS"
TRINO = "TRINO"
@dataclass
class EnvironmentInfo(BaseModel, GraphQLFragmentMixin):
"""Information about the dbt Semantic Layer environment."""
sql_dialect: SqlDialect
has_metrics_defined: bool
dialect: SqlEngine
dialect_supported_by_slg: bool