[FOLIO-530] CQL translator: use IS NOT TRUE instead of NOT Created: 30/Mar/17  Updated: 12/Nov/18  Resolved: 03/Apr/17

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P3
Reporter: Julian Ladisch Assignee: Julian Ladisch
Resolution: Done Votes: 0
Labels: sprint11
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Relates
relates to FOLIO-524 CQL translator: support <> (not equal... Closed
Sprint:

 Description   

Currently Stringelement = Stringvalue matches if Stringelement exists and contains Stringvalue as a word.

cql.allRecords=1 NOT Stringelement = Stringvalue matches if Stringelement exists and does not contain Stringvalue as a word. This is because a non-existing element results in a null value and any test regarding the null value results in null which is never true.

This should be changed so that the CQL NOT operator is translated to IS NOT TRUE resulting in this:

cql.allRecords=1 NOT Stringelement = Stringvalue matches if the Stringelement does not exists or if the Stringelement does not contain Stringvalue.

If the Stringelement must exists:
Stringelement = "" NOT Stringelement = Stringvalue matches if the Stringelement does exists but does not contain Stringvalue.



 Comments   
Comment by Julian Ladisch [ 03/Apr/17 ]

Implemented in cql2pgjson >= 1.1.0-SNAPSHOT and raml-module-builder/domain-models-runtime >= 10.0.5-SNAPSHOT

See documentation in the readme: https://github.com/folio-org/cql2pgjson-java/

Generated at Thu Feb 08 23:06:29 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.