in scio-google-cloud-platform/src/main/scala/com/spotify/scio/bigquery/BigQueryIO.scala [805:868]
def apply[T <: HasAnnotation: TypeTag: Coder](table: STable): Table[T] =
Table[T](table, Format.TableRow)
final case class WriteParam[T] private (
method: WriteMethod,
writeDisposition: WriteDisposition,
createDisposition: CreateDisposition,
timePartitioning: TimePartitioning,
clustering: Clustering,
triggeringFrequency: Duration,
sharding: Sharding,
failedInsertRetryPolicy: InsertRetryPolicy,
successfulInsertsPropagation: Boolean,
extendedErrorInfo: Boolean,
configOverride: WriteParam.ConfigOverride[T]
) extends Writes.WriteParam[T]
object WriteParam extends Writes.WriteParamDefaults {
@inline final def apply[T](
method: WriteMethod = DefaultMethod,
writeDisposition: WriteDisposition = DefaultWriteDisposition,
createDisposition: CreateDisposition = DefaultCreateDisposition,
timePartitioning: TimePartitioning = DefaultTimePartitioning,
clustering: Clustering = DefaultClustering,
triggeringFrequency: Duration = DefaultTriggeringFrequency,
sharding: Sharding = DefaultSharding,
failedInsertRetryPolicy: InsertRetryPolicy = DefaultFailedInsertRetryPolicy,
successfulInsertsPropagation: Boolean = DefaultSuccessfulInsertsPropagation,
extendedErrorInfo: Boolean = DefaultExtendedErrorInfo,
configOverride: ConfigOverride[T] = DefaultConfigOverride
): WriteParam[T] = new WriteParam(
method,
writeDisposition,
createDisposition,
timePartitioning,
clustering,
triggeringFrequency,
sharding,
failedInsertRetryPolicy,
successfulInsertsPropagation,
extendedErrorInfo,
configOverride
)
implicit private[Table] def typedTableWriteParam[T: TypeTag, Info](
params: Table.WriteParam[T]
): BigQueryTypedTable.WriteParam[T] =
BigQueryTypedTable.WriteParam(
params.method,
BigQueryType[T].schema,
params.writeDisposition,
params.createDisposition,
BigQueryType[T].tableDescription.orNull,
params.timePartitioning,
params.clustering,
params.triggeringFrequency,
params.sharding,
params.failedInsertRetryPolicy,
params.successfulInsertsPropagation,
params.extendedErrorInfo,
params.configOverride
)
}