Re: Regression in Postgres 17?

Achilleas Mantzios <a.mantzios@cloud.gatewaynet.com>

From: Achilleas Mantzios <a.mantzios@cloud.gatewaynet.com>
To: pgsql-general@lists.postgresql.org
Date: 2024-10-22T16:02:59Z
Lists: pgsql-general
Στις 22/10/24 18:54, ο/η Colin 't Hart έγραψε:
> 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?

Do this instead :

create function json_test(out value text, out jsonparam jsonb)
returns record
language sql
as
$$
  select null::text, null::jsonb;
$$
;
CREATE FUNCTION

apparently json is a reserved word (now) and won't be accepted as 
function parameter name.

>
> Thanks,
>
> Colin