This ticket provides support for executing Parallel SQL queries across SolrCloud collections. The SQL engine will be built on top of the Streaming API (
SOLR-7082), which provides support for parallel relational algebra and real-time map-reduce.
1) A new SQLHandler will be added to process SQL requests. The SQL statements will be compiled to live Streaming API objects for parallel execution across SolrCloud worker nodes.
2) SolrCloud collections will be abstracted as Relational Tables.
3) The Presto SQL parser will be used to parse the SQL statements.
4) A JDBC thin client will be added as a Solrj client.
This ticket will focus on putting the framework in place and providing basic SELECT support and GROUP BY aggregate support.
Future releases will build on this framework to provide additional SQL features.