Skip to content

Commit 4f985b7

Browse files
committed
Merge branch 'fix/column-alias'
2 parents 385f435 + e100dcd commit 4f985b7

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

Sources/SQLite/Typed/Expression.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ extension ExpressionType {
106106
" ".join([self, Expression<Void>(literal: "DESC")])
107107
}
108108

109+
public func alias(_ aliasName: String) -> Expressible {
110+
return " ".join([self, Expression<Void>(literal: "AS \"\(aliasName)\"")])
111+
}
109112
}
110113

111114
extension ExpressionType where UnderlyingType: Value {

Sources/SQLite/Typed/Query.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1169,7 +1169,7 @@ public struct Row {
11691169
}
11701170

11711171
guard let idx = columnNames[column.template] else {
1172-
let similar = Array(columnNames.keys).filter { $0.hasSuffix(".\(column.template)") }
1172+
let similar = Array(columnNames.keys).filter { $0.hasSuffix(".\(column.template)") || $0.hasSuffix(" AS \(column.template)") }
11731173

11741174
switch similar.count {
11751175
case 0:
@@ -1228,21 +1228,21 @@ public enum OnConflict: String {
12281228

12291229
public struct QueryClauses {
12301230

1231-
var select = (distinct: false, columns: [Expression<Void>(literal: "*") as Expressible])
1231+
public internal(set) var select = (distinct: false, columns: [Expression<Void>(literal: "*") as Expressible])
12321232

1233-
var from: (name: String, alias: String?, database: String?)
1233+
public internal(set) var from: (name: String, alias: String?, database: String?)
12341234

1235-
var join = [(type: JoinType, query: QueryType, condition: Expressible)]()
1235+
public internal(set) var join = [(type: JoinType, query: QueryType, condition: Expressible)]()
12361236

1237-
var filters: Expression<Bool?>?
1237+
public internal(set) var filters: Expression<Bool?>?
12381238

1239-
var group: (by: [Expressible], having: Expression<Bool?>?)?
1239+
public internal(set) var group: (by: [Expressible], having: Expression<Bool?>?)?
12401240

1241-
var order = [Expressible]()
1241+
public internal(set) var order = [Expressible]()
12421242

1243-
var limit: (length: Int, offset: Int?)?
1243+
public internal(set) var limit: (length: Int, offset: Int?)?
12441244

1245-
var union = [QueryType]()
1245+
public internal(set) var union = [QueryType]()
12461246

12471247
fileprivate init(_ name: String, alias: String?, database: String?) {
12481248
from = (name, alias, database)

0 commit comments

Comments
 (0)