Class FirebirdSqlBuilder
- Namespace
- LinqToDB.DataProvider.Firebird
- Assembly
- linq2db.dll
public class FirebirdSqlBuilder : BasicSqlBuilder<FirebirdOptions>, ISqlBuilder- Inheritance
- 
      
      
      
      FirebirdSqlBuilder
- Implements
- Inherited Members
- Extension Methods
Constructors
FirebirdSqlBuilder(IDataProvider, MappingSchema, DataOptions, ISqlOptimizer, SqlProviderFlags)
public FirebirdSqlBuilder(IDataProvider provider, MappingSchema mappingSchema, DataOptions dataOptions, ISqlOptimizer sqlOptimizer, SqlProviderFlags sqlProviderFlags)Parameters
- providerIDataProvider
- mappingSchemaMappingSchema
- dataOptionsDataOptions
- sqlOptimizerISqlOptimizer
- sqlProviderFlagsSqlProviderFlags
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
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
IsRecursiveCteKeywordRequired
protected override bool IsRecursiveCteKeywordRequired { 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
SkipFirst
protected override bool SkipFirst { get; }Property Value
SkipFormat
protected override string SkipFormat { get; }Property Value
Methods
BuildCommand(SqlStatement, int)
protected override void BuildCommand(SqlStatement statement, int commandNumber)Parameters
- statementSqlStatement
- commandNumberint
BuildCreateTableCommand(SqlTable)
protected override void BuildCreateTableCommand(SqlTable table)Parameters
- tableSqlTable
BuildCreateTableNullAttribute(SqlField, DefaultNullable)
protected override void BuildCreateTableNullAttribute(SqlField field, DefaultNullable defaultNullable)Parameters
- fieldSqlField
- defaultNullableDefaultNullable
BuildDataTypeFromDataType(SqlDataType, bool, bool)
protected override void BuildDataTypeFromDataType(SqlDataType type, bool forCreateTable, bool canBeNull)Parameters
- typeSqlDataType
- forCreateTablebool
- canBeNullbool
- Type 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
BuildEndCreateTableStatement(SqlCreateTableStatement)
protected override void BuildEndCreateTableStatement(SqlCreateTableStatement createTable)Parameters
- createTableSqlCreateTableStatement
BuildGetIdentity(SqlInsertClause)
protected override void BuildGetIdentity(SqlInsertClause insertClause)Parameters
- insertClauseSqlInsertClause
BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement)
protected override void BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement insertOrUpdate)Parameters
- insertOrUpdateSqlInsertOrUpdateStatement
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
- sbStringBuilder
- String builder for generated object name. 
- nameSqlObjectName
- Name of database object (e.g. table, view, procedure or function). 
- objectTypeConvertType
- Type of database object, used to select proper name converter. 
- escapebool
- If - true, apply required escaping to name components. Must be- trueexcept rare cases when escaping is not needed.
- tableOptionsTableOptions
- Table options if called for table. Used to properly generate names for temporary tables. 
- withoutSuffixbool
- 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
- sbparameter value.
BuildSelectClause(SelectQuery)
protected override void BuildSelectClause(SelectQuery selectQuery)Parameters
- selectQuerySelectQuery
BuildStartCreateTableStatement(SqlCreateTableStatement)
protected override void BuildStartCreateTableStatement(SqlCreateTableStatement createTable)Parameters
- createTableSqlCreateTableStatement
BuildTypedExpression(SqlDataType, ISqlExpression)
protected override void BuildTypedExpression(SqlDataType dataType, ISqlExpression value)Parameters
- dataTypeSqlDataType
- valueISqlExpression
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
- sbStringBuilder
- valuestring
- convertTypeConvertType
Returns
CreateSqlBuilder()
protected override ISqlBuilder CreateSqlBuilder()Returns
FirstFormat(SelectQuery)
protected override string FirstFormat(SelectQuery selectQuery)Parameters
- selectQuerySelectQuery
Returns
GetIdentityExpression(SqlTable)
public override ISqlExpression? GetIdentityExpression(SqlTable table)Parameters
- tableSqlTable
Returns
GetPhysicalTableName(ISqlTableSource, string?, bool, string?, bool)
protected override string GetPhysicalTableName(ISqlTableSource table, string? alias, bool ignoreTableExpression = false, string? defaultDatabaseName = null, bool withoutSuffix = false)Parameters
- tableISqlTableSource
- aliasstring
- ignoreTableExpressionbool
- defaultDatabaseNamestring
- withoutSuffixbool
Returns
GetProviderTypeName(IDataContext, DbParameter)
protected override string? GetProviderTypeName(IDataContext dataContext, DbParameter parameter)Parameters
- dataContextIDataContext
- parameterDbParameter
Returns
IsReserved(string)
protected override sealed bool IsReserved(string word)Parameters
- wordstring
Returns
IsSqlValuesTableValueTypeRequired(SqlValuesTable, IReadOnlyList<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<ISqlExpression[]> rows, int row, int column)Parameters
- sourceSqlValuesTable
- Merge source table. 
- rowsIReadOnlyList<ISqlExpression[]>
- Merge source data. 
- rowint
- Index of data row to check. Could contain -1 to indicate that this is a check for empty source NULL value. 
- columnint
- Index of data column to check in row. 
Returns
- bool
- Returns - true, if generated SQL should include type information for value at specified position, otherwise- falsereturned.