-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update CQL2 to the finalized specification #10
Comments
See geoserver/geoserver-ogcapi#10 for the motivation.
See geoserver/geoserver-ogcapi#10 for the motivation.
I created a working branch for the test, which adds 330 tests on each modules (cql2-text & cql2-json), I also renamed the former ENVELOPE keyword to the expected BBOX one, current diff against main is here: As for now,
in its current implementation, geotools is not able to parse some of the provided filters, as a result we cannot translate them into json version of the filter. For these ones I am currently using an empty json object as input for the test, which will make the test fail. I am confused by some of the expected results provided by the spec though, the following filter is expected to return 2 features:
Our tests is returning more than that because on the NaturalEarth dataset, a lot of dates are left empty (NULL). Considering that NULL is different from the '2022-04-16' date, we also should return the elements having a NULL date, contrary to what the specifications currently state in table 7 of https://docs.ogc.org/is/21-065r2/21-065r2.html#_conformance_test_8. I will open an issue onto the dedicated OGC repository to clarify this. |
Setting the
|
* implements the ATS conformance testsuite See geoserver/geoserver-ogcapi#10 for the motivation. * renaming ENVELOPE to BBOX to comply with the updated specs * generating a testjar, relax members on test classes protected instead of private in order to allow customizations into extended classes, preparing reuse of the testsuite into the json version of the module. * porting the conformance testsuite to cql2-json module * forcing TZ to GMT when calling tests This is needed by the geopkg module which relies on libsqlite C implementation (which in turn honour the "TZ" env variable). * Allow 3 way logic evaluation via datastore hint. Centralized test execution code (Andrea Aime) * Correctly parse dateline spanning envelopes (Andrea Aime) * Adding support for extra arithmetic operators, %, ^ and div (Andrea Aime) * adding 2 missing tables to the CQL2 conformance testsuite Note: @ignored because not implemented right now anyway. * commenting out tests inputs which aren't implemented * cql2-json - realigning with cql2-text conformance testsuite * adding json schema validation tests * cql2-json - fixing PMD issues (no wildcard imports) * taking into account feedback from PR --------- Co-authored-by: aaime <[email protected]>
@pmauduit @aaime moved this ticket to the done column, as merged on geotools/geotools@e58d016 |
See the draft graduation e-mail for a list of functionality that could be addressed by expanding the javacc parser (and eventually implementing functions to support missing filters): However, IMHO, it's time to focus on shipping rather than continue to implement new stuff. |
If we want to have CQL2 filtering as part of the extension we'll have to update the GeoTools implementation of cql2-text and cql2-json to support the finalized specification.
I cannot find a CITE test, but the ATS for the specification assumes a specific version of Natural Earth 110 million that is delivered as a 1MB GeoPackage, and provides many sample filters with the expected amount of matching features.
A few notes:
The text was updated successfully, but these errors were encountered: