ecql - STEMLab/geotools GitHub Wiki
-
Motivation: CQL is limitied to its specification; we need a text format for filter and expression
-
Contact: Jody Garnett Mauricio Pazos
-
Tagline: We need a text format for filter and expression
The CQL format has a couple of limitations we need to break free of:
- propertyName OP expression
- there is no support for FeatureId filters
This proposal will create a new query language (called TXT) that looks like CQL but offers support for the above two ideas. We would call it WKT but since we are making up is is not yet known.
Voting in progress:
- Andrea Aime (+1)
- Ian Turton
- Justin Deoliveira (+1)
- Jody Garnett (+1)
- Martin Desruisseaux
- Simone Giannecchini (+1)
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
| :white_check_mark: | :no_entry: | :warning: | :negative_squared_cross_mark: |
------------|--------------------|------------|-------------------------|-------------------------------| no progress | done | impeded | lack mandate/funds/time | volunteer needed |
Define the BNF for TXT based on the CQL origional (see TXT Language Analysis)
-
✅ Code refactoring in CQLCopiler class to separate the generated parser from filter builder logic
-
✅ Create a TXT facade class that is method compatible with CQL
-
✅ Develop ID predicate
-
✅ Develop Comparison predicate
-
✅ Develop Between predicate
-
✅ Develop Null predicate
-
✅ Develop IN predicate
-
✅ Develop LIKE Text Pattern predicate
-
✅ Develop Spatial Predicate Functions
2.6.0
✅
Update the user guide to present TXT as a non standard option.
2.6.0
✅
Replace TXT by ECQL (src and docs).
2.6.0
Develop Spatial Relation Predicates
2.6.1
We are looking for a better name for the new language
Now: TXT
Options:
- ECQL: Andrea, Mauricio, Matthias
- CQL+: Jody
- TXTQL: Adrian
Name
➕
➖
TXT
the user can easily see the context
TXT is a file format with a big history
ECQL
All OGC CQL statements are valid in the new language; It is clear for the users that they only need to learn the new language features; maintains the reference to CQL the original language
could be prone to error: only a letter ("E") of difference to distinguish the context
CQL+
idem ECQL
need to be url-escaped in a GET request
TXTQL
the user can easily see the context
hard to pronounce
Conclusion: it will be ECQL (thanks everybody)
class ECQL {
Expression toExpression( String );
Expression toExpression( String, FilterFactory );
Filter toFilter( String );
Filter toFilter( String, FilterFactory );
List<Filter> toFilterList(String);
List<Filter> toFilterList(String,FilterFactory);
}
list the pages affected by this proposal
- CQL Parser from the Module matrix page
- User Guide
- TXT Language Analysis