dlt.common.schema.typing
C_DLT_ID
unique id of current row
C_DLT_LOAD_ID
load id to identify records loaded in a single load package
C_DLT_LOADS_TABLE_LOAD_ID
load id column in the table {LOADS_TABLE_NAME}. Meant to be joined with {C_DLT_LOAD_ID} of data tables
C_CHILD_PARENT_REF_LABEL
Label of the implicit TTableReference between a child table and its parent table
C_DESCENDANT_ROOT_REF_LABEL
Label of the implicit TTableReference between a descendant table and its root table
C_ROOT_LOAD_REF_LABEL
Label of the implicit TTableReference between a root table and the _dlt_loads table
C_VERSION_SCHEMA_VERSION_LABEL
Label of the implicit TTableReference between {LOAD_TABLE_NAME} and {VERSION_TABLE_NAME} for schema version.
C_VERSION_SCHEMA_NAME_LABEL
Label of the implicit TTableReference between {LOAD_TABLE_NAME} and {VERSION_TABLE_NAME} for schema name.
TColumnProp
All known properties of the column, including name, data type info and hints
TColumnHint
Known hints of a column
TColumnSchemaBase Objects
class TColumnSchemaBase(TColumnType, TColumnProcessingHints)
TypedDict that defines basic properties of a column: name, data type and nullable
TColumnSchema Objects
class TColumnSchema(TColumnSchemaBase)
TypedDict that defines additional column hints
TTableSchemaColumns
A mapping from column name to column schema, typically part of a table schema
TSchemaContractDict Objects
class TSchemaContractDict(TypedDict)
TypedDict defining the schema update settings
UPSERT_MERGE_STRATEGIES
Strategies that merge by primary key and share the upsert options.
MERGE_STRATEGY_OPTIONS
Merge strategy options and the strategies that support them.
MERGE_DISPOSITION_HINTS
Table hints that store the keys of the merge write disposition dict. The column names in the
dict, like row_version_column_name, mark their columns with column hints instead.
DEFAULT_VALIDITY_COLUMN_NAMES
Default values for validity column names used in scd2 merge strategy.
TMergeDispositionDict Objects
class TMergeDispositionDict(TWriteDispositionDict)
strategy
The destination picks its default strategy when not set.
TSourceFilterDict Objects
class TSourceFilterDict(TypedDict)
source_filter
SQL condition that selects the merge source from the loaded rows. dlt discards the other loaded rows.
TDestinationScopeDict Objects
class TDestinationScopeDict(TypedDict)
destination_scope
SQL condition that selects the destination rows that the merge can delete or retire.
TScd2StrategyDict Objects
class TScd2StrategyDict(TWriteDispositionDict, TSourceFilterDict,
TDestinationScopeDict)
active_record_timestamp
None marks active records with NULL.
boundary_timestamp
None resets the boundary to the load package creation time.
TUpsertOptionsDict Objects
class TUpsertOptionsDict(TypedDict)
skip_unchanged_rows
If True, dlt does not update destination records that equal their loaded record.
Defaults to False.
row_version_column_name
Column that changes when a record changes. With skip_unchanged_rows, dlt compares only
this column to detect changed records.
TReferenceCardinality
Represents cardinality between column (left) and referenced_column (right)
Note that cardinality is not symmetric. For example:
Author, 0 to many, Bookan author can have 0 to many bookBook, 1 to 1, Authora book must have exactly 1 author
The statement (Author, 0 to many, Book) doesn't imply (Book, many to 0, Author).
_TTableReferenceBase Objects
class _TTableReferenceBase(TypedDict)
Describes a reference to another table's columns.
columns corresponds to the referenced_columns in the referenced table and their order should match.
label
Text providing semantic information about the reference.
For example, the label "liked" describe the relationship between user and post (user.id, "liked", post.id)
cardinality
Cardinality of the relationship between table.column (left) and referenced_table.referenced_column (right).
columns
Name of the column(s) from table
referenced_table
Name of the referenced table
referenced_columns
Name of the columns(s) from referenced_table
TTableReferenceInline Objects
class TTableReferenceInline(_TTableReferenceBase, TypedDict)
table
Name of the table.
When TTableReference is defined on a TTableSchema (i.e., "inline reference"), the table
value is determined by TTableSchema["name"]
TTableReferenceStandalone Objects
class TTableReferenceStandalone(_TTableReferenceBase, TypedDict)
table
Name of the table.
When TTableReference is defined on a TTableSchema (i.e., "inline reference"), the table
value is determined by TTableSchema["name"]
TTableSchema Objects
class TTableSchema(_TTableSchemaBase)
TypedDict that defines properties of a table
TColumnDefaultHint
Allows using not_null in default hints setting section
TStoredSchema Objects
class TStoredSchema(TypedDict)
TypeDict defining the schema representation in storage