Telescope (core)
Auditorias Telescope
ADS.FAQ-11061
Relação de consultas que verificam problemas nos dados do Telescope.
select c.nome_global as "Summarize em domínios que não aceitam SUM()", D.NOME_GLOBAL
from componentes c
join componentes a on a.id = c.pai_comp_id
join componentes d on d.id = a.dominio_comp_id
where c.nome='SUMMARIZE'
and d.tipo_componente_id = 10
and d.nome_global not in ('ADSRT.INTEGER', 'ADSRT.NUMBER'
, 'ADSRT.VALUE', 'ADSRT.PERCENT','ADSRT.VALUE_DC'
, 'ADSRT.DECIMAL_VALUE','ADSRT.DOUBLE','ADSRT.PRICE'
)
select 'O campo ' || c.nome_global || ' esta com usage ' || c.text_04
|| ' quando a funcao ' || tt.nome || ' aceita apenas ' ||p.notas
from componentes c
join componentes t on t.id = c.pai_comp_id
join componentes tt on tt.id = t.dominio_comp_id
join componentes p on p.pai_comp_id = tt.id and p.nome='USAGE_OPTIONS'
join componentes s on s.id = c.raiz_id
where c.tipo_componente_id = 26
and (position (c.text_04 in p.notas) = 0
-- or c.text_04 is null
)
and s.nome not in('SABESP','MCADM','FRIGELAR','MCADM_OLD','ACERVO_AREZZO'
,'FRIGAPP','SILOMS','FRIGELAR_DEPRECATED')
ORDER BY C.NOME_GLOBAL;
- USUARIOS DE SISTEMAS NÃO CADASTRADOS
select *
from usuarios_sistemas us
where not exists (select 1 from usuarios u where u.id = us.usuario_id);
- REGISTROS COM IMPLEMENTAÇÃO DUPLICADA
select m.nome_global as "Implementacao duplicada"
, t.nome
, count(i.id)
from componentes m
join componentes i on i.pai_comp_id = m.id
join componentes t on t.id = i.dominio_comp_id
where i.tipo_componente_id = 30
group by m.nome_global, t.nome
having count(i.id) > 1
order by m.nome_global, t.nome
;
- ITENS DUPLICADOS (USAGE INCLUINDO 2X O MESMO ATRIBUTO)
select p.nome_global, a.nome_global, count(1)
from componentes c
join componentes p on p.id = c.pai_comp_id
join componentes a on a.id = c.dominio_comp_id
where c.tipo_componente_id = 24
group by p.nome_global, a.nome_global
having count(1) > 1;
- USUARIOS_SISTEMAS SEM CADASTRO EM PESSOAS
select *
from usuarios_sistemas ussi
where not exists (
select 1
from pessoas p
where p.id = ussi.usuario_id);
- CONTEXTOS DE PROPRIEDADES
select nome_global as propriedade
, valor as tipo_contexto_errado
, data_modificacao
, data_inclusao
from componentes
where tipo_componente_id = 11
and valor not in ('D','M','R','U')
order by data_modificacao desc nulls last
;
update componentes
set valor = case when valor = 'S' then 'D'
when valor is null then 'D'
when valor = 'E' then 'D'
when valor = 'P' then 'R'
else valor end
where tipo_componente_id = 11
and valor not in ('D','M','R','U')
- CAMPOS APONTANDO PARA ITENS INVALIDOS
select c.nome_global as campo
, i.nome_global as item
, tc.tipo_componente as tipo_errado
, tc.id
from componentes c
join componentes t on t.id = c.pai_comp_id
join componentes b on b.id = t.pai_comp_id
join componentes i on i.id = c.dominio_comp_id
join tipos_componentes tc on tc.id = i.tipo_componente_id
where c.tipo_componente_id = 26
and tc.id not in (24,33,32);
select p.nome as "Projeto", e.nome as "Entidade", count(1) as "Repetições"
from componentes e
join componentes r on r.id = e.pai_comp_id
join componentes i on i.dominio_comp_id = r.id and i.tipo_componente_id = 57
join componentes p on p.id = i.pai_comp_id
where e.tipo_componente_id = 13
group by p.nome, e.nome
having count(1) > 1
order by p.nome, e.nome;
select c.nome_global as 'FK com atributo apontando para outra entidade'
from componentes c
join componentes e on e.id = c.pai_comp_id
join componentes a on a.id = c.dominio_comp_id
where c.tipo_componente_id= 37
and a.pai_comp_id <> e.id;
select c.nome_global as "Campos apontando para itens invalidos"
, i.nome_global as item
, tc.tipo_componente as tipo_errado
, tc.id
from componentes c
join componentes t on t.id = c.pai_comp_id
join componentes b on b.id = t.pai_comp_id
join componentes i on i.id = c.dominio_comp_id
join tipos_componentes tc on tc.id = i.tipo_componente_id
where c.tipo_componente_id = 26
and tc.id not in (24,33,32)
;
select nome_global as "Propriedade com contexto incorreto"
, valor as tipo_contexto_errado
, data_modificacao
, data_inclusao
from componentes
where tipo_componente_id = 11
and valor not in ('D','M','R','U')
order by data_modificacao desc nulls last
;
select distinct 'O usuário ' || u.login || ' não está cadastrado como pessoa!'
from usuarios_sistemas ussi
join usuarios u on u.id = ussi.usuario_id
where not exists (
select 1
from pessoas p
where p.id = ussi.usuario_id)
;
select p.nome_global as "Usages incluindo 2x o mesmo atributo"
, a.nome_global, count(1)
from componentes c
join componentes p on p.id = c.pai_comp_id
join componentes a on a.id = c.dominio_comp_id
where c.tipo_componente_id = 24
group by p.nome_global, a.nome_global
having count(1) > 1
;
select m.nome_global as "Implementações duplicadas"
, t.nome
, count(i.id)
from componentes m
join componentes i on i.pai_comp_id = m.id
join componentes t on t.id = i.dominio_comp_id
where i.tipo_componente_id = 30
group by m.nome_global, t.nome
having count(i.id) > 1
order by m.nome_global, t.nome
;