From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | didier(dot)ros(at)edf(dot)fr |
Subject: | BUG #15218: compilation of a function is correct while its execution is in error |
Date: | 2018-05-30 10:03:16 |
Message-ID: | 152767459637.1291.307356044025822766@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 15218
Logged by: Didier ROS
Email address: didier(dot)ros(at)edf(dot)fr
PostgreSQL version: 10.4
Operating system: CentOS Linux release 7.3.1611 (Core)
Description:
Hi
I create the following function with an error in it :
CREATE OR REPLACE FUNCTION public.fnc_count_vowels (p_input text)
RETURNS integer LANGUAGE plpgsql AS
$function$
DECLARE
str text;
ret integer;
i integer;
len integer;
tmp text;
BEGIN
str := upperXXX(p_input);
ret := 0;
i := 1;
len := length(p_input);
WHILE i <= len LOOP
IF substr(str, i, 1) in ('A', 'E', 'I', 'O', 'U') THEN
SELECT pg_sleep(1) INTO tmp;
ret := ret + 1;
END IF;
i := i + 1;
END LOOP;
RETURN ret;
END;
$function$
;
-> I use upperXXX which does not exist. normally the compilation should
crash
When I execute the function :
devops=# select fnc_count_vowels('Hello') ;
ERROR: function upperxxx(text) does not exist
LINE 1: SELECT upperXXX(p_input)
^
HINT: No function matches the given name and argument types. You might need
to add explicit type casts.
QUERY: SELECT upperXXX(p_input)
CONTEXT: PL/pgSQL function fnc_count_vowels(text) line 9 at assignment
-> I get the error.
normally this error should have been detected at compilation. (cf Oracle for
instance).
Thanks in advance
Best Regards
Didier ROS
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2018-05-30 10:52:26 | Re: BUG #15218: compilation of a function is correct while its execution is in error |
Previous Message | Alexander Lakhin | 2018-05-30 06:35:25 | Re: BUG #15217: Valgrind - writing uninitialised byte(s) in FileWrite |