-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iquest cannot match names containing apostrophes via = operator if it's not the last condition in the where clause #5727
Comments
I ran into this inadvertently via a genquery being used internally for the creation of data objects (#5759). This will possibly be solved via a new GenQuery parser implementation which has been in the works for some time now, but I'm just noting that this has been reproduced and can lead to some pretty subtle bugs. |
This is a workaround for irods/irods#5727 Co-authored-by: Lazlo Westerhof <l.r.westerhof@uu.nl>
Related #3902. |
This situation is resolved by the GenQuery2 parser (#7570). See the following: $ iquery "select DATA_NAME, COLL_NAME where COLL_NAME = '/tempZone/home/rods/lazlo\x27s test' and DATA_NAME = 'lazlo\x27s file'" | jq
[
[
"lazlo's file",
"/tempZone/home/rods/lazlo's test"
]
] A test capturing this is all that is needed. |
Bug Report
iRODS Version, OS and Version
iRODS v4.2.9
CentOS 7
What did you try to do?
Query for data objects in collections with an apostrophe. (A special case of #4887)
Observed behavior (including steps to reproduce, if applicable)
We have a collection (lazlo's test) with two data objects (lazlo's file and yoda-metadata.json):
Querying for yoda-metadata.json works fine when the collection name (with apostrophe) is the last condition in the where clause:
The query does not work when the collection name is not the latest condition in the where clause:
Quering for a data object with an apostrophe inside the collection with an apostrophe returns no results:
The text was updated successfully, but these errors were encountered: