Not escaping '
in iLIKE
query properly
#1114
Open
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.
#1038
As new tests show for a little bit, the issue seems fixed. Instead of doing nothing, I escape all
\
and'
in all string literals. There might be some edge case where it's not the correct behaviour, but I thought for a bit and haven't found any.Even in
regexp
, where we escape_
(Clickhouse's equivalent of.
in regex), escaping it twice because of this change (sending\\_
to Clickhouse instead of\_
before), seems to work just as fine.Because of array joins issue, sample panel still doesn't work, but there are no more any escaping error messages, like in the issue description.
So, when running on
main
, we get a lot of:But when running on this branch, we only have errors like this (notice
'
properly escaped):Additional info:
We discussed with Rafał some other way to make it work: stop sending any strings in the query itself, but pass all of them as parameters, where the driver will take care of any escaping issues, etc.
It's probably a good idea for the future, but would require some non-trivial amount of work, unlike this straightforward solution, which I already had done.