Skip to content

Commit 10b48b2

Browse files
authored
Merge pull request #1326 from hawk0620/feat/create_index_support_array_param
Create index support array as parameters to solve #1322
2 parents 3def174 + fee88af commit 10b48b2

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

Sources/SQLite/Typed/Schema.swift

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ extension Table {
135135
}
136136

137137
// MARK: - CREATE INDEX
138-
139-
public func createIndex(_ columns: Expressible..., unique: Bool = false, ifNotExists: Bool = false) -> String {
138+
139+
public func createIndex(_ columns: [Expressible], unique: Bool = false, ifNotExists: Bool = false) -> String {
140140
let clauses: [Expressible?] = [
141141
create("INDEX", indexName(columns), unique ? .unique : nil, ifNotExists),
142142
Expression<Void>(literal: "ON"),
@@ -146,12 +146,20 @@ extension Table {
146146

147147
return " ".join(clauses.compactMap { $0 }).asSQL()
148148
}
149+
150+
public func createIndex(_ columns: Expressible..., unique: Bool = false, ifNotExists: Bool = false) -> String {
151+
return createIndex(Array(columns), unique: unique, ifNotExists: ifNotExists)
152+
}
149153

150154
// MARK: - DROP INDEX
151-
152-
public func dropIndex(_ columns: Expressible..., ifExists: Bool = false) -> String {
155+
156+
public func dropIndex(_ columns: [Expressible], ifExists: Bool = false) -> String {
153157
drop("INDEX", indexName(columns), ifExists)
154158
}
159+
160+
public func dropIndex(_ columns: Expressible..., ifExists: Bool = false) -> String {
161+
dropIndex(Array(columns), ifExists: ifExists)
162+
}
155163

156164
fileprivate func indexName(_ columns: [Expressible]) -> Expressible {
157165
let string = (["index", clauses.from.name, "on"] + columns.map { $0.expression.template }).joined(separator: " ").lowercased()

0 commit comments

Comments
 (0)