Class YdbSqlBuilder
- Namespace
- LinqToDB.Internal.DataProvider.Ydb
- Assembly
- linq2db.dll
public class YdbSqlBuilder : BasicSqlBuilder<YdbOptions>, ISqlBuilder
- Inheritance
-
objectYdbSqlBuilder
- 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
providerIDataProvidermappingSchemaMappingSchemadataOptionsDataOptionssqlOptimizerISqlOptimizersqlProviderFlagsSqlProviderFlags
Properties
ConcatStyle
SQL-emit shape for SqlConcatExpression. Defaults to Plus; override per provider.
protected override BasicSqlBuilder.ConcatBuildStyle ConcatStyle { get; }
Property Value
IsCteColumnListSupported
protected override bool IsCteColumnListSupported { get; }
Property Value
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
Methods
BuildColumnExpression(SelectQuery?, ISqlExpression, string?, ref bool)
protected override void BuildColumnExpression(SelectQuery? selectQuery, ISqlExpression expr, string? alias, ref bool addAlias)
Parameters
selectQuerySelectQueryexprISqlExpressionaliasstringaddAliasbool
BuildCreateTableCommand(SqlTable)
protected override void BuildCreateTableCommand(SqlTable table)
Parameters
tableSqlTable
BuildCreateTableFieldType(SqlField)
protected override void BuildCreateTableFieldType(SqlField field)
Parameters
fieldSqlField
BuildCreateTableNullAttribute(SqlField, DefaultNullable)
protected override void BuildCreateTableNullAttribute(SqlField field, DefaultNullable defaultNullable)
Parameters
fieldSqlFielddefaultNullableDefaultNullable
BuildCreateTablePrimaryKey(SqlCreateTableStatement, string, IEnumerable<string>)
protected override void BuildCreateTablePrimaryKey(SqlCreateTableStatement createTable, string pkName, IEnumerable<string> fieldNames)
Parameters
createTableSqlCreateTableStatementpkNamestringfieldNamesIEnumerable<string>
BuildDataTypeFromDataType(DbDataType, bool, bool)
protected override void BuildDataTypeFromDataType(DbDataType type, bool forCreateTable, bool canBeNull)
Parameters
typeDbDataTypeforCreateTableboolcanBeNullboolType could store
NULLvalues (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
dropTableSqlDropTableStatement
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
statementSqlStatementselectQuerySelectQuery
BuildGetIdentity(SqlInsertClause)
protected override void BuildGetIdentity(SqlInsertClause insertClause)
Parameters
insertClauseSqlInsertClause
BuildInListPredicate(InList)
protected override void BuildInListPredicate(SqlPredicate.InList predicate)
Parameters
predicateSqlPredicate.InList
BuildMergeStatement(SqlMergeStatement)
protected override void BuildMergeStatement(SqlMergeStatement merge)
Parameters
mergeSqlMergeStatement
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
sbStringBuilderString builder for generated object name.
nameSqlObjectNameName of database object (e.g. table, view, procedure or function).
objectTypeConvertTypeType of database object, used to select proper name converter.
escapeboolIf true, apply required escaping to name components. Must be true except rare cases when escaping is not needed.
tableOptionsTableOptionsTable options if called for table. Used to properly generate names for temporary tables.
withoutSuffixboolIf 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
sbparameter value.
BuildOrderByClause(SelectQuery)
protected override void BuildOrderByClause(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
BuildOutputColumnExpressions(IReadOnlyList<ISqlExpression>)
protected override void BuildOutputColumnExpressions(IReadOnlyList<ISqlExpression> expressions)
Parameters
expressionsIReadOnlyList<ISqlExpression>
BuildSelectClause(SelectQuery)
protected override void BuildSelectClause(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
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
commandNumberintstatementSqlStatementsbStringBuilderoptimizationContextOptimizationContextindentintaliasModeBasicSqlBuilder.ColumnAliasModenullabilityContextNullabilityContext
BuildSqlCastExpression(SqlCastExpression)
protected override void BuildSqlCastExpression(SqlCastExpression castExpression)
Parameters
castExpressionSqlCastExpression
BuildSubQueryExtensions(SqlStatement)
protected override void BuildSubQueryExtensions(SqlStatement statement)
Parameters
statementSqlStatement
BuildWithClause(SqlWithClause?)
protected override void BuildWithClause(SqlWithClause? with)
Parameters
withSqlWithClause
CanSkipRootAliases(SqlStatement)
protected override bool CanSkipRootAliases(SqlStatement statement)
Parameters
statementSqlStatement
Returns
Convert(StringBuilder, string, ConvertType)
public override StringBuilder Convert(StringBuilder sb, string value, ConvertType convertType)
Parameters
sbStringBuildervaluestringconvertTypeConvertType
Returns
CreateSqlBuilder()
protected override ISqlBuilder CreateSqlBuilder()
Returns
GetProviderTypeName(IDataContext, DbParameter)
protected override string? GetProviderTypeName(IDataContext dataContext, DbParameter parameter)
Parameters
dataContextIDataContextparameterDbParameter
Returns
IsReserved(string)
protected override sealed bool IsReserved(string word)
Parameters
wordstring
Returns
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
sourceSqlValuesTableMerge source table.
rowsIReadOnlyList<List<ISqlExpression>>Merge source data.
rowintIndex of data row to check. Could contain -1 to indicate that this is a check for empty source NULL value.
columnintIndex 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
selectQuerySelectQuery
Returns
OffsetFormat(SelectQuery)
protected override string OffsetFormat(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
Returns
PrintParameterName(StringBuilder, DbParameter)
protected override void PrintParameterName(StringBuilder sb, DbParameter parameter)
Parameters
sbStringBuilderparameterDbParameter