mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-30 00:34:26 +01:00
ensure we get no documents and no error when filtering on an empty db
This commit is contained in:
parent
8f4499090b
commit
01968d7ca7
@ -453,6 +453,32 @@ mod tests {
|
||||
use crate::update::Settings;
|
||||
use crate::Index;
|
||||
|
||||
#[test]
|
||||
fn empty_db() {
|
||||
let path = tempfile::tempdir().unwrap();
|
||||
let mut options = EnvOpenOptions::new();
|
||||
options.map_size(10 * 1024 * 1024); // 10 MB
|
||||
let index = Index::new(options, &path).unwrap();
|
||||
|
||||
// Set the filterable fields to be the channel.
|
||||
let mut wtxn = index.write_txn().unwrap();
|
||||
let mut builder = Settings::new(&mut wtxn, &index);
|
||||
builder.set_searchable_fields(vec![S("PrIcE")]); // to keep the fields order
|
||||
builder.set_filterable_fields(hashset! { S("PrIcE") });
|
||||
builder.execute(|_| ()).unwrap();
|
||||
wtxn.commit().unwrap();
|
||||
|
||||
let rtxn = index.read_txn().unwrap();
|
||||
|
||||
let filter = Filter::from_str("PrIcE < 1000").unwrap().unwrap();
|
||||
let bitmap = filter.evaluate(&rtxn, &index).unwrap();
|
||||
assert!(bitmap.is_empty());
|
||||
|
||||
let filter = Filter::from_str("NOT PrIcE >= 1000").unwrap().unwrap();
|
||||
let bitmap = filter.evaluate(&rtxn, &index).unwrap();
|
||||
assert!(bitmap.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn from_array() {
|
||||
// Simple array with Left
|
||||
|
Loading…
Reference in New Issue
Block a user