Table of Contents

Class FirebirdBulkCopy

Namespace
LinqToDB.Internal.DataProvider.Firebird
Assembly
linq2db.dll
public class FirebirdBulkCopy : BasicBulkCopy
Inheritance
FirebirdBulkCopy
Inherited Members
Extension Methods

Constructors

FirebirdBulkCopy(FirebirdDataProvider)

public FirebirdBulkCopy(FirebirdDataProvider dataProvider)

Parameters

dataProvider FirebirdDataProvider

Properties

CastAllRowsParametersOnUnionAll

protected override bool CastAllRowsParametersOnUnionAll { get; }

Property Value

bool

CastFirstRowLiteralOnUnionAll

protected override bool CastFirstRowLiteralOnUnionAll { get; }

Property Value

bool

CastFirstRowParametersOnUnionAll

protected override bool CastFirstRowParametersOnUnionAll { get; }

Property Value

bool

MaxMultipleRows

protected override int? MaxMultipleRows { get; }

Property Value

int?

MaxParameters

protected override int MaxParameters { get; }

Property Value

int

Remarks

Based on https://github.com/FirebirdSQL/firebird/blob/799bca3ca5f9eb604433addc0f2b7cb3b6c07275/src/dsql/DsqlCompilerScratch.cpp#L528 Max is 65536/2. We subtract one from that in case ADO provider uses parameter for statement.

MaxSqlLength

protected override int MaxSqlLength { get; }

Property Value

int

Remarks

Number based on http://www.firebirdfaq.org/faq197/ Firebird 2.5 has 64k limit, Firebird 3.0+ 10MB.

Methods

CastLiteral(ColumnDescriptor)

protected override bool CastLiteral(ColumnDescriptor column)

Parameters

column ColumnDescriptor

Returns

bool

MultipleRowsCopyAsync<T>(ITable<T>, DataOptions, IAsyncEnumerable<T>, CancellationToken)

protected override Task<BulkCopyRowsCopied> MultipleRowsCopyAsync<T>(ITable<T> table, DataOptions options, IAsyncEnumerable<T> source, CancellationToken cancellationToken) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IAsyncEnumerable<T>
cancellationToken CancellationToken

Returns

Task<BulkCopyRowsCopied>

Type Parameters

T

MultipleRowsCopyAsync<T>(ITable<T>, DataOptions, IEnumerable<T>, CancellationToken)

protected override Task<BulkCopyRowsCopied> MultipleRowsCopyAsync<T>(ITable<T> table, DataOptions options, IEnumerable<T> source, CancellationToken cancellationToken) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IEnumerable<T>
cancellationToken CancellationToken

Returns

Task<BulkCopyRowsCopied>

Type Parameters

T

MultipleRowsCopy<T>(ITable<T>, DataOptions, IEnumerable<T>)

protected override BulkCopyRowsCopied MultipleRowsCopy<T>(ITable<T> table, DataOptions options, IEnumerable<T> source) where T : notnull

Parameters

table ITable<T>
options DataOptions
source IEnumerable<T>

Returns

BulkCopyRowsCopied

Type Parameters

T