Evolutions de Firebird 1.5, à comparer avec Interbase 7

Le SGBD Open Source Firebird, et la version 7 d'Interbase représentent la première version divergente depuis la base de code commune héritée du code source d'Interbase 6 / Firebird 1.0. Les principales différences résultant du fork sont les suivantes:

  • Initialement prévue comme un "simple" portage de la version 1.0 devant permettre une compilation en C++, la version 1.5 est allée bien au-delà.
  • Objectifs:
    • Changements mineurs dans la structure disque (ODS : On Disk Structure)
    • Interface 100% compatible avec IB v6.0
    • Compatibilité ascendante à 100% avec IB v6.0 ou antérieur (98% avec IB v6.5)
    • Premiers pas vers la possibilité d'une coexistence pacifique (side-by-side install) avec IB
    • Nouveau nom du serveur (FBServer.exe)
    • Nouveau nom du client (FBClient.dll)
    • Nouvelle version transparente (passthrough) de GDS32.DLL pour la compatibilité descendante

v1.5 - Calendrier de publication

  • Alpha 1 : 29/11/2002
  • Alpha 5 : 05/12/2002
  • Beta 1 : Initialement prévue pour le 15/01/03
  • Version finale: Prévue pour le début du deuxième trimestre 2003

v1.5 - Nouvelles caractéristiques du moteur

  • Alias de bases de données côté serveur
    • Chaîne de connexion: Serveur:Alias
  • Base de sécurité renommée d'ISC4.GDB en xxx.fdb
  • Nouvelle extension par défaut des noms de fichiers: .fdb
  • Nouveau gestionnaire de greffons (plug-ins)
  • Nouvelle interface INTL
  • Nouveau gestionnaire de configuration de serveur
    • Firebird.conf remplace IBConfig
  • Tri en mémoire
  • Utilisation de la mémoire disponible pour réduire/éliminer les E/S disque
  • Nouveau gestionnaire de mémoire
    • Implémentation totalement nouvelle
  • Protocole XNET pour les versions Win32 SuperServer
    • Utilisation d'un espace mémoire partagé pour les échanges de données
    • Accès aux données sensiblement plus rapide - idéal pour la cohabitation d'un serveur d'application (MIDAS) et d'un serveur Web avec la base de données sur un même serveur
    • Remplace les connexions de boucle mémoire (par ex.: localhost:xxx)
  • Architecture "Classic" disponible sur Win32
    • Meilleurs adaptation aux multiprocesseurs symétriques (SMP)

v1.5 - Nouvelles caractéristiques SQL (1)

SQL de base

  • Support de la fonction CASE
  • Support de la fonction COALESCE
  • Support de la fonction NULLIF
  • Support de la fonction GROUP BY
    • Par fonction
    • Par sous-requête
    • Par alias de colonne
    • Par ordinal (numéro de colonne)
  • ORDER BY utilisable avec des expression quelconques
  • Support de SELECT FIRST x et ORDER BY pour les sous-sélections
  • Instruction RECREATE VIEW
  • Tri des NULL selon la norme SQL92
  • Possibilité de nommer explicitement les index de contraintes
    • Les noms d'index de contraintes sont soit basés sur le nom de la contrainte, soit définis par l'utilisateur
  • Verrouillage explicite dans les instructions SELECT :
    • SELECT … FOR UPDATE WITH LOCK
  • Instruction EXECUTE STATEMENT :
    • EXECUTE STATEMENT …
  • BOOLEAN défini comme alias de SMALLINT
  • BIGINT défini comme alias de NUMERIC (18, 0)

Procédures stockées et déclencheurs

  • Points de sauvegarde (savepoints)
    • SAVEPOINT point_de_sauvegarde ;
    • ROLLBACK [WORK] TO [SAVEPOINT] point_de_sauvegarde ;
    • Syntaxe CREATE ou ALTER
  • Déclencheurs universels:
    • CREATE TRIGGER mon_declencheur FOR ma_table BEFORE INSERT OR UPDATE …
  • Déclaration des variables améliores:
    • DECLARE [VARIABLE] nom <type_de_variable> [{'=' | DEFAULT} valeur];
  • Sémantique de réinitialisation pour les exceptions (par ex. Throw)
  • Support des blocs BEGIN … END vides.
  • Nouvelles variables système:
    • ROWS_AFFECTED
    • TRANSACTION_ID
    • CONNECTION_ID
    • SQLCODE
    • GDSCODE

v1.5 - Améliorations

  • Améliorations de l'optimiseur:
    • Meilleur traitement des nœuds AND à l'intérieur d'un nœud OR
    • Meilleure support de l'utilisation des index dans les OR. Sélection du meilleur index composite parmi tous les nœuds AND.
    • Support de la détection d'index utilisables pour les sous-sélections dans une sélection d'agrégat
    • Possibilité pour les sous-sélections d'utiliser un indice lorsque leur parent est une procédure stockée
  • Planificateur de fils d'exécution en SuperServer, pour un meilleur "partage"
  • Nouveaux index système pour accroître la performance de compilation des instructions
  • Compilation différée des métadonnées:
    • Résoud la plupart des cas d'occurrence de l'erreurs OBJECT IN USE
  • Suppression de la limite de 64 index par table :
    • La limite dépend dorénavant de la taille de page de la base de données

v1.5 - Corrections d'erreurs

  • LEFT JOIN renvoyait des résultats incorrects
  • 3 dépassements de tampon mémoire
  • Blocages du balayge automatique / d'arrière-plan
  • Faille de sécurité des métadonnées
  • Un grand nombre d'autres bogues

v1.5 - Divers

  • Compilation Win32 avec l'environnement Open Source MinGW
  • Nouvelle configuration des constructions par autoconf
  • Ajout d'un historique des commandes à ISQL pour Linux
  • Utilisation par le code de la technique des exceptions pour les erreurs
  • Abandon du support IPX/SPX
  • Suppression des plateformes historiques : Apollo, Cray, NeXT, NetWare, MS-DOS, Windows 4.1, WFW

Hormis l'introduction, cet article est la traduction du document d'annonce de Firebird 1.5, sous licence IPL et traduit par OSInet. Il est également placé sous licence IPL.


Get started with Drupal 7

Marques les plus citées

toutes les marques

acheter sur OSInet

Accès direct

Recherche

Le mot du jour

BSOD

Blue Screen Of Death

in | |

cf Ecran bleu 

Syndiquer le contenu

Dernières définitions

Chrome - Chromium - digitaalisen kuilun - ghetto sharding - HTTP - MongoDB - PNaCl - QUIC - Skia - SPDY

Un mot au hasard

deep link : lien profond  

Alertes CERTA