Table of Contents

Class YdbSqlBuilder

Namespace
LinqToDB.Internal.DataProvider.Ydb
Assembly
linq2db.dll
public class YdbSqlBuilder : BasicSqlBuilder<YdbOptions>, ISqlBuilder
Inheritance
object
YdbSqlBuilder
Implements
Inherited Members
Extension Methods

Constructors

YdbSqlBuilder(IDataProvider?, MappingSchema, DataOptions, ISqlOptimizer, SqlProviderFlags)

public YdbSqlBuilder(IDataProvider? provider, MappingSchema mappingSchema, DataOptions dataOptions, ISqlOptimizer sqlOptimizer, SqlProviderFlags sqlProviderFlags)

Parameters

provider IDataProvider
mappingSchema MappingSchema
dataOptions DataOptions
sqlOptimizer ISqlOptimizer
sqlProviderFlags SqlProviderFlags

Properties

ConcatStyle

SQL-emit shape for SqlConcatExpression. Defaults to Plus; override per provider.

protected override BasicSqlBuilder.ConcatBuildStyle ConcatStyle { get; }

Property Value

BasicSqlBuilder.ConcatBuildStyle

IsCteColumnListSupported

protected override bool IsCteColumnListSupported { get; }

Property Value

bool

SupportsColumnAliasesInScalarSource

If true, provider supports column aliases after the alias of a scalar/raw-SQL subquery source (as opposed to a VALUES source). Defaults to SupportsColumnAliasesInSource.

protected override bool SupportsColumnAliasesInScalarSource { get; }

Property Value

bool

Methods

BuildColumnExpression(SelectQuery?, ISqlExpression, string?, ref bool)

protected override void BuildColumnExpression(SelectQuery? selectQuery, ISqlExpression expr, string? alias, ref bool addAlias)

Parameters

selectQuery SelectQuery
expr ISqlExpression
alias string
addAlias bool

BuildCreateTableCommand(SqlTable)

protected override void BuildCreateTableCommand(SqlTable table)

Parameters

table SqlTable

BuildCreateTableFieldType(SqlField)

protected override void BuildCreateTableFieldType(SqlField field)

Parameters

field SqlField

BuildCreateTableNullAttribute(SqlField, DefaultNullable)

protected override void BuildCreateTableNullAttribute(SqlField field, DefaultNullable defaultNullable)

Parameters

field SqlField
defaultNullable DefaultNullable

BuildCreateTablePrimaryKey(SqlCreateTableStatement, string, IEnumerable<string>)

protected override void BuildCreateTablePrimaryKey(SqlCreateTableStatement createTable, string pkName, IEnumerable<string> fieldNames)

Parameters

createTable SqlCreateTableStatement
pkName string
fieldNames IEnumerable<string>

BuildDataTypeFromDataType(DbDataType, bool, bool)

protected override void BuildDataTypeFromDataType(DbDataType type, bool forCreateTable, bool canBeNull)

Parameters

type DbDataType
forCreateTable bool
canBeNull bool

Type could store NULL values (could be used for column table type generation or for databases with explicit typee nullability like ClickHouse).

BuildDropTableStatement(SqlDropTableStatement)

protected override void BuildDropTableStatement(SqlDropTableStatement dropTable)

Parameters

dropTable SqlDropTableStatement

BuildEmptyValuesFrom()

Appends the optional FROM clause for an empty-values source (a SELECT ... WHERE 1 = 0). Defaults to the provider's FakeTable; providers that reject a WHERE without a FROM and have no DUAL-like table override this to supply a one-row dummy source.

protected override void BuildEmptyValuesFrom()

BuildFromClause(SqlStatement, SelectQuery)

protected override void BuildFromClause(SqlStatement statement, SelectQuery selectQuery)

Parameters

statement SqlStatement
selectQuery SelectQuery

BuildGetIdentity(SqlInsertClause)

protected override void BuildGetIdentity(SqlInsertClause insertClause)

Parameters

insertClause SqlInsertClause

BuildInListPredicate(InList)

protected override void BuildInListPredicate(SqlPredicate.InList predicate)

Parameters

predicate SqlPredicate.InList

BuildMergeStatement(SqlMergeStatement)

protected override void BuildMergeStatement(SqlMergeStatement merge)

Parameters

merge SqlMergeStatement

BuildObjectName(StringBuilder, SqlObjectName, ConvertType, bool, TableOptions, bool)

Writes database object name into provided StringBuilder instance.

public override StringBuilder BuildObjectName(StringBuilder sb, SqlObjectName name, ConvertType objectType = ConvertType.NameToQueryTable, bool escape = true, TableOptions tableOptions = TableOptions.NotSet, bool withoutSuffix = false)

Parameters

sb StringBuilder

String builder for generated object name.

name SqlObjectName

Name of database object (e.g. table, view, procedure or function).

objectType ConvertType

Type of database object, used to select proper name converter.

escape bool

If true, apply required escaping to name components. Must be true except rare cases when escaping is not needed.

tableOptions TableOptions

Table options if called for table. Used to properly generate names for temporary tables.

withoutSuffix bool

If object name have suffix, which could be detached from main name, this parameter disables suffix generation (enables generation of only main name part).

Returns

StringBuilder

sb parameter value.

BuildOrderByClause(SelectQuery)

protected override void BuildOrderByClause(SelectQuery selectQuery)

Parameters

selectQuery SelectQuery

BuildOutputColumnExpressions(IReadOnlyList<ISqlExpression>)

protected override void BuildOutputColumnExpressions(IReadOnlyList<ISqlExpression> expressions)

Parameters

expressions IReadOnlyList<ISqlExpression>

BuildSelectClause(SelectQuery)

protected override void BuildSelectClause(SelectQuery selectQuery)

Parameters

selectQuery SelectQuery

BuildSql(int, SqlStatement, StringBuilder, OptimizationContext, int, ColumnAliasMode, NullabilityContext?)

protected override void BuildSql(int commandNumber, SqlStatement statement, StringBuilder sb, OptimizationContext optimizationContext, int indent, BasicSqlBuilder.ColumnAliasMode aliasMode, NullabilityContext? nullabilityContext)

Parameters

commandNumber int
statement SqlStatement
sb StringBuilder
optimizationContext OptimizationContext
indent int
aliasMode BasicSqlBuilder.ColumnAliasMode
nullabilityContext NullabilityContext

BuildSqlCastExpression(SqlCastExpression)

protected override void BuildSqlCastExpression(SqlCastExpression castExpression)

Parameters

castExpression SqlCastExpression

BuildSubQueryExtensions(SqlStatement)

protected override void BuildSubQueryExtensions(SqlStatement statement)

Parameters

statement SqlStatement

BuildWithClause(SqlWithClause?)

protected override void BuildWithClause(SqlWithClause? with)

Parameters

with SqlWithClause

CanSkipRootAliases(SqlStatement)

protected override bool CanSkipRootAliases(SqlStatement statement)

Parameters

statement SqlStatement

Returns

bool

Convert(StringBuilder, string, ConvertType)

public override StringBuilder Convert(StringBuilder sb, string value, ConvertType convertType)

Parameters

sb StringBuilder
value string
convertType ConvertType

Returns

StringBuilder

CreateSqlBuilder()

protected override ISqlBuilder CreateSqlBuilder()

Returns

ISqlBuilder

GetProviderTypeName(IDataContext, DbParameter)

protected override string? GetProviderTypeName(IDataContext dataContext, DbParameter parameter)

Parameters

dataContext IDataContext
parameter DbParameter

Returns

string

IsReserved(string)

protected override sealed bool IsReserved(string word)

Parameters

word string

Returns

bool

IsSqlValuesTableValueTypeRequired(SqlValuesTable, IReadOnlyList<List<ISqlExpression>>, int, int)

Checks that value in specific row and column in enumerable source requires type information generation.

protected override bool IsSqlValuesTableValueTypeRequired(SqlValuesTable source, IReadOnlyList<List<ISqlExpression>> rows, int row, int column)

Parameters

source SqlValuesTable

Merge source table.

rows IReadOnlyList<List<ISqlExpression>>

Merge source data.

row int

Index of data row to check. Could contain -1 to indicate that this is a check for empty source NULL value.

column int

Index of data column to check in row.

Returns

bool

Returns true, if generated SQL should include type information for value at specified position, otherwise false returned.

LimitFormat(SelectQuery)

protected override string LimitFormat(SelectQuery selectQuery)

Parameters

selectQuery SelectQuery

Returns

string

OffsetFormat(SelectQuery)

protected override string OffsetFormat(SelectQuery selectQuery)

Parameters

selectQuery SelectQuery

Returns

string

PrintParameterName(StringBuilder, DbParameter)

protected override void PrintParameterName(StringBuilder sb, DbParameter parameter)

Parameters

sb StringBuilder
parameter DbParameter