Re: Unrecognized exception condition "deprecated_feature" - Mailing list pgsql-bugs

From Kouber Saparev
Subject Re: Unrecognized exception condition "deprecated_feature"
Date
Msg-id CAN4RuQtCwLs4vX6GCCO2_Mdp+kh7gJbY3A-uzB5o4MM0bsbqjw@mail.gmail.com
Whole thread Raw
In response to Re: Unrecognized exception condition "deprecated_feature"  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
Here's a working example with 'unique_violation' for instance:

postgres=# DO $$ 
BEGIN 
 RAISE WARNING 'Example of working exception condition'                             
   USING ERRCODE = 'unique_violation'; 
END; 
$$;
WARNING:  Example of working exception condition
DO

postgres=# DO $$ 
BEGIN 
 RAISE WARNING 'Example of working exception condition (with code)' 
   USING ERRCODE = '23505'; 
END; 
$$;
WARNING:  Example of working exception condition (with code)
DO

postgres=# select error_severity, message from sqlog.log('today') where sql_state_code = '23505';
 error_severity |                      message                       
----------------+----------------------------------------------------
 WARNING        | Example of working exception condition
 WARNING        | Example of working exception condition (with code)
(2 rows)

2018-03-09 21:00 GMT+02:00 David G. Johnston <david.g.johnston@gmail.com>:
On Fri, Mar 9, 2018 at 11:55 AM, Kouber Saparev <kouber@gmail.com> wrote:
For some reason using an error code of 'deprecated_feature' does not work, while its equivalent '01P01' works just fine.

kouber=# DO $$ 
BEGIN 
 RAISE WARNING 'Deprecated' 
   USING ERRCODE = 'deprecated_feature'; 
END; 
$$; 
ERROR:  unrecognized exception condition "deprecated_feature" 
CONTEXT:  PL/pgSQL function inline_code_block line 3 at RAISE

kouber=# DO $$ 
BEGIN 
 RAISE WARNING 'Deprecated' 
   USING ERRCODE = '01P01';              

​[...]​
kouber@spectre:~/src/postgres$ grep -r deprecated_feature .                 
./src/backend/utils/errcodes.txt:01P01    W    ERRCODE_WARNING_DEPRECATED_FEATURE                             deprecated_feature

I am using PostgreSQL 10.1, I apologize in case it has already been fixed in 10.2 or 10.3.

​While I haven't looked at the source code or docs for this I'm wondering why you believe this is a bug in the first place.  If "01P01" is a valid and expected value for ERRCODE I would expect that the textual string label representing it would not be.​  The two are not likely to be interchangeable.  Have you found working code where this is does work as you expect?

David J.


pgsql-bugs by date:

Previous
From: Valery Komarov
Date:
Subject: Build or update inarray GIST index very slow.
Next
From: Jeff Janes
Date:
Subject: Re: Build or update inarray GIST index very slow.