chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Hübel <jhue...@opentext.com>
Subject Query grammar is not standard compliant
Date Sun, 30 May 2010 20:56:58 GMT
Hi Chemistry,

 

while further investigating the grammar (for improved integration into OpenCMIS) I detected
some issues that I would like to get fixed:

 

1)

DISTINCT is not allowed as keyword in CmiSQL

 

2)

The rule "string value function" is no longer supported. It existed in earlier versions of
the spec  but was removed. The grammar in our code does not reflect this change in the specification.

 

3)

only allowed operator with any is "=".  The rule "quantified comparison predicate" was changed
in the spec from allowing multiple comparison operators to only allow "=".  The grammar in
our code does not reflect this change in the specification.

 

4)

The grammar is also not yet complete (the full text part is missing). I added a separate issue
for this. Again this was added with later revisions of the spec.

 

I have done all changes except 4) locally and updated the gunit tests accordingly. If there
are no objections I will check-in the changes.

 

I have created two JIRA entries for these issues:

https://issues.apache.org/jira/browse/CMIS-212

https://issues.apache.org/jira/browse/CMIS-213

 

Remarks:

 

Change 2) has some implications:  This change implies that functions like LOWER(...) etc.
are no longer permitted. Can someone remember the TC decision for this change? ( I browsed
the CMIS JIRA but could not find it).

 

The grammar currently is quite loosely coupled to the rest of the code. There are no dependencies
on it from other unit tests or sub-projects. For the future my suggestion is that a custom
ANTLR grammar is a valid integration point with opencmis (to allow custom specific enhanced
features in the query language). But for our internal code, tests and documentation it should
strictly be what the standard says.

 

 

Jens

 

 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message