[ 
https://issues.apache.org/jira/browse/CALCITE-4705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

jibiyr updated CALCITE-4705:
----------------------------
    Description: 
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 function call pattern,like a(c0,c1). 
 And this pattern can be parsed by spark/presto now.

  was:
Dear community,

calcite parse support hint now,but it can not parse hint like follew,

_*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 function call pattern,like a(c0,c1). 
 and this pattern can be parsed by spark/presto now.


> calcite should support hint 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
>             Fix For: 1.28.0
>
>
> 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 function call pattern,like 
> a(c0,c1).  And this pattern can be parsed by spark/presto now.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to