Re: Possible regression in Parallel SQL in 6.5.1?

2017-05-17 Thread Timothy Potter
cool, thanks ... easy enough to fix the SQL statement for now ;-)


On Tue, May 16, 2017 at 6:27 PM, Kevin Risden  wrote:
> Well didn't take as long as I thought:
> https://issues.apache.org/jira/browse/CALCITE-1306
>
> Once Calcite 1.13 is released we should upgrade and get support for this
> again.
>
> Kevin Risden
>
> On Tue, May 16, 2017 at 7:23 PM, Kevin Risden 
> wrote:
>
>> Yea this came up on the calcite mailing list. Not sure if aliases in the
>> having clause were going to be added. I'll have to see if I can find that
>> discussion or JIRA.
>>
>> Kevin Risden
>>
>> On May 16, 2017 18:54, "Joel Bernstein"  wrote:
>>
>>> Yeah, Calcite doesn't support field aliases in the having clause. The
>>> query
>>> should work if you use count(*). We could consider this a regression, but
>>> I
>>> think this will be a won't fix.
>>>
>>> Joel Bernstein
>>> http://joelsolr.blogspot.com/
>>>
>>> On Tue, May 16, 2017 at 12:51 PM, Timothy Potter 
>>> wrote:
>>>
>>> > This SQL used to work pre-calcite:
>>> >
>>> > SELECT movie_id, COUNT(*) as num_ratings, avg(rating) as aggAvg FROM
>>> > ratings GROUP BY movie_id HAVING num_ratings > 100 ORDER BY aggAvg ASC
>>> > LIMIT 10
>>> >
>>> > Now I get:
>>> > Caused by: java.io.IOException: -->
>>> > http://192.168.1.4:8983/solr/ratings_shard2_replica1/:Failed to
>>> > execute sqlQuery 'SELECT movie_id, COUNT(*) as num_ratings,
>>> > avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
>>> > num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10' against JDBC
>>> > connection 'jdbc:calcitesolr:'.
>>> > Error while executing SQL "SELECT movie_id, COUNT(*) as num_ratings,
>>> > avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
>>> > num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10": From line 1, column
>>> > 103 to line 1, column 113: Column 'num_ratings' not found in any table
>>> > at org.apache.solr.client.solrj.io.stream.SolrStream.read(
>>> > SolrStream.java:235)
>>> > at com.lucidworks.spark.query.TupleStreamIterator.fetchNextTupl
>>> e(
>>> > TupleStreamIterator.java:82)
>>> > at com.lucidworks.spark.query.TupleStreamIterator.hasNext(
>>> > TupleStreamIterator.java:47)
>>> > ... 31 more
>>> >
>>>
>>


Re: Possible regression in Parallel SQL in 6.5.1?

2017-05-16 Thread Kevin Risden
Well didn't take as long as I thought:
https://issues.apache.org/jira/browse/CALCITE-1306

Once Calcite 1.13 is released we should upgrade and get support for this
again.

Kevin Risden

On Tue, May 16, 2017 at 7:23 PM, Kevin Risden 
wrote:

> Yea this came up on the calcite mailing list. Not sure if aliases in the
> having clause were going to be added. I'll have to see if I can find that
> discussion or JIRA.
>
> Kevin Risden
>
> On May 16, 2017 18:54, "Joel Bernstein"  wrote:
>
>> Yeah, Calcite doesn't support field aliases in the having clause. The
>> query
>> should work if you use count(*). We could consider this a regression, but
>> I
>> think this will be a won't fix.
>>
>> Joel Bernstein
>> http://joelsolr.blogspot.com/
>>
>> On Tue, May 16, 2017 at 12:51 PM, Timothy Potter 
>> wrote:
>>
>> > This SQL used to work pre-calcite:
>> >
>> > SELECT movie_id, COUNT(*) as num_ratings, avg(rating) as aggAvg FROM
>> > ratings GROUP BY movie_id HAVING num_ratings > 100 ORDER BY aggAvg ASC
>> > LIMIT 10
>> >
>> > Now I get:
>> > Caused by: java.io.IOException: -->
>> > http://192.168.1.4:8983/solr/ratings_shard2_replica1/:Failed to
>> > execute sqlQuery 'SELECT movie_id, COUNT(*) as num_ratings,
>> > avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
>> > num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10' against JDBC
>> > connection 'jdbc:calcitesolr:'.
>> > Error while executing SQL "SELECT movie_id, COUNT(*) as num_ratings,
>> > avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
>> > num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10": From line 1, column
>> > 103 to line 1, column 113: Column 'num_ratings' not found in any table
>> > at org.apache.solr.client.solrj.io.stream.SolrStream.read(
>> > SolrStream.java:235)
>> > at com.lucidworks.spark.query.TupleStreamIterator.fetchNextTupl
>> e(
>> > TupleStreamIterator.java:82)
>> > at com.lucidworks.spark.query.TupleStreamIterator.hasNext(
>> > TupleStreamIterator.java:47)
>> > ... 31 more
>> >
>>
>


Re: Possible regression in Parallel SQL in 6.5.1?

2017-05-16 Thread Kevin Risden
Yea this came up on the calcite mailing list. Not sure if aliases in the
having clause were going to be added. I'll have to see if I can find that
discussion or JIRA.

Kevin Risden

On May 16, 2017 18:54, "Joel Bernstein"  wrote:

> Yeah, Calcite doesn't support field aliases in the having clause. The query
> should work if you use count(*). We could consider this a regression, but I
> think this will be a won't fix.
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Tue, May 16, 2017 at 12:51 PM, Timothy Potter 
> wrote:
>
> > This SQL used to work pre-calcite:
> >
> > SELECT movie_id, COUNT(*) as num_ratings, avg(rating) as aggAvg FROM
> > ratings GROUP BY movie_id HAVING num_ratings > 100 ORDER BY aggAvg ASC
> > LIMIT 10
> >
> > Now I get:
> > Caused by: java.io.IOException: -->
> > http://192.168.1.4:8983/solr/ratings_shard2_replica1/:Failed to
> > execute sqlQuery 'SELECT movie_id, COUNT(*) as num_ratings,
> > avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
> > num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10' against JDBC
> > connection 'jdbc:calcitesolr:'.
> > Error while executing SQL "SELECT movie_id, COUNT(*) as num_ratings,
> > avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
> > num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10": From line 1, column
> > 103 to line 1, column 113: Column 'num_ratings' not found in any table
> > at org.apache.solr.client.solrj.io.stream.SolrStream.read(
> > SolrStream.java:235)
> > at com.lucidworks.spark.query.TupleStreamIterator.
> fetchNextTuple(
> > TupleStreamIterator.java:82)
> > at com.lucidworks.spark.query.TupleStreamIterator.hasNext(
> > TupleStreamIterator.java:47)
> > ... 31 more
> >
>


Re: Possible regression in Parallel SQL in 6.5.1?

2017-05-16 Thread Joel Bernstein
Yeah, Calcite doesn't support field aliases in the having clause. The query
should work if you use count(*). We could consider this a regression, but I
think this will be a won't fix.

Joel Bernstein
http://joelsolr.blogspot.com/

On Tue, May 16, 2017 at 12:51 PM, Timothy Potter 
wrote:

> This SQL used to work pre-calcite:
>
> SELECT movie_id, COUNT(*) as num_ratings, avg(rating) as aggAvg FROM
> ratings GROUP BY movie_id HAVING num_ratings > 100 ORDER BY aggAvg ASC
> LIMIT 10
>
> Now I get:
> Caused by: java.io.IOException: -->
> http://192.168.1.4:8983/solr/ratings_shard2_replica1/:Failed to
> execute sqlQuery 'SELECT movie_id, COUNT(*) as num_ratings,
> avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
> num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10' against JDBC
> connection 'jdbc:calcitesolr:'.
> Error while executing SQL "SELECT movie_id, COUNT(*) as num_ratings,
> avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
> num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10": From line 1, column
> 103 to line 1, column 113: Column 'num_ratings' not found in any table
> at org.apache.solr.client.solrj.io.stream.SolrStream.read(
> SolrStream.java:235)
> at com.lucidworks.spark.query.TupleStreamIterator.fetchNextTuple(
> TupleStreamIterator.java:82)
> at com.lucidworks.spark.query.TupleStreamIterator.hasNext(
> TupleStreamIterator.java:47)
> ... 31 more
>


Possible regression in Parallel SQL in 6.5.1?

2017-05-16 Thread Timothy Potter
This SQL used to work pre-calcite:

SELECT movie_id, COUNT(*) as num_ratings, avg(rating) as aggAvg FROM
ratings GROUP BY movie_id HAVING num_ratings > 100 ORDER BY aggAvg ASC
LIMIT 10

Now I get:
Caused by: java.io.IOException: -->
http://192.168.1.4:8983/solr/ratings_shard2_replica1/:Failed to
execute sqlQuery 'SELECT movie_id, COUNT(*) as num_ratings,
avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10' against JDBC
connection 'jdbc:calcitesolr:'.
Error while executing SQL "SELECT movie_id, COUNT(*) as num_ratings,
avg(rating) as aggAvg FROM ratings GROUP BY movie_id HAVING
num_ratings > 100 ORDER BY aggAvg ASC LIMIT 10": From line 1, column
103 to line 1, column 113: Column 'num_ratings' not found in any table
at 
org.apache.solr.client.solrj.io.stream.SolrStream.read(SolrStream.java:235)
at 
com.lucidworks.spark.query.TupleStreamIterator.fetchNextTuple(TupleStreamIterator.java:82)
at 
com.lucidworks.spark.query.TupleStreamIterator.hasNext(TupleStreamIterator.java:47)
... 31 more