From Gilles Darold <gil...@darold.net> on 2020-03-26T16:09:04.
> Actually the callback function is called when the error is thrown:

> psql:eat_rollback2.sql:20: INFO:  00000: myTransactionCallback() XactEvent 2 
> (is abort) level 1 <-----------------
> LOCATION:  myTransactionCallback, eat_rollback.c:52
> psql:eat_rollback2.sql:20: ERROR:  XX000: no no no
> LOCATION:  mySubtransactionCallback, eat_rollback.c:65

> this is probably why the callback is not called on the subsequent ROLLBACK 
> execution because abort processing is
>  already done (src/backend/access/transam/xact.c:3890).
So I withdraw this patch and fix. The callback during the error will drive the 
ROLLBACK remote, as required in the fdw.
Great catch, thanks Gilles!

Cheers,
Dave

Reply via email to