fix metadata parsing exception in document_store.py #134
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug Report: JMESPath Filter Parse Error with Escaped Single Quotes
Problem Description
The _get_jmespath_filter function in [document_store.py] causes a parsing error when processing metadata filters that contain single quotes. The function incorrectly escapes single quotes by adding backslashes, which creates invalid JMESPath syntax.
Error Message:
pathway.engine.EngineError: Parse error: Invalid character: \ (line 0, column 11)
(category=='food')
Root Cause:
In line 38 of [document_store.py], the function performs this transformation:
When a metadata filter like category=='food' is processed, it becomes category=='food', which contains escaped single quotes that are invalid in JMESPath syntax.