The following bug has been logged on the website:
Bug reference: 18463
Logged by: Drew Kimball
Email address: drewk@cockroachlabs.com
PostgreSQL version: 16.3
Operating system: macOS
Description:
Hello,
I believe there may be a bug related to stored procedures with
polymorphic-typed OUT parameters:
CREATE PROCEDURE p(INOUT x ANYELEMENT) LANGUAGE SQL AS $$ SELECT x; $$;
CALL p(1);
The above example results in an error message "cannot display a value of
type anyelement", but I would expect it to succeed and output "1". This also
reproduces with the following stored procedures:
CREATE PROCEDURE p(INOUT x ANYELEMENT) LANGUAGE SQL AS $$ SELECT 1; $$;
CREATE PROCEDURE p(x ANYELEMENT, OUT y ANYELEMENT) LANGUAGE SQL AS $$ SELECT
x; $$;
CREATE PROCEDURE p(x ANYARRAY, OUT y ANYELEMENT) LANGUAGE SQL AS $$ SELECT
x[1]; $$;
Interestingly, this doesn't seem to reproduce when the OUT param has type
ANYARRAY. The following example succeeds:
CREATE PROCEDURE p(INOUT x ANYARRAY) LANGUAGE SQL AS $$ SELECT x; $$;
CALL p(ARRAY[1, 2, 3]);