Skip to content

Commit 43c700b

Browse files
committed
f Disallow empty keys
1 parent 89e9504 commit 43c700b

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/io/sqlite_store.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl SqliteStore {
4848
let sql = format!(
4949
"CREATE TABLE IF NOT EXISTS {} (
5050
namespace TEXT NOT NULL,
51-
key TEXT NOT NULL,
51+
key TEXT NOT NULL CHECK (length(key) > 0),
5252
value BLOB, PRIMARY KEY ( namespace, key )
5353
);",
5454
KV_TABLE_NAME
@@ -215,6 +215,10 @@ mod tests {
215215
// Test the basic KVStore operations.
216216
sqlite_store.write(namespace, key, &data).unwrap();
217217

218+
// Test empty namespace is allowed, but not empty key.
219+
sqlite_store.write("", key, &data).unwrap();
220+
assert!(sqlite_store.write(namespace, "", &data).is_err());
221+
218222
let listed_keys = sqlite_store.list(namespace).unwrap();
219223
assert_eq!(listed_keys.len(), 1);
220224
assert_eq!(listed_keys[0], key);

0 commit comments

Comments
 (0)