Re: Bug of psql meta-command \sf & \sv

Поиск
Список
Период
Сортировка
От Daniel Gustafsson
Тема Re: Bug of psql meta-command \sf & \sv
Дата
Msg-id 52B143ED-EBAF-456E-B159-21FC77BB7B98@yesql.se
обсуждение исходный текст
Ответ на Bug of psql meta-command \sf & \sv  (Jet Zhang <jet.cx.zhang@hotmail.com>)
Ответы RE: Bug of psql meta-command \sf & \sv  (Jet Zhang <jet.cx.zhang@hotmail.com>)
Re: Bug of psql meta-command \sf & \sv  ("咸�9�5" <2437705447@qq.com>)
Список pgsql-bugs
> On 27 Sep 2023, at 11:06, Jet Zhang <jet.cx.zhang@hotmail.com> wrote:
>
> Hi there,
>
> The psql meta-commands \sf and \sv have a minor bug, for example:
>
> postgres=# CREATE PROCEDURE test () AS $$ BEGIN NULL; END; $$ LANGUAGE plpgsql;   -- create a procedure
> postgres=# \sf test
> CREATE OR REPLACE PROCEDURE public.test()
> LANGUAGE plpgsql
> AS $procedure$ BEGIN NULL; END; $procedure$
>
> We can use \sf to check the souce of test, but if we use:
> postgres=# \sf test;
> 2023-09-27 16:51:58.632 CST [3460153] ERROR:  function "test;" does not exist at character 8
> 2023-09-27 16:51:58.632 CST [3460153] STATEMENT:  SELECT 'test;'::pg_catalog.regproc::pg_catalog.oid
> ERROR:  function "test;" does not exist
>
> The \sf feedback an error.

This is not a bug, "test;" is a valid name which is distinct from test.
Semi-colon is not a meta-command terminator.

postgres=# create function "test;"() returns text as $$ begin null; end; $$ language plpgsql;
CREATE FUNCTION
postgres=# \sf test
ERROR:  function "test" does not exist
postgres=# \sf test;
CREATE OR REPLACE FUNCTION public."test;"()
 RETURNS text
 LANGUAGE plpgsql
AS $function$ begin null; end; $function$
postgres=#

--
Daniel Gustafsson




В списке pgsql-bugs по дате отправления:

Предыдущее
От: Jet Zhang
Дата:
Сообщение: Bug of psql meta-command \sf & \sv
Следующее
От: Jet Zhang
Дата:
Сообщение: RE: Bug of psql meta-command \sf & \sv