You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Lukas Eder <lu...@gmail.com> on 2021/01/25 08:50:29 UTC

SQL strategy for Apache Ignite 3.0

Hello folks,

I'm currently working on the jOOQ integration for Apache Ignite's SQL
language support. I was invited by Denis Magda to post my questions here,
see:
https://twitter.com/denismagda/status/1352316238806958080

From what I understand, you're going to use calcite to parse and run your
SQL queries. My questions evolve only around syntax, not optimisation.

While H2 (which you're currently using in some way) has become quite
standards compliant over the past years, I still think that there will be
substantial differences in syntax. With the syntax not being documented
very well, I wonder what differences one may expect? Will 3.0 be akin to a
complete rewrite of the SQL support also for users, or will you try to stay
backwards compatible to some extent?

In particular:

- You're currently supporting H2's rather esoteric MERGE statement, which
even H2 have deprecated themselves in favour of the standard SQL MERGE
statement. I'm assuming you'll follow suit?
- Will the SYS schema be maintained as it is, or will there be an entirely
new type of SYS schema (this is relevant to me to reverse engineer schema
meta data).
- For how long will the 2.x branch be maintained once 3.0 ships? Does it
even make sense to start supporting Ignite 2.x at this point?

Cheers,
Lukas

Re: SQL strategy for Apache Ignite 3.0

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

Please do not overestimate the extent in which we rely on H2 in Apache
Ignite. We mostly use it for query parsing/planning while the rest is done
by our own code/

1) I think that the usage of MERGE is not recommended, since it is not
providing additional guarantees from SELECT and then INSERT/UPDATE. I don't
think we're going to change the MERGE syntax that we have currently. I
didn't even know that there's something wrong with it.
2) I've not heard of having an entirely new type of SYS schema. I think SYS
is here to stay for the meantime.
3) Absolutely makes sense, Apache Ignite 3.0 is in a very early stage where
only a handful of features are being prototyped. 2.x will remain being the
workhorse in the observable future in my opinion.

Regards,
-- 
Ilya Kasnacheev


пн, 25 янв. 2021 г. в 11:50, Lukas Eder <lu...@gmail.com>:

> Hello folks,
>
> I'm currently working on the jOOQ integration for Apache Ignite's SQL
> language support. I was invited by Denis Magda to post my questions here,
> see:
> https://twitter.com/denismagda/status/1352316238806958080
>
> From what I understand, you're going to use calcite to parse and run your
> SQL queries. My questions evolve only around syntax, not optimisation.
>
> While H2 (which you're currently using in some way) has become quite
> standards compliant over the past years, I still think that there will be
> substantial differences in syntax. With the syntax not being documented
> very well, I wonder what differences one may expect? Will 3.0 be akin to a
> complete rewrite of the SQL support also for users, or will you try to stay
> backwards compatible to some extent?
>
> In particular:
>
> - You're currently supporting H2's rather esoteric MERGE statement, which
> even H2 have deprecated themselves in favour of the standard SQL MERGE
> statement. I'm assuming you'll follow suit?
> - Will the SYS schema be maintained as it is, or will there be an entirely
> new type of SYS schema (this is relevant to me to reverse engineer schema
> meta data).
> - For how long will the 2.x branch be maintained once 3.0 ships? Does it
> even make sense to start supporting Ignite 2.x at this point?
>
> Cheers,
> Lukas
>