Package-level declarations

Types

Link copied to clipboard
data class ColumnChangeset(val columnsToAdd: Map<String, ColumnType>, val columnsToDrop: Map<String, ColumnType>, val columnsToChange: Map<String, ColumnTypeChange>, val columnsToRetain: Map<String, ColumnType>)

As with TableColumns, all maps are keyed by the column name as it appears in the destination.

Link copied to clipboard
data class ColumnType(val type: String, val nullable: Boolean)
Link copied to clipboard
data class ColumnTypeChange(val originalType: ColumnType, val newType: ColumnType)
Link copied to clipboard

A map from column name to type. Note that the column name should be as it appears in the destination: for example, Snowflake upcases all identifiers, so these column names should be upcased.

Link copied to clipboard

Client interface for database table operations.

Link copied to clipboard
data class TableSchema(val columns: TableColumns)

Eventually we might need some sort of struct to track anything not represented in the TableColumns object. For example, Bigquery's partitioning/clustering key, Iceberg's identifier fields.

Link copied to clipboard

Database-specific schema evolution operations.