Usuários: 68176
Artigos: 189
Dicas: 128
Downloads: 286
19.05.12
0x000001f000000080
História do site História do site História do site

Erratas - Livro "Firebird 2"

Página Descrição da errata Postado
265 O texto da caixa "Modo multi - padrão do Firebird 1.x" está incorreto. O comportamento do modo de shutdown no Firebird 1.x e no modo multi do Firebird 2.0 é que mesmo quando o banco de dados está em estado de shutdown, o dono do banco ou o SYSDBA pode se conectar a ele sem qualquer problema, inclusive abrindo várias conexões simultâneas. 08/Ago/06
162

O exemplo correto para a função LOWER é:
select LOWER ('MAÇÃ') from rdb$database;

05/Maio/08
285 O item sobre "Next Transaction" menciona que o sweep automatico é disparado quando a diferença entre a NT e a OIT ultrapassa o valor definido. O correto é a diferença entre a OST - OIT. OST = Oldest Snapshot Transaction, OIT = Oldest Interesting Transaction. 05/Maio/08 - Upd: 27/Maio/10
159 Na função EXTRACT, o livro diz que o parâmetro WEEKDAY retorna 1 para o Domingo. Na verdade, Domingo é retornado como 0 (zero), Segunda =1, etc. 19/Jan/09
179

O exemplo apresentado para logar uma exceção está incorreto.

Se a intenção é fazer um LOG da exceção que ocorreu, gravando-o em uma tabela do banco, obviamente não podemos dar um re-raise na exceção, pois o insert do log seria desfeito (rollback).

No caso, se a idéia é interromper a execução da procedure, então ao invés de dar um re-raise, use o EXIT.

Segue um exemplo:

CREATE PROCEDURE TESTE
as
declare variable a numeric(15,2);
declare variable x numeric(15,2);
begin
  insert into tab1 (campo) values ('insert normal');
  a = 0;
  x = 1 / a; -- forca dar um erro (divisao por zero)
  when any do
  begin
    insert into LOG (mensagem) values ('ERRO ao executar procedure blablabla'); -- loga o problema na tabela LOG
    /* exception; <- Nao podemos dar um re-raise, pois cancelaria o insert na tabela de log */
    exit; -- sai da procedure. O insert em tab1 nao sera gravado por causa da exceção que ocorreu
  end
end
04/Fev/09
Encontrou algum erro/falha no livro? Envie um email para que possamos publicar aqui.


Copyright (C) Carlos H. Cantu - É proibida a reprodução de qualquer material desse site sem autorização prévia