Using DBI->err was a leftover from earlier testing. $dbh_pg->err is of course better. But it doesn't solve the problem.
I'm not sure what you mean with your second remark.
The call to my function ( SELECT dbi_insert3(); ) is one transaction I suppose.
According to the documentation on execute_for_fetch (http://search.cpan.org/~timb/DBI-1.48/DBI.pm#execute_for_fetch) however
an execute is done for every fetched record and @tuple_status should contain the error message associated with each failed execute.
>>> Richard Huxton <dev@xxxxxxxxxxxx> 2007-06-06 12:19 >>> I don't think this is the cause, but you're using DBI->err|errstr - do you not want $dbh_pg->err|errstr? Otherwise, you can't identify different errors on the oracle vs pg connections. Second - it's not just that your function does the inserts in the context of a single transaction, is it? That would mean you're just seeing the original error repeated. |