Re: remaining sql/json patches
От | Amit Langote |
---|---|
Тема | Re: remaining sql/json patches |
Дата | |
Msg-id | CA+HiwqHrFT65m5qSDaAt5RyRucGAmp5vKJznXQu1w8ByFVSxYg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: remaining sql/json patches (Amit Langote <amitlangote09@gmail.com>) |
Ответы |
Re: remaining sql/json patches
|
Список | pgsql-hackers |
On Tue, Sep 19, 2023 at 9:00 PM Amit Langote <amitlangote09@gmail.com> wrote: > On Tue, Sep 19, 2023 at 7:37 PM jian he <jian.universality@gmail.com> wrote: > > ------------------- > > https://www.postgresql.org/docs/current/extend-type-system.html#EXTEND-TYPES-POLYMORPHIC > > >> When the return value of a function is declared as a polymorphic type, there must be at least one argument positionthat is also > > >> polymorphic, and the actual data type(s) supplied for the polymorphic arguments determine the actual result type forthat call. > > > > select json_query(jsonb'{"a":[{"a":[2,3]},{"a":[4,5]}]}','$.a[*].a?(@<=3)' > > returning anyrange); > > should fail. Now it returns NULL. Maybe we can validate it in > > transformJsonFuncExpr? > > ------------------- > > I'm not sure whether we should make the parser complain about the > weird types being specified in RETURNING. Sleeping over this, maybe adding the following to transformJsonOutput() does make sense? + if (get_typtype(ret->typid) == TYPTYPE_PSEUDO) + ereport(ERROR, + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("returning pseudo-types is not supported in SQL/JSON functions")); + -- Thanks, Amit Langote EDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: