mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
Add extra Clear test (check if existency column bit is set)
This commit is contained in:
parent
771cc3ae94
commit
377d14081a
1 changed files with 46 additions and 0 deletions
|
|
@ -675,6 +675,52 @@ func TestExecutor_Execute_Clear(t *testing.T) {
|
|||
t.Fatalf("expected column changed")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("RowKeyColumnKey_NotClearNot", func(t *testing.T) {
|
||||
writeQuery := `Set("one", f="ten")`
|
||||
readQueries := []string{
|
||||
`Not(Row(f="whatever"))`,
|
||||
`Clear("one", f="whatever")`,
|
||||
`Not(Row(f="whatever")) `,
|
||||
`Clear("one", f="ten")`,
|
||||
`Not(Row(f="whatever")) `,
|
||||
}
|
||||
results := []interface{}{
|
||||
"one",
|
||||
false,
|
||||
"one",
|
||||
true,
|
||||
"one",
|
||||
}
|
||||
|
||||
responses := runCallTest(t, writeQuery, readQueries, &pilosa.IndexOptions{
|
||||
Keys: true,
|
||||
TrackExistence: true,
|
||||
}, pilosa.OptFieldKeys())
|
||||
for i, resp := range responses {
|
||||
if len(resp.Results) != 1 {
|
||||
t.Fatalf("response %d: len(results) expected: 1, got: %d", i, len(resp.Results))
|
||||
}
|
||||
|
||||
switch r := resp.Results[0].(type) {
|
||||
case bool:
|
||||
if results[i] != r {
|
||||
t.Fatalf("response %d: expected: %v, got: %v", i, results[i], r)
|
||||
}
|
||||
|
||||
case *pilosa.Row:
|
||||
if len(r.Keys) != 1 {
|
||||
t.Fatalf("response %d: len(keys) expected: 1, got: %d", i, len(r.Keys))
|
||||
}
|
||||
if results[i] != r.Keys[0] {
|
||||
t.Fatalf("response %d: expected: %v, got: %v", i, results[i], r.Keys[0])
|
||||
}
|
||||
|
||||
default:
|
||||
t.Fatalf("response %d: expected: %T, got: %T", i, results[i], r)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Ensure a set query can be executed on a bool field.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue