Skip to content

Commit deaeaf5

Browse files
Handle nothing as missing in binding. (#236)
1 parent f3da928 commit deaeaf5

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

src/SQLite.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ bind!(stmt::_Stmt, i::Integer, val::AbstractFloat) = (stmt.params[i] = val; @CH
292292
bind!(stmt::_Stmt, i::Integer, val::Int32) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_int(stmt.handle, i, val); return nothing)
293293
bind!(stmt::_Stmt, i::Integer, val::Int64) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_int64(stmt.handle, i, val); return nothing)
294294
bind!(stmt::_Stmt, i::Integer, val::Missing) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_null(stmt.handle, i); return nothing)
295+
bind!(stmt::_Stmt, i::Integer, val::Nothing) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_null(stmt.handle, i); return nothing)
295296
bind!(stmt::_Stmt, i::Integer, val::AbstractString) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_text(stmt.handle, i, val); return nothing)
296297
bind!(stmt::_Stmt, i::Integer, val::WeakRefString{UInt8}) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_text(stmt.handle, i, val.ptr, val.len); return nothing)
297298
bind!(stmt::_Stmt, i::Integer, val::WeakRefString{UInt16}) = (stmt.params[i] = val; @CHECK stmt.db sqlite3_bind_text16(stmt.handle, i, val.ptr, val.len*2); return nothing)
@@ -420,6 +421,7 @@ sqlitetype_(::Type{Bool}) = "INT"
420421
sqlitetype_(::Type) = "BLOB" # fallback
421422

422423
sqlitetype(::Type{Missing}) = "NULL"
424+
sqlitetype(::Type{Nothing}) = "NULL"
423425
sqlitetype(::Type{Union{T, Missing}}) where T = sqlitetype_(T)
424426
sqlitetype(::Type{T}) where T = string(sqlitetype_(T), " NOT NULL")
425427

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ chmod(dbfile2, 0o777)
4141
@test SQLite.sqlitetype(String) == "TEXT NOT NULL"
4242
@test SQLite.sqlitetype(Symbol) == "BLOB NOT NULL"
4343
@test SQLite.sqlitetype(Missing) == "NULL"
44+
@test SQLite.sqlitetype(Nothing) == "NULL"
4445
@test SQLite.sqlitetype(Any) == "BLOB"
4546
end
4647

0 commit comments

Comments
 (0)