Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
As of Apache SIS 1.0, the Feature instances read by a DataStore can be filtered by a call to FeatureSet.subset(Query). The only Query implementation currently provided is org.apache.sis.internal.storage.query.SimpleQuery (that class may move to public API later if experience shows that its API is okay). We should consider adding another subclass, something like ScriptedQuery, for adding the capability to specify the query in a scripting language. The list of supported languages would be provided by the DataStore. This list may include SQL and CQL. An empty list of supported languages would mean that the Query argument can not be an instance of ScriptedQuery.
The SQLStore class defined in org.apache.sis.storage.sql is an obvious example of DataStore supporting ScriptedQuery, with SQL as the supported language. But we could also define a separated module using Apache Calcite for adding SQL support to any DataStore that do not natively support SQL. When this optional module is present on the classpath, SQL would be automatically be added to the list of supported languages for DataStore.
Attachments
Issue Links
- depends upon
-
SIS-304 Attempt to use Calcite SQL Parser instead of the one currently used to parse SQL statements
- In Progress