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