[ 
https://issues.apache.org/jira/browse/SOLR-8593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15752746#comment-15752746
 ] 

ASF GitHub Bot commented on SOLR-8593:
--------------------------------------

Github user joel-bernstein commented on a diff in the pull request:

    https://github.com/apache/lucene-solr/pull/104#discussion_r92718063
  
    --- Diff: 
solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/GreaterThanOperation.java
 ---
    @@ -0,0 +1,70 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.solr.client.solrj.io.ops;
    +
    +import java.io.IOException;
    +import java.util.UUID;
    +
    +import org.apache.solr.client.solrj.io.Tuple;
    +import org.apache.solr.client.solrj.io.stream.expr.Explanation;
    +import 
org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
    +import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
    +import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
    +
    +public class GreaterThanOperation extends LeafOperation {
    +
    +  private static final long serialVersionUID = 1;
    +  private UUID operationNodeId = UUID.randomUUID();
    +
    +  public void operate(Tuple tuple) {
    +    this.tuple = tuple;
    +  }
    +
    +  public GreaterThanOperation(String field, double val) {
    --- End diff --
    
    This is the implementation Tuple.getDouble():
    
    public Double getDouble(Object key) {
        Object o = this.fields.get(key);
    
        if(o == null) {
          return null;
        }
    
        if(o instanceof Double) {
          return (Double)o;
        } else {
          //Attempt to parse the double
          return Double.parseDouble(o.toString());
        }
      }
    
    So, any number will be translated to a double for comparison. We can 
implement a String comparison in a different operation I think.


> Integrate Apache Calcite into the SQLHandler
> --------------------------------------------
>
>                 Key: SOLR-8593
>                 URL: https://issues.apache.org/jira/browse/SOLR-8593
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Joel Bernstein
>            Assignee: Joel Bernstein
>         Attachments: SOLR-8593.patch, SOLR-8593.patch
>
>
>    The Presto SQL Parser was perfect for phase one of the SQLHandler. It was 
> nicely split off from the larger Presto project and it did everything that 
> was needed for the initial implementation.
> Phase two of the SQL work though will require an optimizer. Here is where 
> Apache Calcite comes into play. It has a battle tested cost based optimizer 
> and has been integrated into Apache Drill and Hive.
> This work can begin in trunk following the 6.0 release. The final query plans 
> will continue to be translated to Streaming API objects (TupleStreams), so 
> continued work on the JDBC driver should plug in nicely with the Calcite work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to