If you want to make NEW a normal sql identifier, you should override it in the parser to make it unreserved.
Christian Beikov <christian.bei...@gmail.com>于2020年2月18日 周二下午3:11写道: > Hey Danny, > > it's not a view, it's a variable in PL/SQL with a row type. The thing > is, variable names must not be quoted, but I have no idea how to avoid > quoting for this single use case with the relational algebra model in > Calcite. > > Regards, > > Christian > > Am 18.02.2020 um 04:22 schrieb Danny Chan: > > From the case you gave, the “variable” seems a view ? Sorry I’m not > familiar with the traditional RDBMS. > > > > Best, > > Danny Chan > > 在 2020年2月17日 +0800 PM1:27,Christian Beikov <christian.bei...@gmail.com > >,写道: > >> Hello, > >> > >> I asked this before but I guess the question got too big, so I thought > >> splitting it up might be better. > >> > >> I am trying to generate a query from a relational model on which I did a > >> few tranformations but I don't know how to refer to a "variable". > >> > >> In a SQL trigger, there usually are two variable "OLD" and "NEW" which I > >> want to be able to refer to. I tried introducing a "transient scan", but > >> unfortunately that won't work because this is not a relation and can't > >> be quoted. I will workaround this for now by introducing a temporary > >> relation in the trigger so that I can refer to it, but ideally I want to > >> refer to the variable directly. > >> > >> The simplest example SQL that I want to be able to produce would look > >> like this: > >> > >> select NEW."some_column" > >> > >> The tricky part here is that NEW is not quoted. I don't know how I can > >> represent this in a relation expression. > >> > >> Thanks in advance for any help! > >> > >> Regards, > >> > >> Christian > >> >