Table of Contents

Class YdbSqlExpressionConvertVisitor

Namespace
LinqToDB.Internal.DataProvider.Ydb
Assembly
linq2db.dll
public class YdbSqlExpressionConvertVisitor : SqlExpressionConvertVisitor
Inheritance
object
YdbSqlExpressionConvertVisitor
Inherited Members
Extension Methods

Constructors

YdbSqlExpressionConvertVisitor(bool)

public YdbSqlExpressionConvertVisitor(bool allowModify)

Parameters

allowModify bool

Fields

YdbLikeCharactersToEscape

protected static string[] YdbLikeCharactersToEscape

Field Value

string[]

Properties

ConcatRequiresExplicitStringCast

When true (default), ConvertConcat(SqlConcatExpression) wraps every non-string operand in an explicit CAST(... AS VARCHAR(N)) before adding it to the concat chain. Required for providers whose concat operator is + (SQL Server pre-2025, SqlCe, Access) — SQL-standard data-type precedence would otherwise try to coerce string operands to the non-string side's type. Most providers whose final concat operator is || (PostgreSQL / Oracle / SQLite / SAP HANA / DuckDB / Firebird / DB2 / Informix / SQL Server 2025+) or CONCAT(...) function (MySQL / ClickHouse) auto-coerce non-string operands and override this to false for cleaner SQL. Sybase ASE is the exception: it emits || but keeps this true, since ASE requires an explicit convert() for non-character operands under both + and ||.

protected override bool ConcatRequiresExplicitStringCast { get; }

Property Value

bool

LikeCharactersToEscape

Characters with special meaning in LIKE predicate (defined by LikeCharactersToEscape) that should be escaped to be used as matched character. Default: ["%", "_", "?", "*", "#", "[", "]"].

public override string[] LikeCharactersToEscape { get; }

Property Value

string[]

SupportsNullIf

protected override bool SupportsNullIf { get; }

Property Value

bool

SupportsNullInColumn

protected override bool SupportsNullInColumn { get; }

Property Value

bool

Methods

ConvertConversion(SqlCastExpression)

Implements SqlCastExpression conversion.

protected override ISqlExpression ConvertConversion(SqlCastExpression cast)

Parameters

cast SqlCastExpression

Returns

ISqlExpression

ConvertSearchStringPredicate(SearchString)

public override ISqlPredicate ConvertSearchStringPredicate(SqlPredicate.SearchString predicate)

Parameters

predicate SqlPredicate.SearchString

Returns

ISqlPredicate

ConvertSqlBinaryExpression(SqlBinaryExpression)

public override IQueryElement ConvertSqlBinaryExpression(SqlBinaryExpression element)

Parameters

element SqlBinaryExpression

Returns

IQueryElement

ConvertSqlCaseExpression(SqlCaseExpression)

protected override ISqlExpression ConvertSqlCaseExpression(SqlCaseExpression element)

Parameters

element SqlCaseExpression

Returns

ISqlExpression

ConvertSqlFunction(SqlFunction)

public override ISqlExpression ConvertSqlFunction(SqlFunction func)

Parameters

func SqlFunction

Returns

ISqlExpression

ConvertSqlUnaryExpression(SqlUnaryExpression)

public override ISqlExpression ConvertSqlUnaryExpression(SqlUnaryExpression element)

Parameters

element SqlUnaryExpression

Returns

ISqlExpression

CreateLikeEscapeCharacter()

public override ISqlExpression CreateLikeEscapeCharacter()

Returns

ISqlExpression

VisitInSubQueryPredicate(InSubQuery)

protected override IQueryElement VisitInSubQueryPredicate(SqlPredicate.InSubQuery predicate)

Parameters

predicate SqlPredicate.InSubQuery

Returns

IQueryElement