Class OracleSqlBuilderBase
- Namespace
- LinqToDB.Internal.DataProvider.Oracle
- Assembly
- linq2db.dll
public abstract class OracleSqlBuilderBase : BasicSqlBuilder<OracleOptions>, ISqlBuilder
- Inheritance
-
OracleSqlBuilderBase
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
OracleSqlBuilderBase(IDataProvider?, MappingSchema, DataOptions, ISqlOptimizer, SqlProviderFlags)
protected OracleSqlBuilderBase(IDataProvider? provider, MappingSchema mappingSchema, DataOptions dataOptions, ISqlOptimizer sqlOptimizer, SqlProviderFlags sqlProviderFlags)
Parameters
providerIDataProvidermappingSchemaMappingSchemadataOptionsDataOptionssqlOptimizerISqlOptimizersqlProviderFlagsSqlProviderFlags
OracleSqlBuilderBase(BasicSqlBuilder)
protected OracleSqlBuilderBase(BasicSqlBuilder parentBuilder)
Parameters
parentBuilderBasicSqlBuilder
Fields
HintBuilder
protected StringBuilder? HintBuilder
Field Value
Properties
CteFirst
Identifies CTE clause location:
CteFirst = true(default): WITH clause goes first in queryCteFirst = false: WITH clause goes before SELECT
public override bool CteFirst { get; }
Property Value
FakeTable
If IsValuesSyntaxSupported set to false and provider doesn't support SELECTs without FROM clause, this property should contain name of table (or equivalent SQL) with single record. IMPORTANT: as this property could return SQL, we don't escape it, so it should contain only valid SQL/identifiers.
protected override string FakeTable { get; }
Property Value
FakeTableSchema
If IsValuesSyntaxSupported set to false and provider doesn't support SELECTs without FROM clause, this property could contain name of schema for table with single record. Returned name should be already escaped if escaping required.
protected override string FakeTableSchema { get; }
Property Value
IsEmptyValuesSourceSupported
If true, builder will generate command for empty enumerable source; Otherwise exception will be generated.
protected override bool IsEmptyValuesSourceSupported { get; }
Property Value
IsValuesSyntaxSupported
If true, provider supports list of VALUES as a source element of merge command.
protected override bool IsValuesSyntaxSupported { get; }
Property Value
SupportsColumnAliasesInSource
If true, provider supports column aliases specification after table alias. E.g. as table_alias (column_alias1, column_alias2).
protected override bool SupportsColumnAliasesInSource { get; }
Property Value
Methods
BuildCommand(SqlStatement, int)
protected override void BuildCommand(SqlStatement statement, int commandNumber)
Parameters
statementSqlStatementcommandNumberint
BuildCreateTableCommand(SqlTable)
protected override void BuildCreateTableCommand(SqlTable table)
Parameters
tableSqlTable
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).
BuildDeleteQuery(SqlDeleteStatement)
protected override void BuildDeleteQuery(SqlDeleteStatement deleteStatement)
Parameters
deleteStatementSqlDeleteStatement
BuildDropTableStatement(SqlDropTableStatement)
protected override void BuildDropTableStatement(SqlDropTableStatement dropTable)
Parameters
dropTableSqlDropTableStatement
BuildEmptyInsert(SqlInsertClause)
protected override void BuildEmptyInsert(SqlInsertClause insertClause)
Parameters
insertClauseSqlInsertClause
BuildEndCreateTableStatement(SqlCreateTableStatement)
protected override void BuildEndCreateTableStatement(SqlCreateTableStatement createTable)
Parameters
createTableSqlCreateTableStatement
BuildExprExprPredicate(ExprExpr)
protected override void BuildExprExprPredicate(SqlPredicate.ExprExpr expr)
Parameters
exprSqlPredicate.ExprExpr
BuildExpression(ISqlExpression, bool, bool, string?, ref bool, bool)
protected override StringBuilder BuildExpression(ISqlExpression expr, bool buildTableName, bool checkParentheses, string? alias, ref bool addAlias, bool throwExceptionIfTableNotFound = true)
Parameters
exprISqlExpressionbuildTableNameboolcheckParenthesesboolaliasstringaddAliasboolthrowExceptionIfTableNotFoundbool
Returns
BuildGetIdentity(SqlInsertClause)
protected override void BuildGetIdentity(SqlInsertClause insertClause)
Parameters
insertClauseSqlInsertClause
BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement)
protected override void BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement insertOrUpdate)
Parameters
insertOrUpdateSqlInsertOrUpdateStatement
BuildIsDistinctPredicate(IsDistinct)
protected override void BuildIsDistinctPredicate(SqlPredicate.IsDistinct expr)
Parameters
exprSqlPredicate.IsDistinct
BuildMergeInto(NullabilityContext, SqlMergeStatement)
protected override void BuildMergeInto(NullabilityContext nullability, SqlMergeStatement merge)
Parameters
nullabilityNullabilityContextmergeSqlMergeStatement
BuildMergeOperationInsert(NullabilityContext, SqlMergeOperationClause)
protected override void BuildMergeOperationInsert(NullabilityContext nullability, SqlMergeOperationClause operation)
Parameters
nullabilityNullabilityContextoperationSqlMergeOperationClause
BuildMergeOperationUpdate(NullabilityContext, SqlMergeOperationClause)
protected override void BuildMergeOperationUpdate(NullabilityContext nullability, SqlMergeOperationClause operation)
Parameters
nullabilityNullabilityContextoperationSqlMergeOperationClause
BuildMergeOperationUpdateWithDelete(NullabilityContext, SqlMergeOperationClause)
protected override void BuildMergeOperationUpdateWithDelete(NullabilityContext nullability, SqlMergeOperationClause operation)
Parameters
nullabilityNullabilityContextoperationSqlMergeOperationClause
BuildMultiInsertClause(SqlMultiInsertStatement)
protected void BuildMultiInsertClause(SqlMultiInsertStatement statement)
Parameters
statementSqlMultiInsertStatement
BuildMultiInsertQuery(SqlMultiInsertStatement)
protected override void BuildMultiInsertQuery(SqlMultiInsertStatement statement)
Parameters
statementSqlMultiInsertStatement
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, bool escape, TableOptions tableOptions, bool withoutSuffix)
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 betrueexcept 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.
BuildObjectNameSuffix(StringBuilder, SqlObjectName, bool)
protected override StringBuilder BuildObjectNameSuffix(StringBuilder sb, SqlObjectName name, bool escape)
Parameters
sbStringBuildernameSqlObjectNameescapebool
Returns
BuildSelectClause(SelectQuery)
protected override void BuildSelectClause(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
BuildSetOperation(SetOperation, StringBuilder)
protected override void BuildSetOperation(SetOperation operation, StringBuilder sb)
Parameters
operationSetOperationsbStringBuilder
BuildStartCreateTableStatement(SqlCreateTableStatement)
protected override void BuildStartCreateTableStatement(SqlCreateTableStatement createTable)
Parameters
createTableSqlCreateTableStatement
BuildTableExtensions(SqlTable, string)
protected override void BuildTableExtensions(SqlTable table, string alias)
Parameters
BuildTruncateTable(SqlTruncateTableStatement)
protected override void BuildTruncateTable(SqlTruncateTableStatement truncateTable)
Parameters
truncateTableSqlTruncateTableStatement
BuildValue(DbDataType?, object?)
protected override void BuildValue(DbDataType? dataType, object? value)
Parameters
dataTypeDbDataType?valueobject
CommandCount(SqlStatement)
public override int CommandCount(SqlStatement statement)
Parameters
statementSqlStatement
Returns
Convert(StringBuilder, string, ConvertType)
public override StringBuilder Convert(StringBuilder sb, string value, ConvertType convertType)
Parameters
sbStringBuildervaluestringconvertTypeConvertType
Returns
FinalizeBuildQuery(SqlStatement)
protected override void FinalizeBuildQuery(SqlStatement statement)
Parameters
statementSqlStatement
GetIdentityExpression(SqlTable)
public override ISqlExpression? GetIdentityExpression(SqlTable table)
Parameters
tableSqlTable
Returns
GetProviderTypeName(IDataContext, DbParameter)
protected override string? GetProviderTypeName(IDataContext dataContext, DbParameter parameter)
Parameters
dataContextIDataContextparameterDbParameter
Returns
GetReserveSequenceValuesSql(int, string)
public override string GetReserveSequenceValuesSql(int count, string sequenceName)
Parameters
Returns
IsReserved(string)
protected override sealed bool IsReserved(string word)
Parameters
wordstring
Returns
MakeIdentitySequenceName(string)
protected static string MakeIdentitySequenceName(string tableName)
Parameters
tableNamestring
Returns
MakeIdentityTriggerName(string)
protected static string MakeIdentityTriggerName(string tableName)
Parameters
tableNamestring
Returns
ShouldBuildWhere(SelectQuery, out SqlSearchCondition)
protected override bool ShouldBuildWhere(SelectQuery selectQuery, out SqlSearchCondition condition)
Parameters
selectQuerySelectQueryconditionSqlSearchCondition
Returns
StartStatementQueryExtensions(SelectQuery?)
protected override void StartStatementQueryExtensions(SelectQuery? selectQuery)
Parameters
selectQuerySelectQuery
TryConvertParameterToSql(SqlParameterValue)
protected override bool TryConvertParameterToSql(SqlParameterValue paramValue)
Parameters
paramValueSqlParameterValue