On Fri, Dec 06, 2019 at 10:23:25AM -0600, Justin Pryzby wrote:
> Find attached updated patch:
> . Use structure to include relation name.
> . Split into a separate patch rename of "StringInfoData buf".
>
> 2019-11-27 20:04:53.640 CST [14244] ERROR: canceling statement due to statement timeout
> 2019-11-27 20:04:53.640 CST [14244] CONTEXT: block 2314 of relation t
> 2019-11-27 20:04:53.640 CST [14244] STATEMENT: vacuum t;
>
> I tried to use BufferGetTag() to avoid using a 2ndary structure, but fails if
> the buffer is not pinned.
No problem from me to add more context directly in lazy_scan_heap().
+ // errcallback.arg = (void *) &buf;
The first patch is full of that, please make sure to clean it up.
Let's keep also the message simple, still I think that it should be a
bit more explicative:
1) Let's the schema name, and quote the relation name.
2) Let's mention the scanning (or vacuuming) operation.
So I would suggest the following instead:
"while scanning block %u of relation \"%s.%s\""
--
Michael