Στις 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

Reply via email to