Regression in Postgres 17?

Colin 't Hart <colinthart@gmail.com>

From: "Colin 't Hart" <colinthart@gmail.com>
To: pgsql-general@lists.postgresql.org
Date: 2024-10-22T15:54:29Z
Lists: pgsql-general
Hi,

This works in Postgres 15:

pg15> create function json_test(out value text, out json jsonb)
returns record
language sql
as
$$
  select null::text, null::jsonb;
$$
;
CREATE FUNCTION
pg15> select * from json_test();
┌───────┬──────┐
│ value │ json │
├───────┼──────┤
│       │      │
└───────┴──────┘
(1 row)


In Postgres 17 trying to create the function yields an error:

pg17> create function json_test(out value text, out json jsonb)
returns record
language sql
as
$$
  select null::text, null::jsonb;
$$
;
ERROR:  syntax error at or near "jsonb"
LINE 1: create function json_test(out value text, out json jsonb)


Am I doing something wrong? Or is this a regression?

Thanks,

Colin