Class DuckDBSqlExpressionConvertVisitor
- Namespace
- LinqToDB.Internal.DataProvider.DuckDB
- Assembly
- linq2db.dll
public class DuckDBSqlExpressionConvertVisitor : SqlExpressionConvertVisitor
- Inheritance
-
objectDuckDBSqlExpressionConvertVisitor
- Inherited Members
- Extension Methods
Constructors
DuckDBSqlExpressionConvertVisitor(bool)
public DuckDBSqlExpressionConvertVisitor(bool allowModify)
Parameters
allowModifybool
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,
Sybase ASE, Access) — SQL-standard data-type precedence would otherwise try to coerce
string operands to the non-string side's type. 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.
protected override bool ConcatRequiresExplicitStringCast { get; }
Property Value
SupportsNullInColumn
protected override bool SupportsNullInColumn { get; }
Property Value
Methods
ConvertConversion(SqlCastExpression)
Implements SqlCastExpression conversion.
protected override ISqlExpression ConvertConversion(SqlCastExpression cast)
Parameters
castSqlCastExpression
Returns
ConvertSearchStringPredicate(SearchString)
public override ISqlPredicate ConvertSearchStringPredicate(SqlPredicate.SearchString predicate)
Parameters
predicateSqlPredicate.SearchString
Returns
ConvertSqlBinaryExpression(SqlBinaryExpression)
public override IQueryElement ConvertSqlBinaryExpression(SqlBinaryExpression element)
Parameters
elementSqlBinaryExpression
Returns
ConvertSqlFunction(SqlFunction)
public override ISqlExpression ConvertSqlFunction(SqlFunction func)
Parameters
funcSqlFunction