Open mfbx9da4 opened 1 year ago
FYI here's how it can be solved for a simple case:
extension Insert {
func returning(_ columns: [Expression<Int64>]) -> Insert {
var template = self.template
let bindings = self.bindings
template.append(" RETURNING ")
template.append(columns.map { column in column.expression.template }.joined(separator: ", "))
let insert = Insert(template, bindings)
return insert
}
}
...
let insert = table1.insert(...).returning([col1, col2])
if let results = try? db().prepareRowIterator(insert.template, bindings: insert.bindings) {
// handle results as usual
}
As far as I can tell there is no way to return anything other than the
rowId
inserted from anUPDATE
orINSERT
statement. That would be useful in my use case. eg