čt 6. 12. 2018 v 17:27 odesílatel Robert Haas <robertmh...@gmail.com> napsal:
> On Tue, Dec 4, 2018 at 12:13 PM Pavel Stehule <pavel.steh...@gmail.com> > wrote: > > I wrote plpgsql_check https://github.com/okbob/plpgsql_check. > > > > It is working well, but because it does static analyse only, sometimes > it can produces false alarms or it should to stop a analyse, because there > are not necessary data. > > > > https://github.com/okbob/plpgsql_check/issues/36 > > > > I see one possible solution in introduction of pragma statement with > syntax: > > > > PRAGMA keyword [content to semicolon]; > > > > The pragma has a relation to following statement. So the issue 36 can be > solved by pragma > > > > PRAGMA cmdtype CREATE; > > EXECUTE format('CREATE TABLE xxx ... > > > > The PRAGMA statement does nothing in runtime. It works only in compile > time, and add a pair of key, value to next non pragma statement. This > information can be used by some plpgsql extensions. > > > > What do you think about this proposal? > > I think it's commandeering PRAGMA for a fairly narrow purpose. It's > hardly unimaginable that someone in future might want a PRAGMA that > does change runtime behavior, or that affects something other than the > statement which immediately follows. > > I don't see a big problem allowing some kind of annotation that > plpgsql_check can easily access, and I don't even mind it being called > PRAGMA. But I don't think it should foreclose unrelated uses of > PRAGMA which somebody might want to introduce in the future. > The most simple (and probably one possible) implementation is plpgsql statement - because I would not to modify SQL lexer. I am thinking so PRAGMA statement is natural due semantic and usage in Ada, but I am opened any proposals. Regards Pavel > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company >