Class PostgreSQLSqlBuilder
- Namespace
- LinqToDB.DataProvider.PostgreSQL
- Assembly
- linq2db.dll
public class PostgreSQLSqlBuilder : BasicSqlBuilder<PostgreSQLOptions>, ISqlBuilder
- Inheritance
-
PostgreSQLSqlBuilder
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
PostgreSQLSqlBuilder(IDataProvider?, MappingSchema, DataOptions, ISqlOptimizer, SqlProviderFlags)
public PostgreSQLSqlBuilder(IDataProvider? provider, MappingSchema mappingSchema, DataOptions dataOptions, ISqlOptimizer sqlOptimizer, SqlProviderFlags sqlProviderFlags)
Parameters
providerIDataProvidermappingSchemaMappingSchemadataOptionsDataOptionssqlOptimizerISqlOptimizersqlProviderFlagsSqlProviderFlags
PostgreSQLSqlBuilder(BasicSqlBuilder)
protected PostgreSQLSqlBuilder(BasicSqlBuilder parentBuilder)
Parameters
parentBuilderBasicSqlBuilder
Properties
IdentifierQuoteMode
[Obsolete("Use PostgreSQLOptions.Default.IdentifierQuoteMode instead.")]
public static PostgreSQLIdentifierQuoteMode IdentifierQuoteMode { get; set; }
Property Value
IsRecursiveCteKeywordRequired
protected override bool IsRecursiveCteKeywordRequired { get; }
Property Value
SupportsNullInColumn
protected override bool SupportsNullInColumn { get; }
Property Value
Methods
BuildCreateTableCommand(SqlTable)
protected override void BuildCreateTableCommand(SqlTable table)
Parameters
tableSqlTable
BuildCreateTableFieldType(SqlField)
protected override void BuildCreateTableFieldType(SqlField field)
Parameters
fieldSqlField
BuildDataTypeFromDataType(SqlDataType, bool, bool)
protected override void BuildDataTypeFromDataType(SqlDataType type, bool forCreateTable, bool canBeNull)
Parameters
typeSqlDataTypeforCreateTableboolcanBeNullboolType 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
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
BuildJoinType(SqlJoinedTable, SqlSearchCondition)
protected override bool BuildJoinType(SqlJoinedTable join, SqlSearchCondition condition)
Parameters
joinSqlJoinedTableconditionSqlSearchCondition
Returns
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 = 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 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.
BuildQueryExtensions(SqlStatement)
protected override void BuildQueryExtensions(SqlStatement statement)
Parameters
statementSqlStatement
BuildSql()
protected override void BuildSql()
BuildSubQueryExtensions(SqlStatement)
protected override void BuildSubQueryExtensions(SqlStatement statement)
Parameters
statementSqlStatement
BuildTruncateTableStatement(SqlTruncateTableStatement)
protected override void BuildTruncateTableStatement(SqlTruncateTableStatement truncateTable)
Parameters
truncateTableSqlTruncateTableStatement
Convert(StringBuilder, string, ConvertType)
public override StringBuilder Convert(StringBuilder sb, string value, ConvertType convertType)
Parameters
sbStringBuildervaluestringconvertTypeConvertType
Returns
CreateSqlBuilder()
protected override ISqlBuilder CreateSqlBuilder()
Returns
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
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
sourceSqlValuesTableMerge source table.
rowsIReadOnlyList<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, otherwisefalsereturned.
LimitFormat(SelectQuery)
protected override string LimitFormat(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
Returns
OffsetFormat(SelectQuery)
protected override string OffsetFormat(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery