@@ -174,7 +174,8 @@ extension Double: Expressible {
174174extension 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
927928public func ^= < V: Value where V. Datatype == Int64 > ( column: Expression < V > , value: V ) -> Setter { return set ( column, column ^ value) }
928929public 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