Skip to content

Commit 83bbd89

Browse files
committed
Fix some old archive-only segfaults
Looking forward to Swift 1.2! Signed-off-by: Stephen Celis <stephen@stephencelis.com>
1 parent ae7d539 commit 83bbd89

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

SQLite/Expression.swift

+18-21
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ extension Double: Expressible {
174174
extension Int: Expressible {
175175

176176
public var expression: Expression<()> {
177-
return Expression(value: self)
177+
// FIXME: rdar://TODO segfaults during archive // return Expression(value: self)
178+
return Expression(binding: datatypeValue)
178179
}
179180

180181
}
@@ -927,26 +928,22 @@ public func ^= <V: Value where V.Datatype == Int64>(column: Expression<V?>, valu
927928
public func ^= <V: Value where V.Datatype == Int64>(column: Expression<V>, value: V) -> Setter { return set(column, column ^ value) }
928929
public func ^= <V: Value where V.Datatype == Int64>(column: Expression<V?>, value: V) -> Setter { return set(column, column ^ value) }
929930

930-
public postfix func ++ <V: Value where V.Datatype == Int64>(column: Expression<V>) -> Setter { return Expression<Int>(column) += 1 }
931-
public postfix func ++ <V: Value where V.Datatype == Int64>(column: Expression<V?>) -> Setter { return Expression<Int>(column) += 1 }
932-
public postfix func -- <V: Value where V.Datatype == Int64>(column: Expression<V>) -> Setter { return Expression<Int>(column) -= 1 }
933-
public postfix func -- <V: Value where V.Datatype == Int64>(column: Expression<V?>) -> Setter { return Expression<Int>(column) -= 1 }
934-
//public postfix func ++ (column: Expression<Int>) -> Setter {
935-
// // rdar://18825175 segfaults during archive: // column += 1
936-
// return (column, Expression<Int>(literal: "(\(column.SQL) + 1)", column.bindings))
937-
//}
938-
//public postfix func ++ (column: Expression<Int?>) -> Setter {
939-
// // rdar://18825175 segfaults during archive: // column += 1
940-
// return (column, Expression<Int>(literal: "(\(column.SQL) + 1)", column.bindings))
941-
//}
942-
//public postfix func -- (column: Expression<Int>) -> Setter {
943-
// // rdar://18825175 segfaults during archive: // column -= 1
944-
// return (column, Expression<Int>(literal: "(\(column.SQL) - 1)", column.bindings))
945-
//}
946-
//public postfix func -- (column: Expression<Int?>) -> Setter {
947-
// // rdar://18825175 segfaults during archive: // column -= 1
948-
// return (column, Expression<Int>(literal: "(\(column.SQL) - 1)", column.bindings))
949-
//}
931+
public postfix func ++ <V: Value where V.Datatype == Int64>(column: Expression<V>) -> Setter {
932+
// rdar://18825175 segfaults during archive: // column += 1
933+
return (column, Expression<V>(literal: "(\(column.SQL) + 1)", column.bindings))
934+
}
935+
public postfix func ++ <V: Value where V.Datatype == Int64>(column: Expression<V?>) -> Setter {
936+
// rdar://18825175 segfaults during archive: // column += 1
937+
return (column, Expression<V>(literal: "(\(column.SQL) + 1)", column.bindings))
938+
}
939+
public postfix func -- <V: Value where V.Datatype == Int64>(column: Expression<V>) -> Setter {
940+
// rdar://18825175 segfaults during archive: // column -= 1
941+
return (column, Expression<V>(literal: "(\(column.SQL) - 1)", column.bindings))
942+
}
943+
public postfix func -- <V: Value where V.Datatype == Int64>(column: Expression<V?>) -> Setter {
944+
// rdar://18825175 segfaults during archive: // column -= 1
945+
return (column, Expression<V>(literal: "(\(column.SQL) - 1)", column.bindings))
946+
}
950947

951948
// MARK: - Internal
952949

0 commit comments

Comments
 (0)