Tamo
2c47500bc3
fix two nightly errors
2022-12-13 15:29:52 +01:00
Gregory Conrad
1b5b5778c1
feat: Add From<&str> implementation for Token
2022-12-03 13:13:41 -05:00
Louis Dureuil
3328560788
fix: allow filters on = inf, = NaN, return InvalidFilter for < inf, < NaN
...
Fixes meilisearch/meilisearch#3000
2022-11-08 13:27:15 +01:00
bors[bot]
6add470805
Merge #659
...
659: Fix clippy error to add clippy job on Ci r=Kerollmops a=unvalley
## Related PR
This PR is for #673
## What does this PR do?
- ~~add `Run Clippy` job to CI (rust.yml)~~
- apply `cargo clippy --fix` command
- fix some `cargo clippy` error manually (but warnings still remain on tests)
## PR checklist
Please check if your PR fulfills the following requirements:
- [x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
- [x] Have you read the contributing guidelines?
- [x] Have you made sure that the title is accurate and descriptive of the changes?
Co-authored-by: unvalley <kirohi.code@gmail.com>
Co-authored-by: unvalley <38400669+unvalley@users.noreply.github.com>
2022-11-03 15:24:38 +00:00
unvalley
0d43ddbd85
Update filter-parser/src/lib.rs
...
Co-authored-by: Tamo <irevoire@protonmail.ch>
2022-11-01 01:32:54 +09:00
Pranav Yadav
3950ec8d3c
chore: update tests for invalid_filter
msg
2022-10-31 15:41:49 +00:00
Pranav Yadav
3b35ebda50
chore: added IN
,NOT IN
to invalid_filter
msg
2022-10-31 15:01:14 +00:00
unvalley
f4ec1abb9b
Fix all clippy error after conflicts
2022-10-27 23:58:13 +09:00
unvalley
c7322f704c
Fix cargo clippy errors
...
Dont apply clippy for tests for now
Fix clippy warnings of filter-parser package
parent 8352febd646ec4bcf56a44161e5c4dce0e55111f
author unvalley <38400669+unvalley@users.noreply.github.com> 1666325847 +0900
committer unvalley <kirohi.code@gmail.com> 1666791316 +0900
Update .github/workflows/rust.yml
Co-authored-by: Clémentine Urquizar - curqui <clementine@meilisearch.com>
Allow clippy lint too_many_argments
Allow clippy lint needless_collect
Allow clippy lint too_many_arguments and type_complexity
Fix for clippy warnings comparison_chains
Fix for clippy warnings vec_init_then_push
Allow clippy lint should_implement_trait
Allow clippy lint drop_non_drop
Fix lifetime clipy warnings in filter-paprser
Execute cargo fmt
Fix clippy remaining warnings
Fix clippy remaining warnings again and allow lint on each place
2022-10-27 01:04:23 +09: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
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
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
Tamo
90afde435b
fix escaped quotes in filter
2022-06-09 16:03:49 +02: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
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