Skip to content

Commit 3b91a00

Browse files
committed
Fix test
1 parent 773ac26 commit 3b91a00

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

Sources/SQLite/Core/Statement.swift

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,21 +100,24 @@ public final class Statement {
100100
}
101101

102102
fileprivate func bind(_ value: Binding?, atIndex idx: Int) {
103-
if value == nil {
103+
switch value {
104+
case .none:
104105
sqlite3_bind_null(handle, Int32(idx))
105-
} else if let value = value as? Blob {
106+
case let value as Blob where value.length == 0:
107+
sqlite3_bind_zeroblob(handle, Int32(idx), 0)
108+
case let value as Blob:
106109
sqlite3_bind_blob(handle, Int32(idx), value.bytes, Int32(value.length), SQLITE_TRANSIENT)
107-
} else if let value = value as? Double {
110+
case let value as Double:
108111
sqlite3_bind_double(handle, Int32(idx), value)
109-
} else if let value = value as? Int64 {
112+
case let value as Int64:
110113
sqlite3_bind_int64(handle, Int32(idx), value)
111-
} else if let value = value as? String {
114+
case let value as String:
112115
sqlite3_bind_text(handle, Int32(idx), value, -1, SQLITE_TRANSIENT)
113-
} else if let value = value as? Int {
116+
case let value as Int:
114117
self.bind(value.datatypeValue, atIndex: idx)
115-
} else if let value = value as? Bool {
118+
case let value as Bool:
116119
self.bind(value.datatypeValue, atIndex: idx)
117-
} else if let value = value {
120+
case .some(let value):
118121
fatalError("tried to bind unexpected value \(value)")
119122
}
120123
}

0 commit comments

Comments
 (0)