[firebase-br] RES: Domains X Performance
Denis (Listas)
ministeriokairos em yahoo.com.br
Qui Ago 24 16:11:11 -03 2006
Pessoal,
Aproveitando o assunto:
Após uma boa arrumação no meu Banco, muitos campos tiveram Domains
redefinidos de forma correta.
Assim ficaram mais de 500 Domains sem uso (daqueles que o próprio Firebird
cria após definir um campo).
Daí eu usei a seguinte instrução para excluí-los:
Delete from RDB$FIELDS A
where (select count(*) from RDB$RELATION_FIELDS B
where B.RDB$FIELD_SOURCE = A.RDB$FIELD_NAME) = 0
Beleza. Todos os Domains que não tinham nenhuma ligação com algum campo de
"Tabelas" foram excluídos.
Só que os parâmetros e variáveis de "StoredProcedures" também são sefinidos
por Domains.
Daí acabei detonando também os "Tipos" dos parâmetros das SPs. :-(
Então, imagino que a solução seja esta:
Delete from RDB$FIELDS A
where (select count(*) from RDB$RELATION_FIELDS B
where B.RDB$FIELD_SOURCE = A.RDB$FIELD_NAME) = 0 and (select count(*)
from RDB$PROCEDURE_PARAMETERS C
where C.RDB$FIELD_SOURCE = A.RDB$FIELD_NAME) = 0
Assim preservo os Domains usados em "tabelas" e em "Procedures".
Daí a dúvida:
Existe algum outro possível "lugar" onde os Domains são usados e também
devem ser preservados?
Ou a solução acima resolve e não vai gerar problemas?
Por exemplo: Triggers também usam Domains? Se sim como preserva-los?
[ ]'s
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
Denis da Silva Guerra
São José do Vale do Rio Preto - RJ
denisdsguerra em gmail.com
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
Mais detalhes sobre a lista de discussão lista