Firebird v1 ReleaseNotes Pt

  • Published on
    05-Dec-2014

  • View
    53

  • Download
    0

Embed Size (px)

Transcript

Firebird Verso 1

Notas de LanamentoMaro de 2002 ndiceIntroduo Compatibilidade com Verses Anteriores Novas Funcionalidades Extenses Linguagem G Novas Palavras Reservadas(Reserved Words) ISQL Funcionalidades Funes Externas (UDFs) G Livraria ib_udf G Livraria BUDF UDF (usando Descriptors) Novos Parmetros de Configurao Melhoramentos no API Notas de Instalao G Windows 32-bit G Linux/UNIX G Solaris G MacOS X G FreeBSD G Driver Pure Java JCA-JDBC XA-Capable G Driver InterClient JDBC Mais Informao Documentao Bugs Corrigidos Problemas Conhecidos

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 1

IntroduoA base de dados Firebird foi desenvolvida por um grupo independente de programadores voluntrios a partir do cdigo fonte do InterBase(tm), disponibilizado pela Borland ao abrigo da InterBase Public License v.1.0 em 25 de Julho de 2000. Esta verso foi compilada a partir de cdigo que foi sujeito a uma extensa limpeza, eliminao de "bugs" e vrias verses "beta", durante o ano que passou entre a disponibilidade do cdigo fonte e esta verso. A On-Disk Structure ainda a ODS 10. Algumas funcionalidades que obrigam a alterar a ODS foram adiadas para uma verso posterior. Uma lista dos bugs que foram eliminados est disponvel neste documento. Foram adicionadas algumas extenses linguagem: o seu sintaxe est patente no captulo Extenses Linguagem neste mesmo documento. Os binrios do Firebird podem ser carregados a partir do domnio FirebirdSQL.org http://www.firebirdSQL.org Refira ao captulo Documentao no final destas Notas de Lanamento para obter a localizao da documentao recomendada.

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 2

Compatibilidade com Verses AnterioresSe est a planear experimentar o Firebird utilizando uma base de dados InterBase existente, com a inteno de posteriormente reverter de novo para InterBase, tome todas as precaues fazendo um "backup" da sua verso actual e trabalhe com o "restore" da mesma para os seus testes. Existiram alteraes na livraria standard ib_udf descritas no captulo Extenses Linguagem. Qualquer base de dados InterBase ser 100% "upwardly" compatvel com este software desde que se sigam as regras normais de migrao de servidores InterBase 4.x ou 5.x (ODS menor que verso 10):G

Criao de uma cpia de segurana TRANSPORTABLE do ficheiro InterBase utilizando a verso do utilitrio gbak (gbak.exe em Windows) que adequado ODS da base de dados existente. Recomenda-se que este ficheiro tenha a extenso ".gbk". Para as verses 4 e 5 de Windows, o utilitrio ibmgr32.exe possui um interface grfico para o gbak.exe no menu em Tasks | Backup. NO utilize este utilitrio para operar sobre uma base de dados Firebird ou InterBase 6 (ODS 10). Se necessrio, a cpia de segurana pode ser zipada e movida por intermdio de um qualquer meio amovvel. No esquea que ficheiros gravados e posteriormente recolhidos de um CD-ROM tero de ter o atributo Read-Only removido. Utilizando a verso do gbak da instalao do Firebird, faa um "restore" da cpia de segurana para a localizao de onde deseja correr a sua base de dados Firebird. Esta directoria dever estar localizada na mesma mquina fsica que o programa ibserver. A sua base de dados est convertida para correr como uma base de dados Firebird com Dialecto 1. O Operations Guide da documentao contm o sintaxe para o utilitrio gbak.

G

G

G

Alguns utilitrios, como o IBConsole, providenciam um interface grfico que permite elaborar/repor cpias de segurana de uma base de dados com ODS 10. O utilitrio recomendado o IBBackup, um binrio freeware de Martin Schmid , que pode ser descarregado a partir de http://www.equitania.de/interbase/downloads/ibBackup.zip. Programas Clientes de Base de Dados (Database Desktop Client Programs) Nos meses que antecederam o lanamento da verso open-source independente Firebird, a comunidade Interbase Borland encerrou os esforos em relao ao desenvolvimento do IBConsole open-source. Os responsveis do IBConsole declinaram qualquer hiptese de aplicar "patches" para suportar todas as correces e novas funcionalidades que o Firebird teve ao longo destes 19 meses de desenvolvimento. Por esta razo, no existe qualquer garantia que toda a funcionalidade do IBConsole funcione com o Firebird. Existem algumas alternativas excelentes que esto indicadas na pgina Contributed Downloads em http://www.ibphoenix.com. Algumas so "open-source", outras so "freeware", e outras so produtos comerciais reconhecidos.

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 3

Dois programas Clientes so recomendados:G

O IB_SQL de Jason Wharton, que est disponvel gratuitamente em http://www.ibobjects.com. Este software providencia uma vasta gama de utilitrios para administrao de base de dados, scripting, data-pumping, nveis de segurana, etc. O IBQuery de Michael Mutl, tambm disponvel gratuitamente, uma caixa de ferramentas SQL com um GUI elegante e um small footprint. Pode ser obtido atravs do Torrys website em http://www.torry.net/apps/utilities/database/mitecibquery.zip.

G

Outros utilitrios gratuitos:G

IBAccess, tambm ele gratuito, desenvolvido com componentes IBX, possui verses quer para Windows quer para Linux. Pode ser obtido em http://www.ibaccess.org/. Entre em contacto com o autor, Toni Martir (o seu endereo electrnico est no web site) se encontrar algum problema de compatibilidade. Trata-se de um projecto open-source sem qualquer afinidade com a Borland, pelo que qualquer incompatibilidade que surja provvel de ser corrigida. O Marathon 2 est neste momento sobre open-source com a tutela de Tilo Muetze. website do projecto em http://www.alanti.net/firebird/marathon/ Veja o

G

Componentes para Delphi/Borland C++Builder Algumas dificuldades podem ser esperadas com a utilizao dos componentes Borland InterBaseXpress (IBX) e DBExpress (DataSnap nas verses 6) para Delphi e C++Builder. tambm muito pouco provvel que a Borland repare ou melhore o seu driver BDE para InterBase 6 de forma a que este suporte a linguagem do Firebird e as suas extenses API. Os utilizadores de Delphi e C++Builder possuem duas alternativas poderosas utilizao do IBX ou BDE, ambas com um excelente suporte do programador:G G

Os IB Objects de Jason Wharton em http://www.ibobjects.com O FIBPLus em http://www.devrace.com

Version Strings para as verses de Firebird As Version strings so mantidas no Firebird 1.0 e retornadas da mesma forma de sempre, i.e.: "LI-V6.2.0.nnn Firebird" (onde nnn indica o numero do build). Desta forma o caminho est aberto para o sistema de conexes mltiplas do futuro Firebird 2:G

O servidor Firebird em modo nativo ir escutar uma porta diferente (provavelmente a 3051) e retornar uma version string da forma "LI-V2.0.0.XXX Firebird". Ir possuir uma opo de compatibilidade onde ir escutar a porta 3050 e retornar uma version string compatvel (possivelmente "LI-V6.2.0.368 Firebird"). Esta string de compatibilidade ir muito provavelmente ser configurvel via definio no Registry ou num ficheiro de configurao.

G

Novos itens no parmetro isc_database_info - isc_vendor_info e isc_info_fb_version - iro permitir a uma aplicao cliente detectar se est conectada a um servidor Firebird ou a um servidor Borland Interbase, e saber a que verso do Firebird.

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 4

InterClient e Conectividade JDBC A equipa do Firebird-Java est a implementar um driver pure Java para o Firebird. Este driver baseado tanto no novo standard JCA para conexes a servidores de aplicaes para enterprise information systems e o bem conhecido standard JDBC. Para detalhes, consulte o captulo de instalao. Verses Linux Todas as verses Linux do Firebird esto compiladas com glibc 2.2. Antigas verses do Linux, como a RH 6.2, Debian etc., necessitaro de um upgrade. Paul Reeves e Pavel Cisar esto a investigar as possibilidades de compilaes com 32-bit I/O tambm funcionarem com glibc 2.1, para que sejam fornecidas como verses adicionais para estas plataformas Linux antigas. Uma client-library para Linux gdslib.so, thread-capable, est includa nos ltimos builds.

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 5

Novas FuncionalidadesMelhor Dependency CheckingUDFs e Generators so neste momento verificados, de forma que no possvel a utilizao do comando drop sobre os mesmos se estes estiverem a ser utilizados por uma procedure ou por uma computed column.

Suporte a Large Database File(Sean Leyne, David Trudgett) Uma base de dados lgica pode ser constituda por um ficheiro primrio e inmeros ficheiros secundrios (O recorde conhecido para uma nica base de dados FB/IB de 980GB!). Porm, esta nova funcionalidade aplica-se apenas a base de dados de apenas um nico ficheiro. O tamanho mximo deste ficheiro envolveu trs factores distintos:G G G

a implementao (em cdigo) no FB/IB de funes I/O o suporte do sistema operativo para operaes de ficheiros de 64-bit os limites do tamanho de ficheiro impostos pelo filesystem

Suporte para Operaes de Ficheiro I/O de 64-bitTodas as verses do Firebird/IB anteriores verso 1.0 do FB (incluindo a verso 6.0 do IB) utilizavam tanto chamadas de 32-bit ao API do Sistema Operativo, assim como estruturas de ponteiros de ficheiros de 32-bit (inteiros). A capacidade do engine estava assim limitada a manusear handles de ficheiros com um tamanho mximo de 4Gb. No cdigo Unix estas estruturas estavam definidas como inteiros (signed), limitando assim as implementaes Unix e Linux a ficheiros de 2Gb. MS Windows By design, todas as verses Win32 (Win9x/ME/NT/2000) possuem suporte completo para 64-bit pointer file operations, desde que a correcta estrutura de file pointer seja passada. Para adicionar o suporte de large file ao Firebird apenas foi necessrio alterar a estrutura de file pointer para LARGE_INTEGER assim como pequenas modificaes nas chamadas I/O. Linux Para Linux, operaes de ficheiros de 64-bit so suportadas com uma verso de glibc 2.2 ou superior, utilizando o novo Kernel. As verses 2.1.3 do glibc contm um suporte limitado (e quebrado) para large files. O Red Hat Linux 7.1 distribudo com glibc verso 2.2.2-10 e foi testado para funcionar com ficheiros maiores que 2Gb (utilizando o ext2 native Linux filesystem, que o filesystem por defeito em todas as distribuies Linux actuais). Genericamente, qualquer distribuio recente do Linux que usa o kernel 2.4, ext2 filesystem, e o glibc 2.2 ou superior, ir suportar ficheiros maiores que o anterior limite mximo de 32-bit/2Gb. Devido ao suporte de ficheiros 64-bit no serem inequvocos nas distribuies Linux e nas plataformas Unix comerciais, as verses Firebird para *nix so disponibilizadas em dois tipos: 32-bit e 64-bit I/O. Escolha a verso que saiba que a sua plataforma possa suportar.

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 6

A exigncia bsica o glibc 2.2 (+ suporte em utilitrios) e o kernel 2.4 kernel (para VFS). Estas condies esto presentes no RH 7.1, MDK 8.0 e SuSE 7.2 assim como novas verses. Mas tome cuidado, porque algumas distribuies do a opo de instalar componentes antigos! Por exemplo, o Mandrake 8.x permite a instalao do Kernel 2.2 na instalao avanada. MacOS X 10.0 O Firebird no suporta MacOS X 10.0 devido em parte ao bug existente nesta verso referente ao suporte para 64 bit I/O. Filesystems Embora o engine possa agora suportar operaes de 64-bit, importante relembrar que nem todos os sistemas de ficheiros suportam large files. No caso do Win32, o tamanho mximo para um ficheiro de: (no confundir com o tamanho mximo de um volume/partio): FAT16 FAT16 FAT32 NTFS para Win9x/ME para WinNT/2000 para Win9x/ME/2000 para WinNT/2000 tamanho mximo de tamanho mximo de tamanho mximo de tamanho mximo de um ficheiro = 2GB - 1byte um ficheiro = 4GB - 1byte um ficheiro = 4GB - 1byte um ficheiro = 16,384GB - 1byte

Em Linux e Unix, existem diversos filesystems, pelo que aconselhamos a consulta deste URL para obter mais detalhes: http://www.suse.de/~aj/linux_lfs.html. As boas notcias so que todas as distribuies Linux mais conhecidas utilizam o ext2 filesystem, que suporta large files. Importa em: 1. Utilizar o kernel 2.4 ou seguintes 2. Utilizar glibc 2.2 ou seguintes 3. Utilizar ext2 filesystem, ou outro filesystem que suporta o interface Kernel LFS (large file system). (David Trudgett) 4. Dever funcionar tambm em ReiserFS e Ext3 (mas no foi verificado). (Pavel Cisar)

Adicionado o Suporte para pages de 16kbTanto as rotinas do engine como as do GBAK foram alteradas de forma a permitir um PAGE_SIZE maior que o prvio limite de 8Kb. Aumentando o limite de tamanho de uma pgina aumenta-se as opes para melhoria de performance em determinado hardware.

Win32 Forced Writes Default = ONA partir da verso 6.0 do IB 6.0, o parmetro FORCED WRITES para bases de dados novas, sobre Win32, foi alterado para por defeito ser OFF, para melhorar a performance da base de dados custa da integridade/recuperao da base de dados. Este parmetro foi de novo revertido para o valor ON. Um problema que reportava o erro "bad connection string", que impedia de alterar o forced writes em modo multi-utilizador foi tambm resolvido.

Firebird 1.0 Notas de Lanamento 16 Maro 2002

Pag 7

Aumentado o limite do nmero de Tabelas Externas abertas em simultneo (NT)O limite formal do numero de tabelas externas que podem ser utilizadas em simultneo no NT o numero de fopens por defeito permitidos menos alguns ficheiros, ou seja, cerca de 510. Esta alterao faz o Firebird alterar o numero de fopens do NT para o mximo permitido pelo Sistema Operativo, 2048. O limite actual do numero de Tabelas Externas que podem ser abertas em simultneo nunca foi testado, mas acredita-se que esteja em cerca de 2040, dependendo do nmero de Bases de Dados abertas, do nmero de ficheiros por Base de Dados, etc.

Os ficheiros externos so agora fechados quando a tabela externa droppedUma pequena alterao ao mdulo Deferred Work Handler (dfw.e) permite que o ficheiro externo seja encerrado (closed) quando a tabela externa que est anexada a este dropped. Isto liberta-nos do estranho problema que se via ao elaborar drop da tabela e no se conseguir apagar o ficheiro externo sem primeiro encerrar o servidor.

Especificar a Porta na String de conexoFuncionalidade id 1468, SF ID 447400 A possibilidade de indicar a porta de conexo uma nova funcionalidade do Firebird. Para conectar a uma porta que no a standard 3050, dever indicar o nmero da porta na string de conexo. O sintaxe o seguinte: Win32:Servidor/Porta:Disco:\Directoria\Database.gdb

Linux e outros servidores Unix:Servidor/Porta:/device/Directoria/Database.gdb

Repare na utilizao do / e no : entre o nome do servidor e da porta. Os : so necessrios antes da string que define a path para a base de dados.

A Conexo feita por defeito na Porta 3050O Cliente e o Servidor utilizam a porta TCP 3050 se nenhuma entrada estiver explicita no ficheiro Services. Isto pretende resolver um problema comum de instalao.

GBAK tem uma nova opo - COUNTER - quando em modo -V(erbose)O modo...