čt 27. 2. 2020 v 15:37 odesílatel Pavel Stehule <pavel.steh...@gmail.com> napsal:
> > Hi > > >> 3) Any way to define CONSTANTs ? >> We already talked a bit about this subject and also Gilles Darold >> introduces it in this mailing-list topic but I'd like to insist on it. >> I think it would be nice to have a way to say that a variable should not >> be changed once defined. >> Maybe it's hard to implement and can be implemented later, but I just >> want to know if this concern is open. >> > > I played little bit with it and I didn't find any nice solution, but maybe > I found the solution. I had ideas about some variants, but almost all time > I had a problem with parser's shifts because all potential keywords are not > reserved. > > last variant, but maybe best is using keyword WITH > > So the syntax can looks like > > CREATE [ TEMP ] VARIABLE varname [ AS ] type [ NOT NULL ] [ DEFAULT > expression ] [ WITH [ OPTIONS ] '(' ... ')' ] ] > > What do you think about this syntax? It doesn't need any new keyword, and > it easy to enhance it. > > CREATE VARIABLE foo AS int DEFAULT 10 WITH OPTIONS ( CONSTANT); > After some more thinking and because in other patch I support syntax CREATE TRANSACTION VARIABLE ... I change my opinion and implemented support for syntax CREATE IMMUTABLE VARIABLE for define constants. See attached patch Regards Pavel > > ? > > Regards > > Pavel > > >
schema-variables-20200228.patch.gz
Description: application/gzip