> Let me try to fix the suggested case(I tried to fix this case in the past, but this time I will try to spend more time on this), and will submit a new patch.
This CF entry is marked Waiting on Author, have you had the chance to prepare a new version of the patch addressing the comments from Pavel?
I think the functionality is correct. I am not sure about implementation
1. Is it necessary to introduce a new field "current_query"? Cannot be used "internalquery" instead? Introducing a new field opens some questions - what is difference between internalquery and current_query, and where and when have to be used first and when second? ErrorData is a fundamental generic structure for Postgres, and can be confusing to enhance it by one field just for one purpose, that is not used across Postgres.
2. The name set_current_err_query is not consistent with names in elog.c - probably something like errquery or set_errquery or set_errcurrent_query can be more consistent with other names.