You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Vladimir Ozerov <pp...@gmail.com> on 2019/10/28 09:09:20 UTC

Query hints support and example of extended SQL syntax

Hi colleagues,

I am working on Calcite integration with Hazelcast. One particular problem
is that we need query hints. I found a couple of tickets [1] [2], and it
seems that hints are not readily available at the moment. So I have two
questions:
1) Is it true that there is no built-in way to provide query hints at the
moment? Are there any plans to finally add hints to the engine?
2) As a possible solution, I am considering extending SELECT syntax with a
custom parser extension. Do you know any example of extended SELECT syntax
in existing Calcite integrations? I found an example of SqlInsert command
extension in Apache Flink, but maybe somebody already extended SELECT as
well?

Thank you,
Vladimir.

[1] https://issues.apache.org/jira/browse/CALCITE-482
[2] https://issues.apache.org/jira/browse/CALCITE-495

Re: Query hints support and example of extended SQL syntax

Posted by Danny Chan <yu...@gmail.com>.
I’m trying to push it into release-1.22 (next release), wait for our good news !

Best,
Danny Chan
在 2019年10月29日 +0800 PM2:11,Vladimir Ozerov <pp...@gmail.com>,写道:
> Hi Danny,
>
> I looked at your design proposal and it looks great. All common hint cases
> that we may possibly need are covered there. Thank you.
>
> I hope the community will release it soon since hints are essential for
> production-grade systems. From what I see in other projects, such as Flink
> or Drill, they have to rely on properties set somewhere else
> (configuration, session), to achieve the same goals, which is not
> user-friendly.
>
> Regards,
> Vladimir.
>
> пн, 28 окт. 2019 г. в 13:26, Danny Chan <yu...@gmail.com>:
>
> > Here is the discussion mailing list [1]
> >
> > [1]
> > https://ponymail-vm.apache.org/_GUI_/thread.html/db3799d70232ec85e294bb8885431a3f5c88bb28f4fd3337368b1480@%3Cdev.calcite.apache.org%3E
> >
> > Best,
> > Danny Chan
> > 在 2019年10月28日 +0800 PM5:09,Vladimir Ozerov <pp...@gmail.com>,写道:
> > > Hi colleagues,
> > >
> > > I am working on Calcite integration with Hazelcast. One particular
> > problem
> > > is that we need query hints. I found a couple of tickets [1] [2], and it
> > > seems that hints are not readily available at the moment. So I have two
> > > questions:
> > > 1) Is it true that there is no built-in way to provide query hints at the
> > > moment? Are there any plans to finally add hints to the engine?
> > > 2) As a possible solution, I am considering extending SELECT syntax with
> > a
> > > custom parser extension. Do you know any example of extended SELECT
> > syntax
> > > in existing Calcite integrations? I found an example of SqlInsert command
> > > extension in Apache Flink, but maybe somebody already extended SELECT as
> > > well?
> > >
> > > Thank you,
> > > Vladimir.
> > >
> > > [1] https://issues.apache.org/jira/browse/CALCITE-482
> > > [2] https://issues.apache.org/jira/browse/CALCITE-495
> >

Re: Query hints support and example of extended SQL syntax

Posted by Vladimir Ozerov <pp...@gmail.com>.
Hi Danny,

I looked at your design proposal and it looks great. All common hint cases
that we may possibly need are covered there. Thank you.

I hope the community will release it soon since hints are essential for
production-grade systems. From what I see in other projects, such as Flink
or Drill, they have to rely on properties set somewhere else
(configuration, session), to achieve the same goals, which is not
user-friendly.

Regards,
Vladimir.

пн, 28 окт. 2019 г. в 13:26, Danny Chan <yu...@gmail.com>:

> Here is the discussion mailing list [1]
>
> [1]
> https://ponymail-vm.apache.org/_GUI_/thread.html/db3799d70232ec85e294bb8885431a3f5c88bb28f4fd3337368b1480@%3Cdev.calcite.apache.org%3E
>
> Best,
> Danny Chan
> 在 2019年10月28日 +0800 PM5:09,Vladimir Ozerov <pp...@gmail.com>,写道:
> > Hi colleagues,
> >
> > I am working on Calcite integration with Hazelcast. One particular
> problem
> > is that we need query hints. I found a couple of tickets [1] [2], and it
> > seems that hints are not readily available at the moment. So I have two
> > questions:
> > 1) Is it true that there is no built-in way to provide query hints at the
> > moment? Are there any plans to finally add hints to the engine?
> > 2) As a possible solution, I am considering extending SELECT syntax with
> a
> > custom parser extension. Do you know any example of extended SELECT
> syntax
> > in existing Calcite integrations? I found an example of SqlInsert command
> > extension in Apache Flink, but maybe somebody already extended SELECT as
> > well?
> >
> > Thank you,
> > Vladimir.
> >
> > [1] https://issues.apache.org/jira/browse/CALCITE-482
> > [2] https://issues.apache.org/jira/browse/CALCITE-495
>

Re: Query hints support and example of extended SQL syntax

Posted by Danny Chan <yu...@gmail.com>.
Here is the discussion mailing list [1]

[1] https://ponymail-vm.apache.org/_GUI_/thread.html/db3799d70232ec85e294bb8885431a3f5c88bb28f4fd3337368b1480@%3Cdev.calcite.apache.org%3E

Best,
Danny Chan
在 2019年10月28日 +0800 PM5:09,Vladimir Ozerov <pp...@gmail.com>,写道:
> Hi colleagues,
>
> I am working on Calcite integration with Hazelcast. One particular problem
> is that we need query hints. I found a couple of tickets [1] [2], and it
> seems that hints are not readily available at the moment. So I have two
> questions:
> 1) Is it true that there is no built-in way to provide query hints at the
> moment? Are there any plans to finally add hints to the engine?
> 2) As a possible solution, I am considering extending SELECT syntax with a
> custom parser extension. Do you know any example of extended SELECT syntax
> in existing Calcite integrations? I found an example of SqlInsert command
> extension in Apache Flink, but maybe somebody already extended SELECT as
> well?
>
> Thank you,
> Vladimir.
>
> [1] https://issues.apache.org/jira/browse/CALCITE-482
> [2] https://issues.apache.org/jira/browse/CALCITE-495

Re: Query hints support and example of extended SQL syntax

Posted by Danny Chan <yu...@gmail.com>.
Thanks, Vladimir ~

Yes, Calcite does not support hints now but we start working out a framework to let user customize the content of their hints implementation. I have written a design doc[2] and fire a PR[3].

We did have a long discussion about the design, and I think we can merge the code soon.

Let me know If this syntax of framework satisfy your needs, thanks ~

[1] https://issues.apache.org/jira/browse/CALCITE-482
[2] https://docs.google.com/document/d/1mykz-w2t1Yw7CH6NjUWpWqCAf_6YNKxSc59gXafrNCs/edit?usp=sharing
[3] https://github.com/apache/calcite/pull/1354

Best,
Danny Chan
在 2019年10月28日 +0800 PM5:09,Vladimir Ozerov <pp...@gmail.com>,写道:
> Hi colleagues,
>
> I am working on Calcite integration with Hazelcast. One particular problem
> is that we need query hints. I found a couple of tickets [1] [2], and it
> seems that hints are not readily available at the moment. So I have two
> questions:
> 1) Is it true that there is no built-in way to provide query hints at the
> moment? Are there any plans to finally add hints to the engine?
> 2) As a possible solution, I am considering extending SELECT syntax with a
> custom parser extension. Do you know any example of extended SELECT syntax
> in existing Calcite integrations? I found an example of SqlInsert command
> extension in Apache Flink, but maybe somebody already extended SELECT as
> well?
>
> Thank you,
> Vladimir.
>
> [1] https://issues.apache.org/jira/browse/CALCITE-482
> [2] https://issues.apache.org/jira/browse/CALCITE-495