[jira] [Commented] (CALCITE-5975) percentile_cont function throws UnsupportedOperationException

2023-09-06 Thread Julian Hyde (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-5975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17762487#comment-17762487
 ] 

Julian Hyde commented on CALCITE-5975:
--

I don't think that {{PERCENTILE_CONT}} is fully implemented yet. You can 
validate a query with it, but you cannot yet execute queries. See CALCITE-4666.

However, your case would occur if someone tried to create a call to 
{{PERCENTILE_CONT}} via {{{}RelBuilder{}}}, even if they don't try to execute 
the query. That is something that should be currently working, but clearly it 
isn't.

> percentile_cont function throws UnsupportedOperationException
> -
>
> Key: CALCITE-5975
> URL: https://issues.apache.org/jira/browse/CALCITE-5975
> Project: Calcite
>  Issue Type: Bug
>Affects Versions: 1.35.0
>Reporter: wqn
>Priority: Major
>
> execute a sql like
> {code:java}
> SELECT  percentile_cont(0.0005) within group (ORDER BY aa  DESC)   from  
> table{code}
> it throws UnsupportedOperationException
> {code:java}
> Caused by: java.lang.UnsupportedOperationException: null        at 
> org.apache.calcite.sql.SqlOperatorBinding.getCollationType(SqlOperatorBinding.java:244)
>         at 
> org.apache.calcite.sql.type.ReturnTypes.lambda$static$25(ReturnTypes.java:1285)
>         at 
> org.apache.calcite.sql.SqlOperator.inferReturnType(SqlOperator.java:533)      
>   at org.apache.calcite.rel.core.AggregateCall.create(AggregateCall.java:198) 
>        at 
> org.apache.calcite.tools.RelBuilder$AggCallImpl.aggregateCall(RelBuilder.java:4173)
>         at 
> org.apache.calcite.tools.RelBuilder.aggregate_(RelBuilder.java:2424)        
> at org.apache.calcite.tools.RelBuilder.aggregate(RelBuilder.java:2348)        
> at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:1102)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)        at 
> org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532)        at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:225)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:494)
>         at sun.reflect.GeneratedMethodAccessor1005.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:225)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:824)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CALCITE-5975) percentile_cont function throws UnsupportedOperationException

2023-09-05 Thread Tanner Clary (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-5975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17762124#comment-17762124
 ] 

Tanner Clary commented on CALCITE-5975:
---

It looks like that method always throws an {{UnsupportedOperationException}}. I 
also see that {{PERCENTILE_DISC}} has an override in {{Aggregate.java}}. 
Perhaps adding a similar override for {{PERCENTILE_CONT}} (or allowing it to 
use the same as {{PERCENTILE_DISC}}, I am not sure about the specifics}}) could 
help fix the problem. I have done some work on these functions so if you open a 
fix let me know, I would be happy to help review.

> percentile_cont function throws UnsupportedOperationException
> -
>
> Key: CALCITE-5975
> URL: https://issues.apache.org/jira/browse/CALCITE-5975
> Project: Calcite
>  Issue Type: Bug
>Affects Versions: 1.35.0
>Reporter: wqn
>Priority: Major
>
> execute a sql like
> {code:java}
> SELECT  percentile_cont(0.0005) within group (ORDER BY aa  DESC)   from  
> table{code}
> it throws UnsupportedOperationException
> {code:java}
> Caused by: java.lang.UnsupportedOperationException: null        at 
> org.apache.calcite.sql.SqlOperatorBinding.getCollationType(SqlOperatorBinding.java:244)
>         at 
> org.apache.calcite.sql.type.ReturnTypes.lambda$static$25(ReturnTypes.java:1285)
>         at 
> org.apache.calcite.sql.SqlOperator.inferReturnType(SqlOperator.java:533)      
>   at org.apache.calcite.rel.core.AggregateCall.create(AggregateCall.java:198) 
>        at 
> org.apache.calcite.tools.RelBuilder$AggCallImpl.aggregateCall(RelBuilder.java:4173)
>         at 
> org.apache.calcite.tools.RelBuilder.aggregate_(RelBuilder.java:2424)        
> at org.apache.calcite.tools.RelBuilder.aggregate(RelBuilder.java:2348)        
> at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:1102)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)        at 
> org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532)        at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:225)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:494)
>         at sun.reflect.GeneratedMethodAccessor1005.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:225)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:824)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532)
>         at 
> org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)