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

Jiajun Xie edited comment on CALCITE-4705 at 7/2/22 9:31 AM:
-------------------------------------------------------------

[~yanjing.wang] , it's not correct. Spark can parse any primary expression, but 
it can't resolved many primary expression. You can see the unit 
test:[https://github.com/apache/spark/blob/master/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveHintsSuite.scala#L199]

This is because: 
[https://github.com/apache/spark/blob/efe43306fcab18f076f755c81c0406ebc1a5fee9/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala#L204]

 

[~yr] , Are you still working on this? I want to take it.


was (Author: jiajunbernoulli):
[~yanjing.wang] , it's not correct. Spark can parse any primary expression, but 
it can't resolved many expression. You can see the unit 
test:[https://github.com/apache/spark/blob/master/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveHintsSuite.scala#L199]

This is because: 
[https://github.com/apache/spark/blob/efe43306fcab18f076f755c81c0406ebc1a5fee9/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveHints.scala#L204]

 

[~yr] , Are you still working on this? I want to take it.

> Support hints like /*+ skewjoin(a(c0, c1)) */
> ---------------------------------------------
>
>                 Key: CALCITE-4705
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4705
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.27.0
>            Reporter: jibiyr
>            Assignee: jibiyr
>            Priority: Minor
>
> Dear community,
> calcite parse support hint now,but it can not parse hint like follow,
> _*select /*+ skewjoin(a(c0, c1)) */ * from T0 a join T1 b on a.c0 = b.c0,*_
> this is the bnf which is calcite supported now,
> {code:java}
> // 
> hint:
>       hintName
>   |   hintName '(' hintOptions ')'
> hintOptions:
>       hintKVOption [, hintKVOption ]*
>   |   optionName [, optionName ]*
>   |   optionValue [, optionValue ]*
> hintKVOption:
>       optionName '=' stringLiteral
>   |   stringLiteral '=' stringLiteral
> optionValue:
>       stringLiteral
>   |   numericLiteral
> {code}
> I think the hintOptions should support the  expression pattern,like a(c0,c1). 
>  And this pattern can be parsed by spark/presto now.
>  



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

Reply via email to