The code seems to implement the feature and has good and explanatory comments associated with it. I believe we can go ahead with committing patch although I would request some senior contributors to also take a look at this patch since I am relatively new to patch reviews.
Looks like a good catch and a reasonable fix. Pushed after rewriting the comments a bit.
As far as this goes:
I ran make installcheck-world after applying the patch and recompiling it. It did fail for a particular test but from the logs it seems to be unrelated to this particular patch since it fails for the following:
select error_trap_test(); - error_trap_test - division_by_zero detected -(1 row) - +ERROR: cannot start subtransactions during a parallel operation
... that's the test case from 0075d7894, and the failure is what I'd expect from a backend older than that. Maybe you forgot to recompile/reinstall after updating past that commit?