(Parte 3 de 13)

Configuração ibconfig firebird.conf

WindowsLocal IPC portInterBaseAPIFirebirdAPICom as configurações padrões não é possível estabelecer conexões locais com a versão anterior da biblioteca cliente (gds32.dll). Se necessário, o servidor pode ser configurado para usar o nome antigo do mapa IPC, via firebird.conf.

Windows “Registry key”

Padrão

HKLM\SOFTWARE\ Borland\InterBase HKLM\SOFTWAR E\Firebird Proje ct\Firebird Serv er\Instances

O diretório é armazenado no parâmetro "De faultInstance". i.e., não existe mais a chave "CurrentVersion", e a chave "RootDiretory" foi substituída por "DefaultInstance".

No Windows os novos nomes dos serviços são “Firebird Guardian – DefaultInstance” e “Firebird Server – DefaultInstance”.

v.1.08 Notas da Versão Firebird 1.5 08 fevereiro 2004 Página 7

Compatibilidade

Estrutura Em Disco ((On--Disk structure -- ODS))

A Estrutura Em Disco do Firebird 1.5 foi designada como 10.1. Esta pequena atualização do ODS foi necessária pelos seguintes motivos :

- Três novos índices nas tabelas de sistema - Pequenas alterações no BLR de dois triggers de sistema

- Melhorias na codificação do RDB$TRIGGER_TYPE.

Algumas outras novas funcionalidades que requerem alterações na ODS foram adiadas para a versão 2. Até lá, será possível transportar diretamente bases de dados Firebird 1.0.x. Tenha uma cópia testada das bases Firebird 1.0.x antes de transferi-las para um servidor 1.5.

Base de Dados IInntteerrBase™™

Caso queira “brincar” com o Firebird usando uma base de dados InterBase, e pretenda reverter a base para o Interbase mais tarde, faça um backup utilizando a versão correspondente do gbak do Interbase. Para começar a trabalhar com o Firebird 1.5, utilize o gbak deste para fazer o restore do seu backup. O “Operations Guide” da Documentação do InterBase® 6.0 beta contém a sintaxe dos comandos do utilitário gbak para backup e restore.

As bases de dados do IB 7.x e provavelmente do IB 6.5 poderão trabalhar incorretamente depois de migradas para o FB 1.5 via backup/restore, se algumas das novas funcionalidades específicas do IB tiverem sido utilizadas.

Local e NNoommess dde Arquivo

Nesta versão, uma quantidade substancial de arquivos foi renomeada, fruto do trabalho da substituição de nomes herdados pelo InterBase® 6. Leia a secção de Local e Nomes de Arquivos para obter as descrições e algumas recomendações.

ExecuçãoSimultânea de Servidores

As alterações efetuadas nos nomes dos objetos de sistema permitem que o Firebird 1.5 seja instalado e utilizado numa máquina que possua o InterBase ou o Firebird 1.0.x instalado. No Windows, o FB 1.5 ainda usa outra chave de registro. Se o servidor for configurado para usar outras portas de rede, é possível executar várias instâncias do servidor simultaneamente, ou executar a versão 1.5 ao concorrentemente com o IB ou o FB 1.0.x.

Voltando ao Firebird 1..0..x

Devido ao enorme número de erros resolvidos, o comportamento da base de dados pode variar se for feito um “downgrade” de uma base v.1.5 para v.1.0.x. Concretamente, caso sejam criadas chaves primárias, únicas ou estrangeiras como “constraints”, os valores padrões dos nomes dos índices serão incompatíveis com a v.1.0.x. Serão publicados arquivos README detalhando estes casos, na medida em que eles ocorrerem.

Compatibilidades em Linux

Devido a um histórico de problemas envolvendo o compilador GNU C++, as versões de Linux do Firebird 1.5 requerem versões glibc superiores às que eram usadas anteriormente. Isto faz com que, infelizmente, estejamos num período em que é difícil prever que distribuições Linux poderão instalar e v.1.08 Notas da Versão Firebird 1.5 08 fevereiro 2004 Página 8 executar a versão 1.5. O quadro abaixo pode ser usado como referência. Porém, agradecemos toda a informações que possam ser fornecidas. Por favor, compartilhe a sua experiência com estas e outras distribuições linux no forum firebird-devel.

Distribuição Nível Classic Superserver

Red Hat7.xNãoNão 8.0 Sim Sim

Mandrake 8.x Não Não 9.0, 9.1, 9.2SimSim

SuSE7.3Sim – pacotes de instalação libgcc-3.2-4.i586.rpm & libstdc++-3.2-4.i586.rpm antes de instalar o Firebird 1.5.

Desconhecido v.1.08 Notas da Versão Firebird 1.5 08 fevereiro 2004 Página 9

Extensões à Linguagem

BIGINT Tipo numérico inteiro de 64 bits, compatível SQL99, sinalizado e de escala zero. Disponível apenas no dialeto 3.

Exemplo (s) i) DECLARE VARIABLE VAR1 BIGINT; i) CREATE TABLE TABLE1 (FIELD1 BIGINT);

(1.5) Melhorias a “named constraints” Dmitry Yemanov

Os índices que forçam “named constraints” podem agora ter um nome atribuído, com identificadores definidos pelo usuário.

Em versões anteriores, embora fosse possível atribuir um nome a “constraints” do tipo PRIMARY, FOREIGN KEY e UNIQUE, o identificador do índice gerado automaticamente era definido pelo sistema, p.ex. RDB$FOREIGN13 e não podia ser alterado. Esta continua a ser a regra quando esta nova funcionalidade não é utilizada.

Porém, foram adicionadas extensões à linguagem para permitir que : a) um índice gerado automaticamente pelo sistema receber automaticamente como identificador o mesmo nome que a “constraint” que ele força. b) um índice que força uma “constraint”, com ou sem nome, possua ele mesmo um nome atribuído por um identificador e opcionalmente ser construído em ordem descendente. NOTA: Não é ainda possível utilizar um índice pré-existente.

Sintaxe ... [ADD] CONSTRAINT [<identificador-da-constraint>] <tipo-de-constraint > <definição-de-constraint> [USING [ASC[ENDING] | DESC[ENDING]] INDEX <nome_do_indice>]

Aviso: Tem que garantir que os índices “foreign key” e “primary key” usam o mesmo tipo de ordenação (DESC | ASC).

Exemplos i) “Named constraint” e atribuição de nome ao índice v.1.08 Notas da Versão Firebird 1.5 08 fevereiro 2004 Página 10

CREATE TABLE ATEST ( ID BIGINT NOT NULL, DATA VARCHAR(10)); COMMIT;

A declaração seguinte irá criar uma “primary key constraint” com o nome PK_ATEST e um índice, descendente, com o nome IDX_PK_ATEST:

i)Uma alternativa a i) seria:

CREATE TABLE ATEST ( ID BIGINT NOT NULL, DATA VARCHAR(10), CONSTRAINT PK_ATEST PRIMARY KEY(ID) USING DESC INDEX IDX_PK_ATEST; i) Esta declaração cria a tabela ATEST com uma primary key PK_ATEST. O índice correspondente terá o mesmo nome: PK_ATEST.

CREATE TABLE ATEST ( ID BIGINT NOT NULL, DATA VARCHAR(10), CONSTRAINT PK_ATEST PRIMARY KEY(ID));

(1.5) Triggers de Multi Ações Dmitry Yemanov

Os Triggers foram melhorados para permitir o uso condicional em várias operações.

Sintaxe

CREATE TRIGGER nome FOR tabela [ATIVE | INATIVE] {BEFORE | AFTER} <ação múltipla > [POSITION número] AS Corpo_do_Trigger

<ação múltipla> ::= <ação simples> [OR <ação simples> [OR <ação simples>]] <ação simples> ::= {INSERT | UPDATE | DELETE}

Exemplos i) CREATE TRIGGER TRIGGER1 FOR TABLE1 [ATIVE] BEFORE INSERT OR UPDATE AS ...; i) CREATE TRIGGER TRIGGER2 FOR TABLE2 [ATIVE] AFTER INSERT OR UPDATE OR DELETE AS ...; v.1.08 Notas da Versão Firebird 1.5 08 fevereiro 2004 Página 1

Alteração do ODS

(Parte 3 de 13)

Comentários