Package-level declarations

Types

Link copied to clipboard
fun interface ColumnNameGenerator
Link copied to clipboard
value class ColumnNameMapping(columnNameMapping: Map<String, String>) : Map<String, String>

map from the column name as declared in the schema, to the column name that we'll create in the final (typed) table.

Link copied to clipboard
interface DatabaseHandler
Link copied to clipboard
Link copied to clipboard

Some destinations can efficiently fetch multiple tables' information in a single query, so this interface accepts multiple streams in a single method call.

Link copied to clipboard
open class DefaultTempTableNameGenerator(internalNamespace: String? = null, affixLength: Int = 8, affixSeparator: String = "", hashLength: Int = 32) : TempTableNameGenerator

better handling for temp table names - e.g. postgres has a 64-char table name limit, so we want to avoid running into that. This method generates a table name with (by default) at most 64 characters (4 * affixLength + 2 * affixSeparator.length + hashLength).

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class Sql(val transactions: List<List<String>>)

Represents a list of SQL transactions, where each transaction consists of one or more SQL statements. Each transaction MUST NOT contain the BEGIN/COMMIT statements. Each inner list is a single transaction, and each String is a single statement within that transaction.

Link copied to clipboard
data class TableName(val namespace: String, val name: String)
Link copied to clipboard
sealed interface TableNameGenerator
Link copied to clipboard
data class TableNames(val rawTableName: TableName?, val finalTableName: TableName?)
Link copied to clipboard

Properties

Link copied to clipboard