Class SQLiteSqlBuilder
- Namespace
- LinqToDB.Internal.DataProvider.SQLite
- Assembly
- linq2db.dll
public class SQLiteSqlBuilder : BasicSqlBuilder, ISqlBuilder
- Inheritance
-
objectSQLiteSqlBuilder
- Implements
- Inherited Members
- Extension Methods
Constructors
SQLiteSqlBuilder(IDataProvider?, MappingSchema, DataOptions, ISqlOptimizer, SqlProviderFlags)
public SQLiteSqlBuilder(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
IsNestedJoinParenthesisRequired
public override bool IsNestedJoinParenthesisRequired { 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
SupportsMaterializedCteHint
Providers that understand WITH cte AS MATERIALIZED (...) override this to
true. Currently: PostgreSQL 12+, SQLite 3.35+, ClickHouse 26.3+.
protected override bool SupportsMaterializedCteHint { 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
BuildCreateTableIdentityAttribute2(SqlField)
protected override void BuildCreateTableIdentityAttribute2(SqlField field)
Parameters
fieldSqlField
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
BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement)
protected override void BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement insertOrUpdate)
Parameters
insertOrUpdateSqlInsertOrUpdateStatement
BuildIsDistinctPredicate(IsDistinct)
protected override void BuildIsDistinctPredicate(SqlPredicate.IsDistinct expr)
Parameters
exprSqlPredicate.IsDistinct
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.
BuildSqlValuesTable(SqlValuesTable, string, out bool)
protected override void BuildSqlValuesTable(SqlValuesTable valuesTable, string alias, out bool aliasBuilt)
Parameters
valuesTableSqlValuesTablealiasstringaliasBuiltbool
BuildTableExtensions(SqlTable, string)
protected override void BuildTableExtensions(SqlTable table, string alias)
Parameters
BuildUpdateQuery(SqlStatement, SelectQuery, SqlUpdateClause)
protected override void BuildUpdateQuery(SqlStatement statement, SelectQuery selectQuery, SqlUpdateClause updateClause)
Parameters
statementSqlStatementselectQuerySelectQueryupdateClauseSqlUpdateClause
BuildUpdateTableName(SelectQuery, SqlUpdateClause)
protected override void BuildUpdateTableName(SelectQuery selectQuery, SqlUpdateClause updateClause)
Parameters
selectQuerySelectQueryupdateClauseSqlUpdateClause
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
CreateSqlBuilder()
protected override ISqlBuilder CreateSqlBuilder()
Returns
LimitFormat(SelectQuery)
protected override string LimitFormat(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
Returns
OffsetFormat(SelectQuery)
protected override string OffsetFormat(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery