I played around with the ALTER VARIABLE statement to make sure it’s OK and it seems fine to me.
Another last thing before commiting.
I agree with Thomas Vondra, that this part might/should be simplified :
[ { ON COMMIT DROP | ON { TRANSACTIONAL | TRANSACTION } END RESET } ]
I would only allow “ON TRANSACTION END RESET”.
I think we don’t need both here.
Philippe Beaudoin was indeed talking about the TRANSACTIONAL keyword, but that would have make sense (and I think that’s what he meant) , if you could do something like “CREATE [NON] TRANSACTIONAL VARIABLE …”.
But here I don’t think that the ON TRANSACTIONAL END RESET has any sense in English, and it only complicates the syntax.
Maybe Thomas Vondra (if it’s him) would be more inclined to commit the patch if it has this more simple syntax has he requested.
What do you think ?
I removed TRANSACTIONAL from this clause, see attachement change.diff
Updated patch attached.
I hope it would be the last touch, making it fully ready for a commiter.