Hi, I have a very narrow opportunity to start implementing a CQL2 parser, but need to deliver some results in a matter of a few days.
CQL2-text has some significant differences compared to CQL and ECQL, a quick check shows: - spatial and temporal operator names differ - identifiers can have column and period inside without requiring quoting (in ECQL period is used to refer to nested properties, we won't be able to do that anymore) - DATE/TIMESTAMP functions working off a string, rather than the string directly (e..g, DATE('2020-10-10')) - INTERVAL function for date range construction rather than D1/D2 - ENVELOPE has same syntax but different axis order, used to be west/east/north/south (weird!!) now it's - CASEI and ACCENTI are new functions to deal with cases insensitive comparison, can be used in text comparisons but also in LIKE (where a fixed string used to have to be specified) Given the (very) tight window my plan is to copy over the ECQL parser and adapt it in a gt-cql2-text community module, and then make the results available for usage in OGC APIs (STAC in particular, at least in the next few days). Longer term, we might decide to merge gt-cql2-text back into gt-cql, but I would not go there until "pens are down" on the CQL2 standard (seems like we are close though). Ah, by the way... I'll have to use a weird package name, because for some reason, the implementation of CQL (yes, the original CQL) lives in a "org.geotools.filter.text.cql2" package... wow that's quite confusing!! Seems like it has been like that since before we switched to git... oh well... I'll go for "org.geotools.filter.text.cql_2" for the time being, if you have a better suggestion I'm all ears. Cheers Andrea
_______________________________________________ GeoTools-Devel mailing list GeoTools-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel