/* SCRIPT DE 'LIMPEZA' DA TABELA TB_PROC_LOCALIZACAO_IBPM AÇÃO: Remover registros repetidos ou excluindo registros de instances terminadas APLICABILIDADE: PJE 1º Grau, 2º Grau e CGJ ISSUE ASSOCIADA: PJEII-22871 ALTERADO PARA INCLUIR COMENTÁRIO E PROCEDIMENTO DE CA GEDES/TJPB */ -- Remoção de registros cujos process instance terminaram DELETE FROM core.tb_proc_localizacao_ibpm WHERE id_processo_localizacao IN( SELECT id_processo_localizacao FROM core.tb_proc_localizacao_ibpm pli WHERE NOT EXISTS (SELECT 1 FROM jbpm_taskinstance taskin WHERE taskin.procinst_ = pli.id_processinstance_jbpm AND pli.id_task_jbpm = taskin.task_ AND taskin.end_ is null)); -- Remoção de registros com valores (id_task_jbpm, id_processinstance_jbpm, id_processo, id_localizacao, id_papel) duplicados DELETE FROM core.tb_proc_localizacao_ibpm WHERE id_processo_localizacao IN (SELECT id_processo_localizacao FROM (SELECT id_processo_localizacao, ROW_NUMBER() OVER (partition BY id_task_jbpm, id_processinstance_jbpm, id_processo, id_localizacao, id_papel ORDER BY id_processo_localizacao) AS rnum FROM core.tb_proc_localizacao_ibpm) t WHERE t.rnum > 1); -- Recuperação de espaço em disco VACUUM ( FULL ) core.tb_proc_localizacao_ibpm;