...
Drop check for Queue Tables is not complete.
In the FlexRunCompare, in runCompare after comparing queues and queue tables, a call to execute this query needs to be added. If any rows are returned, the sync operation should fail because it means a queue table is being attempted to be dropped without dropping all of the queues.
select a.owner, a.object_name from
(select d.owner, d.object_name, count(distinct q.name) as cnt from fddb.fd_baseline_diff d, fddb.fd_queues q
where
d.statement_type = 'DROP' and d.object_type = 'QUEUE_TABLE' and d.delta_ddl_id = 357480
and d.source_baseline_id = q.schema_version and d.owner = q.owner
and d.object_name = q.queue_table group by d.owner, d.object_name) a,
(select d1.owner, q1.queue_table, count(*) as cnt from fddb.fd_baseline_diff d1, fddb.fd_queues q1
where d1.source_baseline_id = q1.schema_version and
d1.statement_type = 'DROP' and d1.object_type = 'QUEUE' and d1.delta_ddl_id = 357480
group by d1.owner, q1.queue_table) b where
a.owner = b.owner and a.object_name = b.queue_table and a.cnt <> b.cnt;
Grants to objects other than Tables - should test them as well.
...
Grants to objects that are renamed?
The new baseline will pickup the grants on the renamed object. I believe the issue may be that the compare will probably try to generate a revoke for the old object name which will fail because the object does not exist following the rename. If that is the case, the sql FDORA_DRCR_GRANTS.sql would need to have this section of the SQL updated as follows:
FULL OUTER JOIN
(SELECT owner, table_name, grantee FROM fddb.FD_TAB_PRIVS WHERE schema_version = :old
) OLD
to this:
FULL OUTER JOIN
(SELECT owner, table_name, grantee FROM fddb.FD_TAB_PRIVS WHERE schema_version = :old
and not exists (select 1 from fddb.fd_baseline_parameters b where p.schema_version = b.baseline_id
and b.parameter_name = 'RENAME' p.owner = b.schema and p.table_name = b.old_object_name
) OLD
removed Jobs from this release.
...