At Wed, 8 Apr 2020 02:52:55 +0300, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote in
> On Wed, Apr 8, 2020 at 2:14 AM Kartyshov Ivan
> <i.kartyshov@postgrespro.ru> wrote:
> > On 2020-04-08 00:27, Tom Lane wrote:
> > > Alexander Korotkov <akorotkov@postgresql.org> writes:
> > » WAIT FOR LSN lsn [ TIMEOUT timeout ]
> > >
> > > This seems like a really carelessly chosen syntax —- *three* new
> > > keywords, when you probably didn't need any. Are you not aware that
> > > there is distributed overhead in the grammar for every keyword?
> > > Plus, each new keyword carries the risk of breaking existing
> > > applications, since it no longer works as an alias-not-preceded-by-AS.
> > >
> >
> > To avoid creating new keywords, we could change syntax in the following
> > way:
> > WAIT FOR => DEPENDS ON
>
> Looks OK for me.
>
> > LSN => EVENT
>
> I think it's too generic. Not every event is lsn. TBH, lsn is not
> event at all :)
>
> I wonder is we can still use word lsn, but don't use keyword for that.
> Can we take arbitrary non-quoted literal there and check it later?
>
> > TIMEOUT => WITH INTERVAL
>
> I'm not yet sure about this. Probably there are better options.
How about something like the follows.
BEGIN AFTER ColId Sconst
BEGIN FOLOWING ColId Sconst
UNTIL <absolute time>;
LIMIT BY <interval>;
WITHIN Iconst;
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center