ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergi Vladykin <sergi.vlady...@gmail.com>
Subject Re: Do not use H2 parser for DDL
Date Fri, 03 Feb 2017 13:28:52 GMT
Actually we do not support FULLTEXT indexes in SQL right now. Thus I think
we will have to postpone this feature anyways.

I hope that H2 Mode will solve most of the problems here. But another thing
is that IMO we should avoid inventing any "too custom" SQL syntax. For
example I agree that we have to be able to create caches from SQL, but I
don't like the idea of inventing CREATE CACHE syntax. May be its better to
have functions like the following:

CALL NEW_CACHE(...);

This is very straightforward and will allow us to avoid any problems with
syntax parsing.

Sergi

2017-01-30 12:47 GMT+03:00 Alexander Paschenko <
alexander.a.paschenko@gmail.com>:

> Dima,
>
> H2's grammar for CREATE INDEX currently does not allow expressing all
> that Ignite has in this field - say, I can't specify FULLTEXT index
> types. (But, for clarity, I should also note that I don't see anything
> else missing right away).
>
> On the other hand, if we want to enhance indexes someday, H2 may not
> be there to support our custom syntax.
>
> All in all, I believe that the moment for messing the custom syntax
> will no doubt come, sooner or later, and we can't avoid it forever. So
> all our attempts to avoid messing with it now just delay the moment
> when we will simply have no choice and will have to come up with
> something quick and dirty in a rush and hurry.
>
> Yes, Ignite mode for H2 probably could be a solution for parsing, but
> we have to keep in mind that compatibility mode in H2 is more than
> syntax. And H2 folks will not likely be happy with just bunch of
> random syntax changes that are otherwise irrelevant to RDBMS and will
> not be used by or implemented in H2 itself anyway.
>
> - Alex
>
> 2017-01-30 4:18 GMT+03:00 Dmitriy Setrakyan <dsetrakyan@apache.org>:
> > On Fri, Jan 27, 2017 at 8:51 PM, Alexander Paschenko <
> > alexander.a.paschenko@gmail.com> wrote:
> >
> >> Guys,
> >>
> >> And what would you say if I suggested that we implement custom grammar
> >> support with ANTLR? It allows you to describe pretty much any grammar
> >> in a declarative way, generates lexer and parser and then allows to
> >> easily process parsed commands by implementing few (generated)
> >> interfaces. Yesterday I gave it a try and it's really simple.
> >> Downsides are use of generated code itself (I'm pretty sure someone is
> >> strongly against it) and relative wordiness of resulting code written
> >> manually. But this approach will no doubt save time and allow any
> >> extensions or changes in syntax in the future w/o worrying about H2 or
> >> anyone 3rd party. Thoughts?
> >>
> >>
> > Alex,
> >
> > My preference would be to keep it simple, without introducing any custom
> > grammar, at least for the "CREATE INDEX" command. I understand the need
> for
> > decoupling cache from schema, but it will take much longer to implement,
> > and I would leave it for phase 2. In phase 1 we can focus on delivering
> > this much needed feature to the community as soon as possible.
> >
> > Do you agree?
> >
> >
> >> - Alex
> >>
> >> 2017-01-27 21:56 GMT+03:00 Vladimir Ozerov <vozerov@gridgain.com>:
> >> > My point was that we can avoid dependency on 3rd party developers for
> >> this
> >> > relatively simple logic.
> >> >
> >> > On Fri, Jan 27, 2017 at 8:07 PM, Dmitriy Setrakyan <
> >> dsetrakyan@apache.org>
> >> > wrote:
> >> >
> >> >> On Fri, Jan 27, 2017 at 5:45 AM, Sergi Vladykin <
> >> sergi.vladykin@gmail.com>
> >> >> wrote:
> >> >>
> >> >> > H2 to some extent supports syntax (and quirks) from other
> databases.
> >> For
> >> >> > example you can start it with MODE=MySQL and it will allow some
> MySQL
> >> >> > specific syntax to be handled.
> >> >> >
> >> >> > Having said that, IMO the most correct way to handle non-standard
> >> syntax
> >> >> is
> >> >> > to introduce H2 MODE=ApacheIgnite and put the needed switches
> there.
> >> >> >
> >> >> > Though this needs to be negotiated with H2 folks.
> >> >> >
> >> >>
> >> >> Sergi, can you ask the H2 folks about this? I agree, this sounds like
> >> the
> >> >> most correct way.
> >> >>
> >>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message