diff options
author | mattn <mattn.jp@gmail.com> | 2018-05-31 22:29:18 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-31 22:29:18 +0900 |
commit | 6d0b39d7bc5136196a370d1b5b899af93baa5799 (patch) | |
tree | 959de205047b73eab66fccc17b0b6146510be00a /sqlite3_test.go | |
parent | Merge pull request #577 from GJRTimmer/update/docs (diff) | |
parent | Add zero-length slice test (diff) | |
download | golite-6d0b39d7bc5136196a370d1b5b899af93baa5799.tar.gz golite-6d0b39d7bc5136196a370d1b5b899af93baa5799.tar.xz |
Merge pull request #583 from lucasmrod/bug/#542-nil-byte-slice-to-null-blob
Add nil check in bind and a test
Diffstat (limited to 'sqlite3_test.go')
-rw-r--r-- | sqlite3_test.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sqlite3_test.go b/sqlite3_test.go index 782f57c..eadcf4a 100644 --- a/sqlite3_test.go +++ b/sqlite3_test.go @@ -1580,6 +1580,25 @@ func TestNilAndEmptyBytes(t *testing.T) { } } +func TestInsertNilByteSlice(t *testing.T) { + db, err := sql.Open("sqlite3", ":memory:") + if err != nil { + t.Fatal(err) + } + defer db.Close() + if _, err := db.Exec("create table blob_not_null (b blob not null)"); err != nil { + t.Fatal(err) + } + var nilSlice []byte + if _, err := db.Exec("insert into blob_not_null (b) values (?)", nilSlice); err == nil { + t.Fatal("didn't expect INSERT to 'not null' column with a nil []byte slice to work") + } + zeroLenSlice := []byte{} + if _, err := db.Exec("insert into blob_not_null (b) values (?)", zeroLenSlice); err != nil { + t.Fatal("failed to insert zero-length slice") + } +} + var customFunctionOnce sync.Once func BenchmarkCustomFunctions(b *testing.B) { |