On 2019/12/04 17:15, Michael Paquier wrote:
On Wed, Dec 04, 2019 at 12:17:25PM +0900, Arthur Zakirov wrote:
I updated the patch. It generates "revoke_objects.sql" (similar to v3 patch)
now and doesn't rely on --check option. It also logs still FATAL message
because it seems pg_upgrade should stop here since it fails later if there
are objects with changed identities.
(I haven't looked at the patch yet, sorry!)
FWIW, I am not much a fan of that part because the output generated by
the description is most likely not compatible with the grammar
supported.
Ah, I thought that pg_identify_object() gives properly quoted identity,
and it could be used to make SQL script.
In order to make the review easier, and to test for all the patterns
we need to cover, I have an evil idea though. Could you write a
dummy, still simple patch for HEAD which introduces
backward-incompatible changes for all the object types we want to
stress? Then by having ACLs on the source server which are fakely
broken on the target server we can make sure that the queries we have
are right, and that they report the objects we are looking for.
Sure! But I'm not sure that I understood the idea. Do you mean the patch
which adds a TAP test? It can initialize two clusters, in first it
renames some system objects and changes their ACLs. And finally the test
runs pg_upgrade which will fail.
--
Arthur