pá 19. 2. 2021 v 6:09 odesílatel Kevin Brannen <kbran...@efji.com> napsal:

> >From: Ron <ronljohnso...@gmail.com>
> >
> >How does one go about syntax checking this?
> >
> >do $$
> >begin if exists (select 1 from information_schema.table_constraints
> >        where constraint_name = 'error_to_web_service_error') then
> >             raise notice 'EXISTS error_to_web_service_error';
> >     else
> >         ALTER TABLE web_service_error
> >            ADD CONSTRAINT error_to_web_service_error FOREIGN KEY
> (error_id)
> >            REFERENCES error_code(error_id)
> >            ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE;
> >     end if
> >end $$
> >
> >(There are 222 ALTER TABLE ADD FOREIGN KEY statements that I'm wrapping
> in similar DO blocks, and want to make sure the statements are clean.)
>
>
> I've always wondered why Pg doesn't have something like that built in, but
> I suppose the obvious answer is that no one has felt like scratching that
> itch.
>

plpgsql_check is my cleaned previous project plpgsql_lint.  Main target of
this work was integration to upstream. Unfortunately there is not an
agreement on how this feature should be implemented  - there is a very
fundamental difference in opinions, so this patch was rejected (I spent a
lot of time working on this patch).  On second hand - with an outer
development I had more space for faster more experimental development and I
can quickly push new features to all supported pg releases (not just to
fresh release). This is an advantage of extensions - the development can be
much faster and because plpgsql_check is well isolated (it depends mostly
only on plpgsql runtime), then the development and maintenance is not too
difficult and expensive. There is only one harder task (for me) - making
builds for MS Win.

Now plpgsql_check is a relatively bigger project - so it is hard to merge
it to upstream, but it can live well on github simillary like PostGIS.

Regards

Pavel


> Have you checked out:  https://github.com/okbob/plpgsql_check
>
> I don't know if it'll do everything you want, but maybe it'd help at least
> some. It's on my to-do list to check out one day when I have time. :)
>
> HTH,
> Kevin
> This e-mail transmission, and any documents, files or previous e-mail
> messages attached to it, may contain confidential information. If you are
> not the intended recipient, or a person responsible for delivering it to
> the intended recipient, you are hereby notified that any disclosure,
> distribution, review, copy or use of any of the information contained in or
> attached to this message is STRICTLY PROHIBITED. If you have received this
> transmission in error, please immediately notify us by reply e-mail, and
> destroy the original transmission and its attachments without reading them
> or saving them to disk. Thank you.
>

Reply via email to