[
https://issues.apache.org/jira/browse/SOLR-7986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14741377#comment-14741377
]
Joel Bernstein commented on SOLR-7986:
--------------------------------------
Ok, thanks!
> JDBC Driver for SQL Interface
> -----------------------------
>
> Key: SOLR-7986
> URL: https://issues.apache.org/jira/browse/SOLR-7986
> Project: Solr
> Issue Type: New Feature
> Components: clients - java
> Affects Versions: Trunk
> Reporter: Joel Bernstein
> Attachments: SOLR-7986-SPI.patch, SOLR-7986.patch, SOLR-7986.patch,
> SOLR-7986.patch, SOLR-7986.patch, SOLR-7986.patch, SOLR-7986.patch,
> SOLR-7986.patch
>
>
> This ticket is to create a JDBC Driver (thin client) for the new SQL
> interface (SOLR-7560). As part of this ticket a driver will be added to the
> Solrj libary under the package: *org.apache.solr.client.solrj.io.sql*
> Initial implementation will include basic *Driver*, *Connection*, *Statement*
> and *ResultSet* implementations.
> Future releases can build on this implementation to support a wide range of
> JDBC clients and tools.
> *Syntax using parallel Map/Reduce for aggregations*:
> {code}
> Properties props = new Properties();
> props.put("aggregationMode", "map_reduce");
> props.put("numWorkers", "10");
> Class.forName("org.apache.solr.client.solrj.io.sql.DriverImpl").newInstance();
> Connection con =
> DriverManager.getConnection("jdbc:solr://<zkhost:port>?collection=<collection>",
> props);
> Statement stmt = con.createStatement();
> ResultSet rs = stmt.executeQuery("select a, sum(b) from tablex group by a
> having sum(b) > 100");
> while(rs.next()) {
> String a = rs.getString("a");
> double sumB = rs.getDouble("sum(b)");
> }
> {code}
> *Syntax using JSON facet API for aggregations*:
> {code}
> Properties props = new Properties();
> props.put("aggregationMode", "facet");
> Class.forName("org.apache.solr.client.solrj.io.sql.DriverImpl").newInstance();
> Connection con =
> DriverManager.getConnection("jdbc:solr://<zkhost:port>?collection=<collection>",
> props);
> Statement stmt = con.createStatement();
> ResultSet rs = stmt.executeQuery("select a, sum(b) from tablex group by a
> having sum(b) > 100");
> while(rs.next()) {
> String a = rs.getString("a");
> double sumB = rs.getDouble("sum(b)");
> }
> {code}
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]