Releases: IndoorSpatial/cql2cpp
v0.3.0-alpha
Release Note for cql2cpp v0.3.0
Convert CQL2 to SQL WHERE clause
Significant Enhancements:
- Add sqlite3 and spatialite as dependencies to verify SQL
- Add iterator for ast node to loop over all property name
- Add ConvertToSQL() in top level Cql2CPP class
- Add unit tests for SQL
- Use argparse to parse command line arguments instead of gflags
- Convert arithmetic, is null, like, between to SQL
- Convert array predicate to SQL
Current Limitations:
The project is still in its early stages and currently lacks comprehensive test coverage and some advanced features.
Currently, most of the syntax features of TEXT encoding are supported. However, support for time - related features and Unicode encoding is temporarily lacking, and JSON encoding is not supported yet.
the SQL converter assume the database enable json support for array predicate.
Supported feature
you can find a full list of features supported here:
Release v0.2.1
Release Note for cql2cpp v0.2.1
The second version of cql2cpp has been released. More features in CQL2 are now supported.
Significant Enhancements:
- Add support for parsing arithmetic expression
- Add support for parsing LIKE
- Add support for parsing MULTI* geometry
- Add support for parsing IS NULL and IS NOT NULL
- Add support for parsing BETWEEN
- Add support for parsing CASEI and ACCENTI
- Add support for parsing some lower case operators
- add test function to test all unsupported examples
Current Limitations:
The project is still in its early stages and currently lacks comprehensive test coverage and some advanced features.
Currently, most of the syntax features of TEXT encoding are supported. However, support for time - related features and Unicode encoding is temporarily lacking, and JSON encoding is not supported yet.
The newly added features only focus on parsing the CQL2 features, without adding the corresponding evaluation.
We've realized that when it comes to the final integration, a better approach is to translate them into SQL WHERE clauses rather than enumerating all features and performing evaluations.
Considering that SQL's WHERE clause also doesn't adequately support time - related query filtering conditions and features related to Unicode encoding, we will postpone the implementation plans for these two aspects.
Supported feature
you can find a full list of features supported here:
Release v0.1.0
Release Note for cql2cpp v0.1.0
We are pleased to announce the first official release of cql2cpp! This release marks a significant milestone in the development of the project, laying the foundation for future enhancements and features.
Key Highlights:
-
Architecture Implementation:
The core architecture has been successfully implemented using Flex and Bison, providing a robust framework for parsing and processing. -
Data Source Support:
Added support for pure JSON and GeoJSON as data sources, enabling flexible data integration. -
Extensible API:
Introduced an API for registering new functions, allowing users to extend the functionality of cql2cpp.
Current Limitations:
The project is still in its early stages and currently lacks comprehensive test coverage and some advanced features. However, this release represents a solid starting point for future development.
We encourage the community to explore this release, provide feedback, and contribute to the project. Your support will help us improve and expand cql2cpp in the coming releases.
Supported feature
text encoding
- boolean expression
- isInList predicate
- array predicate and all array functions
- binary comparison predicate and all comparison operator
- geom expression (including BBOX)
- spatial predicate (only S_INTERSECTS)
- property name
- function
- isLike predicate
- isBetween predicate
- numeric expression
- isNull predicate
- pattern expression (neither CASEI nor ACCENTI)
- non-ascii charactor literal
json encoding
nothing supported