create schema db_func_3;
set current_schema to 'db_func_3';
CREATE FUNCTION f1 (s CHAR(20)) RETURNS int CONTAINS SQL AS $$ select 1 $$ ;
CREATE FUNCTION f2 (s int) RETURNS int CONTAINS SQL DETERMINISTIC AS $$ select s; $$ ;
CREATE FUNCTION f3 (s int) RETURNS int CONTAINS SQL LANGUAGE SQL AS $$ select s; $$ ;
CREATE FUNCTION f4 (s int) RETURNS int CONTAINS SQL LANGUAGE SQL AS $$ select s; $$ ;
call f1(1);
ERROR: Only support procedure in muiti result call statement
call f2(2);
ERROR: Only support procedure in muiti result call statement
call f3(3);
ERROR: Only support procedure in muiti result call statement
call f4(4);
ERROR: Only support procedure in muiti result call statement
drop function f1;
drop function f2;
drop function f3;
drop function f4;
CREATE FUNCTION f1 (s CHAR(20)) RETURNS int CONTAINS SQL NOT DETERMINISTIC AS $$ select 1 $$ ;
CREATE FUNCTION f2 (s int) RETURNS int CONTAINS SQL NO SQL AS $$ select s; $$ ;
CREATE FUNCTION f3 (s int) RETURNS int CONTAINS SQL LANGUAGE SQL NO SQL AS $$ select s; $$ ;
CREATE FUNCTION f4 (s int) RETURNS int CONTAINS SQL LANGUAGE SQL DETERMINISTIC AS $$ select s; $$ ;
call f1(1);
ERROR: Only support procedure in muiti result call statement
call f2(2);
ERROR: Only support procedure in muiti result call statement
call f3(3);
ERROR: Only support procedure in muiti result call statement
call f4(4);
ERROR: Only support procedure in muiti result call statement
drop function f1;
drop function f2;
drop function f3;
drop function f4;
CREATE FUNCTION f1 (s CHAR(20)) RETURNS int CONTAINS SQL NOT DETERMINISTIC READS SQL DATA AS $$ select 1 $$ ;
CREATE FUNCTION f2 (s int) RETURNS int CONTAINS SQL NO SQL READS SQL DATA AS $$ select s; $$ ;
CREATE FUNCTION f3 (s int) RETURNS int CONTAINS SQL LANGUAGE SQL NO SQL MODIFIES SQL DATA AS $$ select s; $$ ;
CREATE FUNCTION f4 (s int) RETURNS int CONTAINS SQL LANGUAGE SQL DETERMINISTIC MODIFIES SQL DATA AS $$ select s; $$ ;
call f1(1);
ERROR: Only support procedure in muiti result call statement
call f2(2);
ERROR: Only support procedure in muiti result call statement
call f3(3);
ERROR: Only support procedure in muiti result call statement
call f4(4);
ERROR: Only support procedure in muiti result call statement
drop schema db_func_3 cascade;
NOTICE: drop cascades to 4 other objects
DETAIL: drop cascades to function f1(character)
drop cascades to function f2(integer)
drop cascades to function f3(integer)
drop cascades to function f4(integer)
reset current_schema;