Structure
SQLCreateIndex
An expression representing a
CREATE INDEX query. Used to add indexes over columns to an existing table.struct SQLCreateIndex
Overview
CREATE INDEX "name" ON "table" ("column1", "column2") WHERE "column1"=$0;
Not all dialects support index predicates, nor does this expression attempt to support all of the numerous additional indexing options available with different drivers.
Note
Because support for an IF NOT EXISTS clause on CREATE IDNEX queries varies in unusual ways between dialects, it is not currently supported by this expression.
Topics
Initializers
init(name: any SQLExpression)Create a index creation query.
Instance Properties
var columns: [any SQLExpression]The list of columns covered by the index.var modifier: (any SQLExpression)?If notnil, must be set toSQLColumnConstraintAlgorithm.unique.var name: any SQLExpressionThe name of the index.var predicate: (any SQLExpression)?If notnil, a predicate identifying which rows of the table are included in the index.var table: (any SQLExpression)?The table containing the data to be indexed.
Instance Methods
func serialize(to: inout SQLSerializer)Invoked when a request is made to serialize the expression to raw SQL.
Relationships
Conforms To
SQLExpressionSwift.SendableSwift.SendableMetatype
See Also
Query Expressions
struct SQLAlterEnumAn expression representing anALTER TYPEquery. Used to add new cases to enumeration types.struct SQLAlterTableAn expression representing anALTER TABLEquery. Used to modify the structure of existing tables.struct SQLCreateEnumAn expression representing aCREATE TYPEquery. Used to create enumeration types.struct SQLCreateTableAn expression representing aCREATE TABLEquery. Used to create new tables.struct SQLCreateTriggerAn expression representing aCREATE TRIGGERquery. Used to create new triggers for actions on a table.struct SQLDeleteAn expression representing aCREATE TRIGGERquery. Used to remove rows from a table.struct SQLDropEnumAn expression representing aDROP TYPEquery. Used to delete enumeration types.struct SQLDropIndexAn expression representing aDROP INDEXquery. Used to delete indexes from tables.struct SQLDropTableAn expression representing aDROP TABLEquery. Used to delete entire tables.struct SQLDropTriggerAn expression representing aDROP TRIGGERquery. Used to delete triggers.struct SQLInsertAn expression representing anINSERTquery. Used to add new rows to a table.struct SQLSelectAn expression representing aSELECTquery. Used to retrieve rows and expression results from a database.struct SQLUnionAn expression representing two or moreSELECTqueries joined byUNIONclauses. Used to merge the results of multiple queries into a single result set.struct SQLUpdateAn expression representing anUPDATEquery. Used to modify existing rows in a single table.