The following bug has been logged on the website:
Bug reference: 6646
Logged by: Steven Huwig
Email address: steve(at)empiricalthought(dot)com
PostgreSQL version: 9.1.3
Operating system: Linux
Description:
I am trying to raise standard SQL errors from inside PL/Python code.
However, they do not work as expected. They always have sqlstate = XX000
instead of the appropriate sqlstate value.
create function python_exception_bug()
returns void as $$
raise plpy.spiexceptions.InvalidParameterValue()
$$ language 'plpython3u';
create function python_exception_sql()
returns text as $$
begin
select python_exception_bug();
return 'cannot happen';
exception when invalid_parameter_value then
return 'expected behavior';
when others then
return 'this is a bug';
end
$$ language 'plpgsql';