I have a transaction group that is calling a PostrgreSQL stored procedure that is getting an error message: Error during group execution. Error registering parameter 'datetime'. Verify that the parameter name and type are correct. Method org.postgresql.jdbc.PgCallableStatement.setObject(String,Object,int) is not yet implemented.
The definition of the stored procedure:
create or replace procedure sp_record_kpi (
serialNo int
, kpiId int
, dateTime timestamptz
, sampleValue float
)
I've modified the translator to use timestamptz for the the Datetime mapping.
When I call the stored procedure in python (using runPrepUpdate), the call works flawlessly. Any help would be greatly appreciated. Thanks.
Your column name has a capital "T", probably to avoid clashing with the reserved word "datetime". If you use anything but lower case in PostgreSQL identifiers (table names, column names, schema names, etc.), you must quote the name with double quotes.
Huh. I don't really understand how Postgres' driver works at all, to be honest. PgCallableStatement throws the 'not yet implemented' error for any of the 'setX' methods:
It doesn't really seem to matter what I do, I'm receiving that same message. I created a test procedure:
create or replace procedure sp_test (
string_data varchar(255)
)
as $$
begin
return;
end; $$
language plpgsql;
and get the same error when the transaction group executes
After about an hour on the phone with tech support, I was told that there's a known bug with executing a stored procedure with named parameters in Postgresql from a transaction group. The developers are unable to fix the issue. Ugh.