Conflicted names of error conditions.
Hey all,
According to
http://www.postgresql.org/docs/9.0/static/errcodes-appendix.html
some error conditions has non-unique *names*. There are:
modifying_sql_data_not_permitted,
prohibited_sql_statement_attempted,
reading_sql_data_not_permitted
from SQL Routine Exception and External Routine Exception classes.
It should be?
Regards,
Dmitriy
Dmitriy Igrishin <dmitigr@gmail.com> writes:
According to
http://www.postgresql.org/docs/9.0/static/errcodes-appendix.html
some error conditions has non-unique *names*. There are:
modifying_sql_data_not_permitted,
prohibited_sql_statement_attempted,
reading_sql_data_not_permitted
from SQL Routine Exception and External Routine Exception classes.
It should be?
Yup, that's what the SQL standard calls them :-(. In practice, either
underlying SQLSTATE will match that name in an EXCEPTION block, so
it doesn't matter a whole lot. If you have a case where you feel it
does matter, you can trap by the SQLSTATE code instead.
regards, tom lane
Thanks for you answer, Tom!
I've implemented mapping between SQLSTATE codes and C++ exception
classes of my library. And of course, I've resolved the conflict of names
by giving a proper name to my classes.
Regards,
Dmitriy
2010/8/16 Tom Lane <tgl@sss.pgh.pa.us>
Show quoted text
Dmitriy Igrishin <dmitigr@gmail.com> writes:
According to
http://www.postgresql.org/docs/9.0/static/errcodes-appendix.html
some error conditions has non-unique *names*. There are:
modifying_sql_data_not_permitted,
prohibited_sql_statement_attempted,
reading_sql_data_not_permitted
from SQL Routine Exception and External Routine Exception classes.It should be?
Yup, that's what the SQL standard calls them :-(. In practice, either
underlying SQLSTATE will match that name in an EXCEPTION block, so
it doesn't matter a whole lot. If you have a case where you feel it
does matter, you can trap by the SQLSTATE code instead.regards, tom lane