Table of Contents

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

provider IDataProvider
mappingSchema MappingSchema
dataOptions DataOptions
sqlOptimizer ISqlOptimizer
sqlProviderFlags SqlProviderFlags

OracleSqlBuilderBase(BasicSqlBuilder)

protected OracleSqlBuilderBase(BasicSqlBuilder parentBuilder)

Parameters

parentBuilder BasicSqlBuilder

Fields

HintBuilder

protected StringBuilder? HintBuilder

Field Value

StringBuilder

Properties

CteFirst

Identifies CTE clause location:

  • CteFirst = true (default): WITH clause goes first in query
  • CteFirst = false: WITH clause goes before SELECT
public override bool CteFirst { get; }

Property Value

bool

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

string

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

string

IsEmptyValuesSourceSupported

If true, builder will generate command for empty enumerable source; Otherwise exception will be generated.

protected override bool IsEmptyValuesSourceSupported { get; }

Property Value

bool

IsValuesSyntaxSupported

If true, provider supports list of VALUES as a source element of merge command.

protected override bool IsValuesSyntaxSupported { get; }

Property Value

bool

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

bool

Methods

BuildCommand(SqlStatement, int)

protected override void BuildCommand(SqlStatement statement, int commandNumber)

Parameters

statement SqlStatement
commandNumber int

BuildCreateTableCommand(SqlTable)

protected override void BuildCreateTableCommand(SqlTable table)

Parameters

table SqlTable

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).

BuildDeleteQuery(SqlDeleteStatement)

protected override void BuildDeleteQuery(SqlDeleteStatement deleteStatement)

Parameters

deleteStatement SqlDeleteStatement

BuildDropTableStatement(SqlDropTableStatement)

protected override void BuildDropTableStatement(SqlDropTableStatement dropTable)

Parameters

dropTable SqlDropTableStatement

BuildEmptyInsert(SqlInsertClause)

protected override void BuildEmptyInsert(SqlInsertClause insertClause)

Parameters

insertClause SqlInsertClause

BuildEndCreateTableStatement(SqlCreateTableStatement)

protected override void BuildEndCreateTableStatement(SqlCreateTableStatement createTable)

Parameters

createTable SqlCreateTableStatement

BuildExprExprPredicate(ExprExpr)

protected override void BuildExprExprPredicate(SqlPredicate.ExprExpr expr)

Parameters

expr SqlPredicate.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

expr ISqlExpression
buildTableName bool
checkParentheses bool
alias string
addAlias bool
throwExceptionIfTableNotFound bool

Returns

StringBuilder

BuildGetIdentity(SqlInsertClause)

protected override void BuildGetIdentity(SqlInsertClause insertClause)

Parameters

insertClause SqlInsertClause

BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement)

protected override void BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement insertOrUpdate)

Parameters

insertOrUpdate SqlInsertOrUpdateStatement

BuildIsDistinctPredicate(IsDistinct)

protected override void BuildIsDistinctPredicate(SqlPredicate.IsDistinct expr)

Parameters

expr SqlPredicate.IsDistinct

BuildMergeInto(NullabilityContext, SqlMergeStatement)

protected override void BuildMergeInto(NullabilityContext nullability, SqlMergeStatement merge)

Parameters

nullability NullabilityContext
merge SqlMergeStatement

BuildMergeOperationInsert(NullabilityContext, SqlMergeOperationClause)

protected override void BuildMergeOperationInsert(NullabilityContext nullability, SqlMergeOperationClause operation)

Parameters

nullability NullabilityContext
operation SqlMergeOperationClause

BuildMergeOperationUpdate(NullabilityContext, SqlMergeOperationClause)

protected override void BuildMergeOperationUpdate(NullabilityContext nullability, SqlMergeOperationClause operation)

Parameters

nullability NullabilityContext
operation SqlMergeOperationClause

BuildMergeOperationUpdateWithDelete(NullabilityContext, SqlMergeOperationClause)

protected override void BuildMergeOperationUpdateWithDelete(NullabilityContext nullability, SqlMergeOperationClause operation)

Parameters

nullability NullabilityContext
operation SqlMergeOperationClause

BuildMultiInsertClause(SqlMultiInsertStatement)

protected void BuildMultiInsertClause(SqlMultiInsertStatement statement)

Parameters

statement SqlMultiInsertStatement

BuildMultiInsertQuery(SqlMultiInsertStatement)

protected override void BuildMultiInsertQuery(SqlMultiInsertStatement statement)

Parameters

statement SqlMultiInsertStatement

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

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.

BuildObjectNameSuffix(StringBuilder, SqlObjectName, bool)

protected override StringBuilder BuildObjectNameSuffix(StringBuilder sb, SqlObjectName name, bool escape)

Parameters

sb StringBuilder
name SqlObjectName
escape bool

Returns

StringBuilder

BuildSelectClause(SelectQuery)

protected override void BuildSelectClause(SelectQuery selectQuery)

Parameters

selectQuery SelectQuery

BuildSetOperation(SetOperation, StringBuilder)

protected override void BuildSetOperation(SetOperation operation, StringBuilder sb)

Parameters

operation SetOperation
sb StringBuilder

BuildStartCreateTableStatement(SqlCreateTableStatement)

protected override void BuildStartCreateTableStatement(SqlCreateTableStatement createTable)

Parameters

createTable SqlCreateTableStatement

BuildTableExtensions(SqlTable, string)

protected override void BuildTableExtensions(SqlTable table, string alias)

Parameters

table SqlTable
alias string

BuildTruncateTable(SqlTruncateTableStatement)

protected override void BuildTruncateTable(SqlTruncateTableStatement truncateTable)

Parameters

truncateTable SqlTruncateTableStatement

BuildValue(DbDataType?, object?)

protected override void BuildValue(DbDataType? dataType, object? value)

Parameters

dataType DbDataType?
value object

CommandCount(SqlStatement)

public override int CommandCount(SqlStatement statement)

Parameters

statement SqlStatement

Returns

int

Convert(StringBuilder, string, ConvertType)

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

Parameters

sb StringBuilder
value string
convertType ConvertType

Returns

StringBuilder

FinalizeBuildQuery(SqlStatement)

protected override void FinalizeBuildQuery(SqlStatement statement)

Parameters

statement SqlStatement

GetIdentityExpression(SqlTable)

public override ISqlExpression? GetIdentityExpression(SqlTable table)

Parameters

table SqlTable

Returns

ISqlExpression

GetProviderTypeName(IDataContext, DbParameter)

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

Parameters

dataContext IDataContext
parameter DbParameter

Returns

string

GetReserveSequenceValuesSql(int, string)

public override string GetReserveSequenceValuesSql(int count, string sequenceName)

Parameters

count int
sequenceName string

Returns

string

IsReserved(string)

protected override sealed bool IsReserved(string word)

Parameters

word string

Returns

bool

MakeIdentitySequenceName(string)

protected static string MakeIdentitySequenceName(string tableName)

Parameters

tableName string

Returns

string

MakeIdentityTriggerName(string)

protected static string MakeIdentityTriggerName(string tableName)

Parameters

tableName string

Returns

string

ShouldBuildWhere(SelectQuery, out SqlSearchCondition)

protected override bool ShouldBuildWhere(SelectQuery selectQuery, out SqlSearchCondition condition)

Parameters

selectQuery SelectQuery
condition SqlSearchCondition

Returns

bool

StartStatementQueryExtensions(SelectQuery?)

protected override void StartStatementQueryExtensions(SelectQuery? selectQuery)

Parameters

selectQuery SelectQuery

TryConvertParameterToSql(SqlParameterValue)

protected override bool TryConvertParameterToSql(SqlParameterValue paramValue)

Parameters

paramValue SqlParameterValue

Returns

bool