Hi Surya,

Thanks for the comments!

> A couple of points on the patch itself:
> 1. The bug is racy but the injection_points framework 
> (src/test/modules/injection_points) can make it deterministic.
> We can put an INJECTION_POINT() inside the heap_getnext() loop in 
> get_all_vacuum_rels() and adding an isolation spec that parks
> VACUUM there, runs DROP TABLE in another session, then resumes VACUUM and 
> asserts it completes with a WARNING.
> 
> 2. Minor comment vacuum_open_relation() already emits an identically-worded
> "relation no longer exists" message with errcode(ERRCODE_UNDEFINED_TABLE).
> Worth adding the same errcode to the two new ereports so the SQLSTATE stays 
> consistent for the same logical event.

Fixed. Please see the v2 patches.

--
Regards,
ChangAo Chen

Attachment: v2-0001-Handle-concurrent-drop-when-doing-whole-database-.patch
Description: Binary data

Attachment: v2-0002-Add-test-case-for-vacuum-with-a-concurrent-drop.patch
Description: Binary data

Reply via email to