Commit Graph

115 Commits

Author SHA1 Message Date
curquiza f3874d58b9 Update version for the next release (v0.34.0) in Cargo.toml files 2022-10-24 10:13:25 +00:00
Loïc Lecrenier 4c481a8947 Upgrade all dependencies 2022-10-17 13:05:56 +02:00
curquiza 753e76d451 Update version for the next release (v0.33.4) in Cargo.toml files 2022-09-13 13:55:50 +00:00
curquiza 077dcd2002 Update version for the next release (v0.33.3) in Cargo.toml files 2022-09-07 15:48:53 +00:00
ManyTheFish 97a04887a3 Update version for next release (v0.33.2) in Cargo.toml 2022-09-01 11:47:23 +02:00
Clémentine Urquizar c3363706c5
Update version for next release (v0.33.1) in Cargo.toml 2022-08-31 11:37:27 +02:00
Clémentine Urquizar 9ed7324995
Update version for next release (v0.33.0) 2022-08-23 11:47:48 +02:00
Loïc Lecrenier c7a86b56ef Fix filter parser compilation error 2022-08-18 13:16:56 +02:00
Loïc Lecrenier 8a271223a9 Change a macro_rules to a function in filter parser 2022-08-18 13:03:55 +02:00
Loïc Lecrenier dd34dbaca5 Add more filter parser tests 2022-08-18 11:55:01 +02:00
Loïc Lecrenier 5d74ebd5e5 Cargo fmt 2022-08-18 11:36:38 +02:00
Loïc Lecrenier 9af69c151b Limit the maximum depth of filters
This should have no impact on the user but is there to safeguard
meilisearch against malicious inputs.
2022-08-18 11:31:38 +02:00
Loïc Lecrenier 98f0da6b38 Simplify representation of nested NOT filters 2022-08-18 10:58:24 +02:00
Loïc Lecrenier b030efdc83 Fix parsing of IN[] filter followed by whitespace + factorise its impl 2022-08-18 10:58:04 +02:00
Loïc Lecrenier 497f9817a2 Use snapshot testing for the filter parser 2022-08-17 17:35:01 +02:00
Loïc Lecrenier 238a7be58d Fix filter parser handling of keywords and surrounding spaces
Now the following fragments are allowed:

AND(field =

AND'field' =

AND"field" =
2022-08-17 16:53:40 +02:00
Loïc Lecrenier b09a8f1b91 Filters: add explicit error message when using a keyword as value 2022-08-17 16:07:00 +02:00
Loïc Lecrenier 196f79115a Run cargo fmt 2022-08-17 12:28:33 +02:00
Loïc Lecrenier 4ecfb95d0c Improve syntax errors for `IN` filter 2022-08-17 12:28:33 +02:00
Loïc Lecrenier 2fd20fadfc Implement the NOT IN syntax for negated IN filter 2022-08-17 12:28:33 +02:00
Loïc Lecrenier ca97cb0eda Implement the IN filter operator 2022-08-17 12:28:33 +02:00
Loïc Lecrenier 90a304cb07 Fix tests after simplification of NOT filter 2022-08-17 12:28:33 +02:00
Loïc Lecrenier cc7415bb31 Simplify FilterCondition code, made possible by the new NOT operator 2022-08-17 12:28:33 +02:00
Loïc Lecrenier 44744d9e67 Implement the simplified NOT operator 2022-08-17 12:28:33 +02:00
Loïc Lecrenier 258c3dd563 Make AND+OR filters n-ary (store a vector of subfilters instead of 2)
NOTE: The token_at_depth is method is a bit useless now, as the only
cases where there would be a toke at depth 1000 are the cases where
the parser already stack-overflowed earlier.

Example: (((((... (x=1) ...)))))
2022-08-17 12:28:33 +02:00
Loïc Lecrenier 1fe224f2c6
Update filter-parser/fuzz/.gitignore
Co-authored-by: Many the fish <many@meilisearch.com>
2022-07-21 16:12:01 +02:00
Loïc Lecrenier 07003704a8 Merge branch 'filter/field-exist' 2022-07-21 14:51:41 +02:00
Clémentine Urquizar d5e9b7305b
Update version for next release (v0.32.0) 2022-07-21 13:20:02 +04:00
Loïc Lecrenier ea0642c32d Make filter parser more strict regarding spacing around operators
OR, AND, NOT, TO must now be followed by spaces
2022-07-19 10:07:33 +02:00
Loïc Lecrenier 392472f4bb Apply suggestions from code review
Co-authored-by: Tamo <tamo@meilisearch.com>
2022-07-19 10:07:33 +02:00
Loïc Lecrenier bd15f5625a Fix compiler warning 2022-07-19 10:07:33 +02:00
Loïc Lecrenier 722db7b088 Ignore target directory of filter-parser/fuzz crate 2022-07-19 10:07:33 +02:00
Loïc Lecrenier a5c9162250 Improve parser for NOT EXISTS filter
Allow multiple spaces between NOT and EXISTS
2022-07-19 10:07:33 +02:00
Loïc Lecrenier dc64170a69 Improve syntax of EXISTS filter, allow “value NOT EXISTS” 2022-07-19 10:07:33 +02:00
Loïc Lecrenier 72452f0cb2 Implements the EXIST filter operator 2022-07-19 10:07:33 +02:00
Kerollmops cc48992e79
Bump the milli version to 0.31.1 2022-06-22 17:05:51 +02:00
Kerollmops f5c3b951bc
Bump the milli version to 0.31.0 2022-06-22 12:08:16 +02:00
Clémentine Urquizar 31f749b5d8
Update version for next release (v0.30.0) 2022-06-20 12:09:57 +02:00
Tamo 676187ba43
bump milli version 2022-06-09 16:53:32 +02:00
Tamo 90afde435b
fix escaped quotes in filter 2022-06-09 16:03:49 +02:00
Kerollmops 56ee9cc21f
Bump the version to 0.29.2 2022-06-08 16:00:06 +02:00
Clémentine Urquizar 478dbfa45a
Update version for next release (v0.29.1) 2022-06-07 18:59:33 +02:00
Clémentine Urquizar 6ce1c6487a
Update version for next release (v0.29.0) 2022-06-02 18:07:55 +02:00
Clémentine Urquizar c19c17eddb
Update version to v0.28.1 2022-06-01 18:31:02 +02:00
ManyTheFish 895f5d8a26 Bump milli version 2022-05-18 10:37:12 +02:00
Clémentine Urquizar d138b3c704
Update version 2022-04-25 18:43:46 +02:00
Kerollmops fb192aaa9f
Update the list of milli's subcrates 2022-04-25 15:55:38 +02:00
Kerollmops 63682c2c9a
Upgrade the dependencies 2022-03-15 11:17:44 +01:00
Clémentine Urquizar 0f213f2202
Replace MeiliSearch by Meilisearch 2022-01-26 17:49:55 +01:00
bors[bot] 660eac50b2
Merge #427
427: Handle escaped characters in filters r=Kerollmops a=irevoire



Co-authored-by: Tamo <tamo@meilisearch.com>
2022-01-10 15:01:23 +00:00
Tamo 92804f6f45
apply clippy suggestions 2022-01-10 15:59:04 +01:00
Tamo 0fcde35a20
Update filter-parser/src/value.rs
Co-authored-by: Clément Renault <clement@meilisearch.com>
2022-01-10 15:53:44 +01:00
Tamo 3c7ea1d298
Apply code suggestions
Co-authored-by: Clément Renault <clement@meilisearch.com>
2022-01-10 15:19:21 +01:00
Tamo 9bdcd42b9b
reintroduce the gitignore for the fuzzer 2022-01-04 13:07:32 +01:00
Tamo 02a21fd309
Handle the escapes of quote in the filters 2022-01-04 04:04:10 +01:00
Clément Renault ef59762d8e
Prefer returning None instead of the Empty Filter state 2021-12-09 11:57:52 +01:00
Clément Renault 32bd9f091f
Detect the filters that are too deep and return an error 2021-12-07 17:20:11 +01:00
Clément Renault 49c2db9485
Change the depth function to return the token depth 2021-12-07 16:06:10 +01:00
Clément Renault 57502fcf6a
Introduce the depth method on FilterCondition 2021-12-06 17:35:20 +01:00
Irevoire 7c3017734a
re-ignore the ! symbol when generating a good error message 2021-11-09 17:08:04 +01:00
Tamo bff48681d2
Re-order the operator
Co-authored-by: Clément Renault <clement@meilisearch.com>
2021-11-09 17:05:36 +01:00
Irevoire 519d6b2bf3
remove the `!` syntax for the not 2021-11-09 16:47:54 +01:00
Irevoire 73df873f44
fix typos 2021-11-09 16:41:10 +01:00
Irevoire 99197387af
fix the test with the new escaped format 2021-11-09 16:41:10 +01:00
Tamo f28600031d
Rename the filter_parser crate into filter-parser
Co-authored-by: Clément Renault <clement@meilisearch.com>
2021-11-09 16:41:10 +01:00