Re: review: CHECK FUNCTION statement - Mailing list pgsql-hackers
From | Pavel Stehule |
---|---|
Subject | Re: review: CHECK FUNCTION statement |
Date | |
Msg-id | CAFj8pRAmC5DMJB944NHUxg-+ocwqONOG6A4oMqPv26x33z=Zhw@mail.gmail.com Whole thread Raw |
In response to | Re: review: CHECK FUNCTION statement ("Albe Laurenz" <laurenz.albe@wien.gv.at>) |
Responses |
Re: review: CHECK FUNCTION statement
|
List | pgsql-hackers |
Hello there is a updated patch. it support multi check, options and custom check functions are not supported yet. I don't plan to implement custom check functions in this round - I has not any example of usage - but we have agreement on syntax and behave, so this should not be problem. I changed reporting - from exception to warnings. postgres=# check function all in schema public; NOTICE: skip check function "hello()", it use C or internal language NOTICE: skip check function "tri()", it is trigger function NOTICE: skip check function "vloz_do_foo(integer)", language "sql" hasn't checker function NOTICE: skip check function "mojefunc(integer)", language "sql" hasn't checker function NOTICE: skip check function "myleft(text,integer)", language "sql" hasn't checker function NOTICE: checked function "array_random(integer,integer)" NOTICE: skip check function "array_random1(integer,integer)", language "sql" hasn't checker function NOTICE: checked function "vrattab(integer)" NOTICE: checked function "yyy()" NOTICE: checked function "xxx()" WARNING: error in function "zpracuj(integer)" LINE 1: select h from hodnoty ^ DETAIL: column "h" does not exist QUERY: select h from hodnoty CONTEXT: line 4 at FOR over SELECT rows WARNING: error in function "ii(integer)" LINE 1: SELECT (select aa from i) ^ DETAIL: column "aa" does not exist QUERY: SELECT (select aa from i) CONTEXT: line 3 at RETURN CHECK FUNCTION postgres=# check function all in schema public in language plpgsql; NOTICE: skip check function "tri()", it is trigger function NOTICE: checked function "array_random(integer,integer)" NOTICE: checked function "vrattab(integer)" NOTICE: checked function "yyy()" NOTICE: checked function "xxx()" WARNING: error in function "zpracuj(integer)" LINE 1: select h from hodnoty ^ DETAIL: column "h" does not exist QUERY: select h from hodnoty CONTEXT: line 4 at FOR over SELECT rows WARNING: error in function "ii(integer)" LINE 1: SELECT (select aa from i) ^ DETAIL: column "aa" does not exist QUERY: SELECT (select aa from i) CONTEXT: line 3 at RETURN CHECK FUNCTION postgres=# check function all in schema public in language plpgsql for role www; NOTICE: nothing to check CHECK FUNCTION please, try it Regards Pavel Stehule 2011/12/3 Albe Laurenz <laurenz.albe@wien.gv.at>: > Pavel Stehule wrote: >>> My attempt at a syntax that could also cover Peter's wish for multiple >>> checker functions: >>> >>> CHECK FUNCTION { func(args) | ALL [IN SCHEMA schema] [FOR ROLE user] } >>> [ USING check_function ] OPTIONS (optname optarg [, ...]) > >> check_function should be related to one language, so you have to >> specify language if you would to specify check_function (if we would >> to have more check functions for one language). > > Right, I forgot LANGUAGE: > > CHECK FUNCTION { func(args) | ALL IN LANGUAGE pl [IN SCHEMA schema] [FOR ROLE user] } > [ USING check_function ] OPTIONS (optname optarg [, ...]) > > If func(args) is given, the language can be inferred. > > Yours, > Laurenz Albe
Attachment
pgsql-hackers by date: