Re: The keyword in the procedure's error message is "function", which should be "procedure"

Lists: pgsql-bugs
From: qtds_126 <qtds_126(at)126(dot)com>
To: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: The keyword in the procedure's error message is "function", which should be "procedure"
Date: 2022-09-21 09:05:13
Message-ID: 29ea5666.6ce8.1835f4b4992.Coremail.qtds_126@126.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Bug Report
When an existing procedure is created in the database, an error message is prompted for an existing procedure.
But the error message says "function" type.
PostgreSQL version
11~15
Test SQL

create procedure proc_insert_t_pg_varchar(id int, v varchar)
language plpgsql
as $$
declare
iid int;
vv varchar(5);
begin
iid = id;
vv = v;
insert into t_pg_varchar values(iid, vv);
end;
$$;
Test result

Expected behavior

When an error occurs in procedure, the keyword is changed from "function" to "procedure".

Thanks.


From: Junwang Zhao <zhjwpku(at)gmail(dot)com>
To: qtds_126 <qtds_126(at)126(dot)com>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: The keyword in the procedure's error message is "function", which should be "procedure"
Date: 2022-09-21 11:46:03
Message-ID: CAEG8a3LW9mUqNRFN3s1kDA_vmZNd34wg2yoacRq9kT5XF3sXVQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: PostgreSQL : PostgreSQL 메일 링리스트 : 2022-09-21 이후 PGSQL 젠 토토 11:46

I've submitted a patch to resolve this issue, waiting for reviews.

Thanks.

On Wed, Sep 21, 2022 at 7:13 PM qtds_126 <qtds_126(at)126(dot)com> wrote:

> *Bug Report*
>
> When an existing procedure is created in the database, an error message is
> prompted for an existing procedure.
> But the error message says "function" type.
>
> *PostgreSQL version*
> 11~15
> *Test SQL*
>
> create procedure proc_insert_t_pg_varchar(id int, v varchar)
> language plpgsql
> as $$
> declare
> iid int;
> vv varchar(5);
> begin
> iid = id;
> vv = v;
> insert into t_pg_varchar values(iid, vv);
> end;
> $$;
>
> *Test result*
>
> *Expected behavior*
>
> When an error occurs in procedure, the keyword is changed from "function"
> to "procedure".
>
>
> Thanks.
>

--
Regards
Junwang Zhao


From: Junwang Zhao <zhjwpku(at)gmail(dot)com>
To: qtds_126 <qtds_126(at)126(dot)com>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: The keyword in the procedure's error message is "function", which should be "procedure"
Date: 2022-09-21 15:05:12
Message-ID: CAEG8a3LGiXnJwwSi2xXLkmLCdNTq8TCbfLvfvPdcvtzORC98zw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg사설 토토SQL : Postg사설 토토SQL 메일 링리스트 : 2022-09-21 이후 PGSQL-BUGS 15:05

hi qtds_123,

After some discussion with the hacker lists, this should not be considered
a bug.

quote from tom lane's comments:

More generally: there are probably dozens, if not hundreds, of
messages in the backend that say "function" but nowadays might
also be talking about a procedure. I'm not sure there's value
in improving just one of them.

I am pretty sure that we made an explicit decision some time back
that it is okay to say "function" when the object could also be
an aggregate or window function. So you could at least cut this
back to just handling "procedure" and "function". Or you could
change it to "routine" as Julien suggests, but I think a lot of
people will not think that's an improvement.

see thread [1] for more information.

[1]:
/message-id/CAEG8a3K6kQmFJz6D2VB50wQTN6VRBGC7C%2BDBh20kkxH-1haW8Q%40mail.gmail.com

On Wed, Sep 21, 2022 at 7:13 PM qtds_126 <qtds_126(at)126(dot)com> wrote:

> *Bug Report*
>
> When an existing procedure is created in the database, an error message is
> prompted for an existing procedure.
> But the error message says "function" type.
>
> *PostgreSQL version*
> 11~15
> *Test SQL*
>
> create procedure proc_insert_t_pg_varchar(id int, v varchar)
> language plpgsql
> as $$
> declare
> iid int;
> vv varchar(5);
> begin
> iid = id;
> vv = v;
> insert into t_pg_varchar values(iid, vv);
> end;
> $$;
>
> *Test result*
>
> *Expected behavior*
>
> When an error occurs in procedure, the keyword is changed from "function"
> to "procedure".
>
>
> Thanks.
>

--
Regards
Junwang Zhao


From: qtds_126 <qtds_126(at)126(dot)com>
To: "zhjwpku(at)gmail(dot)com" <zhjwpku(at)gmail(dot)com>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: The keyword in the procedure's error message is "function", which should be "procedure"
Date: 2022-09-22 06:53:10
Message-ID: 4886d08d.1411.18363f8c1cf.Coremail.qtds_126@126.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Hi Zhao

Thank you for your reply, I understand.
The issue can be considered as a suggested feature improvement.
I think it would be better to use the keyword "procedure" in the error message if we can be sure that it is indeed a procedure error. This will not be misunderstood by the user.

Thank you.

| |
Xintang Liu
|
|
qtds_126(at)126(dot)com
|
---- Replied Message ----
| From | Junwang Zhao<zhjwpku(at)gmail(dot)com> |
| Date | 9/21/2022 23:05 |
| To | qtds_126<qtds_126(at)126(dot)com> |
| Cc | pgsql-bugs(at)lists(dot)postgresql(dot)org<pgsql-bugs(at)lists(dot)postgresql(dot)org> |
| Subject | Re: The keyword in the procedure's error message is "function", which should be "procedure" |
hi qtds_123,

After some discussion with the hacker lists, this should not be considered a bug.

quote from tom lane's comments:

More generally: there are probably dozens, if not hundreds, of
messages in the backend that say "function" but nowadays might
also be talking about a procedure. I'm not sure there's value
in improving just one of them.

I am pretty sure that we made an explicit decision some time back
that it is okay to say "function" when the object could also be
an aggregate or window function. So you could at least cut this
back to just handling "procedure" and "function". Or you could
change it to "routine" as Julien suggests, but I think a lot of
people will not think that's an improvement.

see thread [1] for more information.

[1]: /message-id/CAEG8a3K6kQmFJz6D2VB50wQTN6VRBGC7C%2BDBh20kkxH-1haW8Q%40mail.gmail.com

On Wed, Sep 21, 2022 at 7:13 PM qtds_126 <qtds_126(at)126(dot)com> wrote:

Bug Report
When an existing procedure is created in the database, an error message is prompted for an existing procedure.
But the error message says "function" type.
PostgreSQL version
11~15
Test SQL

create procedure proc_insert_t_pg_varchar(id int, v varchar)
language plpgsql
as $$
declare
iid int;
vv varchar(5);
begin
iid = id;
vv = v;
insert into t_pg_varchar values(iid, vv);
end;
$$;
Test result

Expected behavior

When an error occurs in procedure, the keyword is changed from "function" to "procedure".

Thanks.

--

Regards

Junwang Zhao