Frank van Vugt <ftm(dot)van(dot)vugt(at)foxi(dot)nl> writes:
> FATAL: BeginInternalSubTransaction: unexpected state END
Hmm, do you get the impression that user-written constraint triggers
aren't very well tested ;-) ?
It looks to me like BeginInternalSubTransaction simply needs to allow
TBLOCK_END (and TBLOCK_PREPARE too) as acceptable initial states,
because these could be seen by a function executed during COMMIT or
PREPARE TRANSACTION-time processing of deferred triggers. I think that
the other states it rejects are OK, because we don't try to execute any
user-written code while transiting through those TBLOCK states.
regards, tom lane