Package-level declarations

Types

Link copied to clipboard
data class And(val conj: List<WhereClauseNode>) : WhereClauseNode
Link copied to clipboard
class DefaultJdbcCursorIncrementalPartition(val selectQueryGenerator: SelectQueryGenerator, val streamState: DefaultJdbcStreamState, val cursor: Field, val cursorLowerBound: JsonNode, val isLowerBoundIncluded: Boolean, cursorUpperBound: JsonNode?) : DefaultJdbcCursorPartition

Default implementation of a JdbcPartition for a cursor incremental partition. These are always splittable.

Link copied to clipboard

Default implementation of a JdbcPartition for a splittable partition involving cursor columns.

Link copied to clipboard
class DefaultJdbcFetchSizeEstimator(val maxMemoryBytes: Long, val maxConcurrency: Int, val minFetchSize: Int, val defaultFetchSize: Int, val maxFetchSize: Int, val memoryCapacityRatio: Double) : JdbcSharedState.JdbcFetchSizeEstimator

FetchSizeEstimator is used to estimate the value of the JDBC fetchSize parameter to fill up a portion of the JVM heap defined by MEM_CAPACITY_RATIO.

Link copied to clipboard

Base class for default implementations of JdbcPartition.

Link copied to clipboard
@Singleton
class DefaultJdbcSharedState(val configuration: JdbcSourceConfiguration, val selectQuerier: SelectQuerier, val constants: DefaultJdbcConstants, val concurrencyResource: ConcurrencyResource, val resourceAcquirer: ResourceAcquirer) : JdbcSharedState

Default implementation of JdbcSharedState.

Link copied to clipboard

Base class for default implementations of JdbcPartition for splittable partitions.

Link copied to clipboard
class DefaultJdbcSplittableSnapshotPartition(val selectQueryGenerator: SelectQueryGenerator, val streamState: DefaultJdbcStreamState, primaryKey: List<Field>, val lowerBound: List<JsonNode>?, val upperBound: List<JsonNode>?) : DefaultJdbcSplittablePartition

Default implementation of a JdbcPartition for a splittable snapshot partition.

class DefaultJdbcSplittableSnapshotWithCursorPartition(val selectQueryGenerator: SelectQueryGenerator, val streamState: DefaultJdbcStreamState, primaryKey: List<Field>, val lowerBound: List<JsonNode>?, val upperBound: List<JsonNode>?, val cursor: Field, cursorUpperBound: JsonNode?) : DefaultJdbcCursorPartition

Default implementation of a JdbcPartition for a splittable snapshot partition preceding a cursor-based incremental sync.

Link copied to clipboard

Default implementation of JdbcStreamState.

Link copied to clipboard
data class DefaultJdbcStreamStateValue(val primaryKey: Map<String, JsonNode> = mapOf(), val cursors: Map<String, JsonNode> = mapOf())

DefaultJdbcStreamStateValue is used by DefaultJdbcPartitionFactory for deserializing an OpaqueStateValue into a DefaultJdbcPartition. The latter is able to, in turn, serialize a partition boundary into an OpaqueStateValue with DefaultJdbcStreamStateValue.

Link copied to clipboard

Base class for default implementations of JdbcPartition for unsplittable partitions.

Link copied to clipboard

Default implementation of a JdbcPartition for an unsplittable snapshot partition.

Default implementation of a JdbcPartition for an unsplittable snapshot partition preceding a cursor-based incremental sync.

Link copied to clipboard
class DefaultRowByteSizeEstimator(val estimatedRecordOverheadBytes: Long, val estimatedFieldOverheadBytes: Long) : JdbcSharedState.RowByteSizeEstimator

Estimates the in-memory byte size of a table row based on its ObjectNode representation.

Link copied to clipboard
data class Equal(val column: Field, val bindingValue: JsonNode) : WhereClauseLeafNode
Link copied to clipboard
data class From(val name: String, val namespace: String?) : FromNode
Link copied to clipboard
sealed interface FromNode
Link copied to clipboard
data class FromSample(val name: String, val namespace: String?, val sampleRateInvPow2: Int, val sampleSize: Int, val where: WhereNode? = null) : FromNode
Link copied to clipboard
data class Greater(val column: Field, val bindingValue: JsonNode) : WhereClauseLeafNode
Link copied to clipboard
data class GreaterOrEqual(val column: Field, val bindingValue: JsonNode) : WhereClauseLeafNode
Link copied to clipboard

Concurrent JDBC implementation of PartitionsCreator.

Link copied to clipboard
@Singleton
@Secondary
@Requires(property = "airbyte.connector.extract.jdbc.mode", value = "concurrent")
class JdbcConcurrentPartitionsCreatorFactory<A : JdbcSharedState, S : JdbcStreamState<A>, P : JdbcPartition<S>>(partitionFactory: JdbcPartitionFactory<A, S, P>) : JdbcPartitionsCreatorFactory<A, S, P>

Concurrent JDBC implementation of PartitionsCreatorFactory.

Link copied to clipboard

A JdbcPartition which allows cursor-based incremental reads.

Link copied to clipboard

JDBC implementation of PartitionReader which reads the partition in its entirety.

Link copied to clipboard

Encapsulates database-specific aspects relating to a JDBC stream partition, consumed by JdbcPartitionReader and friends.

Link copied to clipboard
@Singleton
@Requires(property = "airbyte.connector.extract.jdbc.mode", pattern = "^(sequential|concurrent)$")
class JdbcPartitionCreatorFactorySupplier<T : JdbcPartitionsCreatorFactory<A, S, P>, A : JdbcSharedState, S : JdbcStreamState<A>, P : JdbcPartition<S>>(val factory: T) : PartitionsCreatorFactorySupplier<T>
Link copied to clipboard

Encapsulates database-specific logic turning OpaqueStateValue into JdbcPartition.

Link copied to clipboard

Base class for JDBC implementations of PartitionReader.

Link copied to clipboard
abstract class JdbcPartitionsCreator<A : JdbcSharedState, S : JdbcStreamState<A>, P : JdbcPartition<S>>(val partition: P, val partitionFactory: JdbcPartitionFactory<A, S, P>) : PartitionsCreator

Base class for JDBC implementations of PartitionsCreator.

Link copied to clipboard

Base class for JDBC implementations of PartitionsCreatorFactory.

Link copied to clipboard

JDBC implementation of PartitionReader which reads as much as possible of the partition, in order, before timing out.

Link copied to clipboard
@Singleton
class JdbcSelectQuerier(jdbcConnectionFactory: JdbcConnectionFactory) : SelectQuerier

Default implementation of SelectQuerier.

Link copied to clipboard

Sequential JDBC implementation of PartitionsCreator.

Link copied to clipboard
@Singleton
@Secondary
@Requires(property = "airbyte.connector.extract.jdbc.mode", value = "sequential")
class JdbcSequentialPartitionsCreatorFactory<A : JdbcSharedState, S : JdbcStreamState<A>, P : JdbcPartition<S>>(partitionFactory: JdbcPartitionFactory<A, S, P>) : JdbcPartitionsCreatorFactory<A, S, P>

Sequential JDBC implementation of PartitionsCreatorFactory.

Link copied to clipboard
@DefaultImplementation(value = DefaultJdbcSharedState::class)
interface JdbcSharedState

Encapsulates database-specific state, both constant or transient, common to all partitions.

Link copied to clipboard

A JdbcPartition which can be subdivided.

Link copied to clipboard

Encapsulates database-specific transient state for a particular stream.

Link copied to clipboard
data class Lesser(val column: Field, val bindingValue: JsonNode) : WhereClauseLeafNode
Link copied to clipboard
data class LesserOrEqual(val column: Field, val bindingValue: JsonNode) : WhereClauseLeafNode
Link copied to clipboard
data class Limit(val n: Long) : LimitNode
Link copied to clipboard
sealed interface LimitNode
Link copied to clipboard
data class LimitState(val predecessor: Long, val current: Long)

Adaptive LIMIT value state, where the value grows or shrinks along the Fibonacci sequence.

Link copied to clipboard
data object NoFrom : FromNode
Link copied to clipboard
data object NoLimit : LimitNode
Link copied to clipboard
data object NoOrderBy : OrderByNode
Link copied to clipboard
data object NoWhere : WhereNode
Link copied to clipboard
data class Or(val disj: List<WhereClauseNode>) : WhereClauseNode
Link copied to clipboard
data class OrderBy(val columns: List<Field>) : OrderByNode
Link copied to clipboard
sealed interface OrderByNode
Link copied to clipboard
data class Sample<T>(val sampledValues: List<T>, val kind: Sample.Kind, val valueWeight: Long)

Convenience object for maintaining sampled data and its accompanying metadata.

Link copied to clipboard
data class SelectColumnMaxValue(val column: Field) : SelectNode
Link copied to clipboard
data class SelectColumns(val columns: List<Field>) : SelectNode
Link copied to clipboard
sealed interface SelectNode
Link copied to clipboard
@DefaultImplementation(value = JdbcSelectQuerier::class)
interface SelectQuerier
Link copied to clipboard
data class SelectQuery(val sql: String, val columns: List<Field>, val bindings: List<SelectQuery.Binding>)

Input for SelectQuerier which contains a parameterize SQL query along with its parameter bindings and a description of the columns of the result set.

Link copied to clipboard
fun interface SelectQueryGenerator

Connector-specific stateless object which generates a valid SelectQuery for the corresponding source database.

Link copied to clipboard
data class SelectQuerySpec(val select: SelectNode, val from: FromNode = NoFrom, val where: WhereNode = NoWhere, val orderBy: OrderByNode = NoOrderBy, val limit: LimitNode = NoLimit)

Source-database-agnostic representation of a SELECT query as an abstract syntax tree. This is tailored to the subset of queries that we actually might run in a source connector.

Link copied to clipboard
data class Where(val clause: WhereClauseNode) : WhereNode
Link copied to clipboard
Link copied to clipboard
sealed interface WhereClauseNode
Link copied to clipboard
sealed interface WhereNode

Properties

Link copied to clipboard