Limber Timber Datatypes
Below are all the datatypes that make up operation data structures.
Operation Types
The KIND
class constant is the string value to use in the operation file to specify that operation.
CreateSchema
Bases: Operation
Semantics: CREATE SCHEMA
KIND: str = 'create_schema'
schema_object: Schema
DropSchema
Bases: Operation
Semantics: DROP TABLE
KIND: str = 'drop_schema'
schema_name: QualifiedName
SetDefaultTableExpiration
Bases: Operation
KIND: str = 'set_default_table_expiration'
schema_name: QualifiedName
expiration: timedelta | None = None
SetDefaultPartitionExpiration
Bases: Operation
KIND: str = 'set_default_partition_expiration'
schema_name: QualifiedName
expiration: timedelta | None = None
SetDefaultKmsKeyName
Bases: Operation
KIND: str = 'set_default_kms_key_name'
schema_name: QualifiedName
key_name: str | None = None
SetFailoverReservation
Bases: Operation
KIND: str = 'set_failover_reservation'
schema_name: QualifiedName
reservation: str | None = None
SetCaseSensitive
Bases: Operation
KIND: str = 'set_case_sensitive'
schema_name: QualifiedName
case_sensitive: bool
SetIsPrimaryReplica
Bases: Operation
KIND: str = 'set_is_primary_replica'
schema_name: QualifiedName
is_primary: bool
SetPrimaryReplica
Bases: Operation
KIND: str = 'set_primary_replica'
schema_name: QualifiedName
replica: str | None = None
SetMaxTimeTravel
Bases: Operation
KIND: str = 'set_max_time_travel'
schema_name: QualifiedName
duration: timedelta | None = None
SetStorageBilling
Bases: Operation
KIND: str = 'set_storage_billing'
schema_name: QualifiedName
storage_billing: StorageBilling
CreateTable
Bases: Operation
Semantics: CREATE TABLE
KIND: str = 'create_table'
table: Table
DropTable
Bases: Operation
Semantics: DROP TABLE
KIND: str = 'drop_table'
table_name: QualifiedName
RenameTable
Bases: Operation
KIND: str = 'rename_table'
from_name: QualifiedName
to_name: Identifier
SetPrimaryKey
Bases: Operation
KIND: str = 'set_primary_key'
table_name: QualifiedName
primary_key: PrimaryKey | None = None
AddForeignKey
Bases: Operation
KIND: str = 'add_foreign_key'
table_name: QualifiedName
foreign_key: ForeignKey
DropConstraint
Bases: Operation
KIND: str = 'drop_constraint'
table_name: QualifiedName
constraint_name: ConstraintName
SetPartitionExpiration
Bases: Operation
KIND: str = 'set_partition_expiration'
table_name: QualifiedName
expiration: timedelta | None = None
SetRequirePartitionFilter
Bases: Operation
KIND: str = 'set_require_partition_filter'
table_name: QualifiedName
require_filter: bool
SetClustering
Bases: Operation
KIND: str = 'set_clustering'
table_name: QualifiedName
column_names: list[ColumnName] | None = None
SetFriendlyName
Bases: Operation
KIND: str = 'set_friendly_name'
entity_name: QualifiedName
friendly_name: str | None = None
SetDescription
Bases: Operation
KIND: str = 'set_description'
entity_name: QualifiedName
description: str | None = None
SetLabels
Bases: Operation
KIND: str = 'set_labels'
entity_name: QualifiedName
labels: dict[str, str] | None = None
SetTags
Bases: Operation
KIND: str = 'set_tags'
entity_name: QualifiedName
tags: dict[str, str] | None = None
SetExpirationTimestamp
Bases: Operation
KIND: str = 'set_expiration_timestamp'
entity_name: QualifiedName
expiration_timestamp: datetime | None = None
SetDefaultRoundingMode
Bases: Operation
KIND: str = 'set_default_rounding_mode'
entity_name: QualifiedName
rounding_mode: RoundingMode | None = None
SetMaxStaleness
Bases: Operation
KIND: str = 'set_max_staleness'
entity_name: QualifiedName
max_staleness: IntervalLiteral | None = None
SetEnableChangeHistory
Bases: Operation
KIND: str = 'set_enable_change_history'
table_name: QualifiedName
enabled: bool
SetEnableFineGrainedMutations
Bases: Operation
KIND: str = 'set_enable_fine_grained_mutations'
table_name: QualifiedName
enabled: bool
SetKmsKeyName
Bases: Operation
KIND: str = 'set_kms_key_name'
table_name: QualifiedName
key_name: str | None = None
CreateView
Bases: Operation
Semantics: CREATE OR REPLACE VIEW
KIND: str = 'create_view'
view: View
DropView
Bases: Operation
Semantics: DROP VIEW
KIND: str = 'drop_view'
view_name: QualifiedName
CreateMaterializedView
Bases: Operation
Semantics: CREATE OR REPLACE MATERIALIZED VIEW
KIND: str = 'create_materialized_view'
materialized_view: MaterializedView
DropMaterializedView
Bases: Operation
Semantics: DROP MATERIALIZED VIEW
KIND: str = 'drop_materialized_view'
materialized_view_name: QualifiedName
AddColumn
Bases: Operation
KIND: str = 'add_column'
table_name: QualifiedName
column: Column
DropColumn
Bases: Operation
KIND: str = 'drop_column'
table_name: QualifiedName
column_name: ColumnName
RenameColumn
Bases: Operation
KIND: str = 'rename_column'
table_name: QualifiedName
from_name: ColumnName
to_name: ColumnName
SetColumnDatatype
Bases: Operation
KIND: str = 'set_column_datatype'
table_name: QualifiedName
column_name: ColumnName
datatype: Datatype
AddColumnField
Bases: Operation
KIND: str = 'add_column_field'
table_name: QualifiedName
field_path: FieldPath
datatype: Datatype
DropColumnField
Bases: Operation
KIND: str = 'drop_column_field'
table_name: QualifiedName
field_path: FieldPath
SetColumnNullable
Bases: Operation
KIND: str = 'set_column_nullable'
table_name: QualifiedName
table_name: QualifiedName
SetColumnDescription
Bases: Operation
KIND: str = 'set_column_description'
column_name: ColumnName
table_name: QualifiedName
SetColumnRoundingMode
Bases: Operation
KIND: str = 'set_column_rounding_mode'
column_name: ColumnName
table_name: QualifiedName
Schema Types
IntervalLiteral
Bases: LitiModel
year: int = 0
month: int = 0
day: int = 0
hour: int = 0
minute: int = 0
second: int = 0
microsecond: int = 0
sign: Literal['+', '-'] = '+'
RoundingMode
Bases: LitiModel
string: RoundingModeLiteral
ValidatedString
Bases: LitiModel
string: str
DatabaseName
Bases: ValidatedString
Identifier
Bases: ValidatedString
FieldPath
SchemaName
Bases: Identifier
ColumnName
Bases: Identifier
QualifiedName
Bases: LitiModel
database: DatabaseName | None = None
schema_name: SchemaName | None = None
name: Identifier | None = None
PrimaryKey
Bases: LitiModel
column_names: list[ColumnName] = Field(min_length=1)
enforced: bool | None = None
ForeignReference
Bases: LitiModel
local_column_name: ColumnName
foreign_column_name: ColumnName
ForeignKey
Bases: LitiModel
name: ConstraintName | None = None
foreign_table_name: QualifiedName
references: list[ForeignReference] = Field(min_length=1)
enforced: bool | None = None
Column
Bases: LitiModel
name: ColumnName
datatype: Datatype | None = None
default_expression: str | None = None
nullable: bool = False
description: str | None = None
rounding_mode: RoundingMode | None = None
Partitioning
Bases: LitiModel
kind: Literal['TIME', 'INT']
column: ColumnName | None = None
column_datatype: Datatype | None = None
time_unit: Literal['YEAR', 'MONTH', 'DAY', 'HOUR'] | None = None
int_start: int | None = None
int_end: int | None = None
int_step: int | None = None
expiration: timedelta | None = None
require_filter: bool = False
BigLake
Bases: LitiModel
connection_id: str
storage_uri: str
file_format: Literal['PARQUET'] = 'PARQUET'
table_format: Literal['ICEBERG'] = 'ICEBERG'
Entity
Bases: LitiModel
name: QualifiedName
friendly_name: str | None = None
description: str | None = None
labels: dict[str, str] | None = None
tags: dict[str, str] | None = None
Schema
Bases: Entity
location: str | None = None
default_collate: str | None = None
default_table_expiration: timedelta | None = None
default_partition_expiration: timedelta | None = None
default_rounding_mode: RoundingMode | None = None
default_kms_key_name: str | None = None
failover_reservation: str | None = None
is_case_sensitive: bool | None = None
is_primary_replica: bool | None = None
primary_replica: str | None = None
max_time_travel: timedelta | None = None
storage_billing: StorageBilling | None = None
Relation
Bases: Entity
expiration_timestamp: datetime | None = None
Table
Bases: Relation
columns: list[Column] | None = None
default_collate: str | None = None
primary_key: PrimaryKey | None = None
foreign_keys: list[ForeignKey] | None = None
partitioning: Partitioning | None = None
clustering: list[ColumnName] | None = None
default_rounding_mode: RoundingMode | None = None
max_staleness: IntervalLiteral | None = None
enable_change_history: bool | None = None
enable_fine_grained_mutations: bool | None = None
kms_key_name: str | None = None
big_lake: BigLake | None = None
ViewLike
Bases: LitiModel
select_sql: str | None = None
select_file: str | None = None
entity_names: dict[str, QualifiedName] | None = None
View
MaterializedView
Datatypes
Datatype
Bases: LitiModel
type: str
Bool
Bases: Datatype
type: Literal['BOOL'] = 'BOOL'
Int
Bases: Datatype
type: Literal['INT'] = 'INT'
bits: int | None = None
Float
Bases: Datatype
type: Literal['FLOAT'] = 'FLOAT'
bits: int | None = None
Geography
Bases: Datatype
type: Literal['GEOGRAPHY'] = 'GEOGRAPHY'
Numeric
Bases: Datatype
type: Literal['NUMERIC'] = 'NUMERIC'
precision: int | None = None
scale: int | None = None
BigNumeric
Bases: Datatype
type: Literal['BIGNUMERIC'] = 'BIGNUMERIC'
precision: int | None = None
scale: int | None = None
String
Bases: Datatype
type: Literal['STRING'] = 'STRING'
characters: int | None = None
Bytes
Bases: Datatype
type: Literal['BYTES'] = 'BYTES'
bytes: int | None = None
Json
Bases: Datatype
type: Literal['JSON'] = 'JSON'
Date
Bases: Datatype
type: Literal['DATE'] = 'DATE'
Time
Bases: Datatype
type: Literal['TIME'] = 'TIME'
DateTime
Bases: Datatype
type: Literal['DATETIME'] = 'DATETIME'
Timestamp
Bases: Datatype
type: Literal['TIMESTAMP'] = 'TIMESTAMP'
Range
Bases: Datatype
type: Literal['RANGE'] = 'RANGE'
kind: Literal['DATE', 'DATETIME', 'TIMESTAMP']
Interval
Bases: Datatype
type: Literal['INTERVAL'] = 'INTERVAL'
Array
Bases: Datatype
type: Literal['ARRAY'] = 'ARRAY'
inner: Datatype
Struct
Bases: Datatype