IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La première version admissible de Firebird 4.0 est disponible avec la syntaxe du SQL standard pour les décalages de fuseau horaire,
Et des corrections de bogues

Le , par Bruno

61PARTAGES

13  0 
Les responsables du projet Firebird annoncent la première version admissible, la première release candidate (RC1), de Firebird 4.0. Cette version du SGBDR (Système de Gestion des Bases de Données Relationnelles) Firebird est maintenant disponible pour des tests sur les plateformes Windows et Linux.

En février de l’année dernière, plus d'un an après la sortie de la version Alpha 1, les responsables du projet Firebird ont annoncé la disponibilité de la version bêta 1 de Firebird 4.0. La version admissible annoncée le 1er février de cette année apporte des nouvelles fonctionnalités et corrige des bogues. Dans un document intitulé « Firebird 4.0 Release Notes, for Firebird 4.0 Release Candidate 1 », les développeurs principaux de Firebird, Helen Borrie et Dmitry Yemanov ont passé en revue toutes les améliorations. Voici ci-dessous un aperçu de quelques-unes de ces améliorations.


Les nouveautés

Syntaxe du SQL standard pour les décalages de fuseau horaire : le décalage du fuseau horaire dans l'horodatage, CAST, SET TIME ZONE et AT TIME ZONE suit désormais uniquement la syntaxe du SQL standard.

Instruction ALTER SESSION RESET : une nouvelle commande pour réinitialiser l'environnement de session utilisateur à son état initial. Elle peut être utile pour la réutilisation de la session par une application cliente. Pour pouvoir réutiliser une session, toutes les variables du contexte utilisateur et le contenu des tables temporaires doivent être effacés et tous les paramètres au niveau de la session doivent être réinitialisés à leurs valeurs par défaut. La syntaxe pour y parvenir est : ALTER SESSION RESET.

Nouvelle table virtuelle RDB$CONFIG : une table virtuelle énumérant les paramètres de configuration actuels pour la base de données active. La table RDB$CONFIG est alimenté à partir des structures en mémoire sur demande et son instance est préservée pour la durée de vie de la requête SQL. Pour des raisons de sécurité, l'accès à cette table est uniquement autorisé à SYSDBA/OWNER. Les utilisateurs non privilégiés ne voient aucune ligne dans cette table et aucune erreur n'est signalée.

Possibilité de récupérer l'identifiant de la pièce jointe et de l’instruction suivante : les compteurs représentant l'identifiant de la pièce jointe suivant et l'identifiant de l’instruction suivante sont accessibles via la Table MON$DATABASE et appel de l'API Attachment::getInfo().

Meilleur rapport d'erreur pour les commandes de gestion des utilisateurs : un message explicite concernant le mot de passe manquant est maintenant généré pour les instructions CREATE [OR ALTER] USER.

Compatibilité avec les anciennes versions

  • Dépréciation de l'ancien dialecte SQL 1 : les développeurs de Firebird indiquent qu’à partir de Firebird 4, le dialecte 1 est déclaré obsolète. Son support sera supprimé à l'avenir et le dialecte 3 deviendra le seul dialecte pris en charge ;
  • Cohérence de lecture pour les transactions READ COMMITTED utilisées par défaut : Firebird 4 introduit non seulement la cohérence de lecture pour les déclarations dans les transactions validées en lecture, mais en fait également un mode par défaut pour toutes les transactions READ COMMITTED, indépendamment des propriétés RECORD VERSION ou NO RECORD VERSION ;
  • Dépréciation des fonctions externes définies par l'utilisateur (UDF) : les fonctions externes (UDF) sont obsolètes et ne sont plus prises en charge dans Firebird 4. Les UDF ne peuvent plus être utilisées avec la configuration par défaut, où le paramètre UdfAccess dans firebird.conf est réglé sur None et les librairies UDF ib_udf et fbudf sont retirées de la distribution ;
  • Changements dans les DDL et DML : la prise en charge des fuseaux horaires introduit certains changements dans les DDL (Data Definition Language ou langage de définition de données) et DML (Data Manipulation Language ou langage de manipulation de données) qui pourraient affecter la compatibilité avec les bases de données et les applications existantes ;
  • Modification des types de données TIMESTAMP et TIME : la syntaxe pour déclarer les types de données TIMESTAMP et TIME a été étendue pour inclure des arguments définir si la colonne, le domaine, le paramètre ou la variable doivent être définis avec ou sans les ajustements de fuseau horaire, c'est-à-dire : TIME [ { WITHOUT | WITH } TIME ZONE ], TIMESTAMP [ { WITHOUT | WITH } TIME ZONE ]. Dans les deux cas, la valeur par défaut est WITHOUT TIME ZONE ;
  • Valeur de départ des séquences : avant Firebird 4.0, une séquence était créée avec sa valeur en cours fixée à sa valeur de départ (ou zéro par défaut). Maintenant, une séquence est créée avec sa valeur en cours définie sur sa valeur de départ moins l’incrément.

Corrections de bogues

Voici quelques corrections de bogues qui ont été apportées depuis la version bêta 2 :
  • fuite de mémoire lors de l'exécution de EXECUTE STATEMENT avec des paramètres nommés ;
  • ordre d'octet erroné pour les UUID déclarés par le GSTAT et les tables de suivi ;
  • le plugin Srp maintient la connexion après la suppression de la base de données pendant environ 10 secondes ;
  • les espaces comme séparateur de date entraînent une erreur de conversion ;
  • le paramètre dans les fonctions LAG, LEAD, NTH_VALUE nécessite un cast explicite en BIGINT ou INTEGER ;
  • la troncature des chaînes de caractères à mettre dans les tables MON$ ne fonctionne pas correctement ;
  • le jeu de caractères est utilisé et la valeur par défaut est plus longue que la longueur de la colonne ;
  • l'erreur "expected length N, actual M" contient une valeur incorrecte de M lorsque le jeu de caractères UTF-8 est utilisé dans la déclaration de champ.

Selon les auteurs de cette note, les versions admissibles sont généralement considérées comme suffisamment stables et peuvent être recommandées pour des tests dans des environnements proches des environnements de production. Les responsables du projet open source Firebird invitent les utilisateurs à faire des tests et à partager leur retour d'expérience dans les listes de diffusion.

Source : Firebird

Et vous ?

Utilisez-vous le SGBDR open source Firebird ?

Que pensez-vous des améliorations apportées au SGBDR Firebird ?

Voir aussi

Firebird 4.0 : la première version Alpha est disponible pour les tests, quelles sont les fonctionnalités de la prochaine version majeure du SGBDR ?

La Bêta 1 du SGBDR Firebird 4.0 est disponible pour les tests, toutes les fonctionnalités obligatoires pour cette version majeure sont finalisées

La version 3.0 du SGBDR open source Firebird disponible : architecture unifiée et support amélioré pour SMP et les plateformes multicœurs

France : quels sont les logiciels libres que l'État recommande en 2019 ? La liste des logiciels conseillés publiée officiellement avec le SILL 2019

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de
https://www.developpez.com
Le 04/06/2021 à 16:18
Plusieurs de nos clients avaient des problèmes avec SQL Server Express, au comportement erratique. On leur a proposé une migration de leurs outils vers Firebird, et ils en sont très satisfaits.
10  2 
Avatar de Christ D
Membre régulier https://www.developpez.com
Le 11/06/2021 à 21:21
25 ans d'expérience en SQL, je pratique Firebird depuis sa 1ère version et avant, j'ai connu Interbase 6.0

Ayant pratiqué DB2 sur MVS, DB2UDB, Oracle, SQL Serveur, MySQL, Interbase, Firebird et PostGre

Excepté en cas de très gros volumes de données , ma préférence va et de loin à Firebird.

Firebird s'installe en 5 minutes, une configuration "pointue" est rarement nécessaire et si elle l'est elle se fait aisément.
FireBird et Interbase disposent des procédures stockées depuis très très longtemps, bien avant MySQL.

Il est impossible sur Firebird de créer une procédure stockée contenant une erreur SQL (un colonne absente d'une table).
Il est impossible sur Firebird de supprimer par erreur un objet référencé par un autre.

Un backup est rapide , une restauration, tout autant.

J'ai pu comparer les performances sur un même soft entre une version sur MySQL et une version sur Firebird avec les mêmes tables, les mêmes indexes : Firebird l'emporte haut la main jusque des volumes importants avant de se faire dépasser.
Firebird/Interbase est SQL-COMPLIANT a presque 100% : pas de fonctions ou codes "spécifique" qui ne soit pas portable sur un autre SGBD.

Et pour couronner le tout, nous avons des applications qui utilisent des procédures stockées en cascade pour les mise à jour développées initialement sous Firebird 1.0.
La base de données a été migrée au fur et à mesure (aujourd'hui en Firebird 3.4) par un simple backup/restore et aucune modification de code n'a été nécessaire !

En 20 ans d'exploitation 7/7, H24 de dizaines de base de données clientes sous Firebird, nous n'avons jamais connus aucune altération de données !
Et ce, malgré de grosses migrations (d'OS, de version d'OS, de version de Firebird etc...)

Alors que la migration de MySQL 5.6 aux suivantes a été un enfer. Qu'aujourd'hui, une installation form sratch de MySQL et sa configuration n'a rien d'évident et cela change presque à chaque version. Par défaut, une petite base de données MySQL nous fait un processus qui squatte 1Go de RAM (sauf à configurer finement MySQL) tandis que sur Firebird, le process occupe 10 fois moins de mémoire !

Et parlons des outils : MySQL Workbench est une vrai usine à bugs inutilisable sans écran Full HD (des boutons essentiels sont cachés en faible résolution). Alors que Flamerobin ou EMS Firebird font très bien le job sans bugs. Pire, ils contiennent par défaut les outils affichant les dépendances des objects DDL ce que MySQL ne sait pas faire !!! Il faut faire une requête à la main !

Evidement il y a DB2 ou Oracle et Embarcadero Rapid SQL mais là, c'est un autre monde où le ticket d'entrée n'est pas donné pour une PME/TPE.

Je ne reproche que 3 choses à Firebird :
- le peu de fonctions internes disponibles (compensées par la possibilité de développer des fonctions externes en C ou en Pascal)
- les difficultés à débuguer les fonctions externes qu'on a personnalisé.
- le fait que la base de données des utilisateurs soit centralisée.
8  0 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 15/02/2021 à 14:52
Citation Envoyé par DarkVenoM Voir le message
Est-ce que vous voyez d'autres avantages de Firebird par rapport à des SGBD "plus puissants" ?
facile a mettre en oeuvre et à administrer, possibilité de l'embarquer dans une application
7  0 
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 17/02/2021 à 17:12
Citation Envoyé par Delphiste Voir le message
Firebird n'a qu'un défaut, se faire désinstaller à chaque mise à jour majeure de Windows 10.
J'ai un w10 depuis sa sortie ou presque, j'ai même changé d'un version Home à une version entreprise, Firebird n'a jamais été désinstallé par une mise à jour de W10 et dieu sait que j'en ai subi
5  0 
Avatar de Artemus24
Expert éminent sénior https://www.developpez.com
Le 17/02/2021 à 23:41
Salut à tous.

Citation Envoyé par Delphiste
Firebird n'a qu'un défaut, se faire désinstaller à chaque mise à jour majeur de Windows 10.
Es tu certain de cela ?
Car j'ai firebird sur mon ordinateur windows 10, et il ne s'est jamais désinstallé durant une mise à jour de windows.

@+
5  0 
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 17/02/2021 à 19:29
Via l'installateur, le superclassique, en tant que service
3  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 04/06/2021 à 17:31
Le gros avantage de Firebird, en sus de sa gratuité, c'est qu'il est assez "léger" pour être distribué facilement avec des applications, et que d'autre part il ne demande pas spécialement de maintenance.

Donc très bien en base de donnée embarquée dans des applications.
4  1 
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 04/06/2021 à 17:32
De mon côté, je suis en train de tester la version Firebird 4.0 pour Android suivant cet article
https://sourceforge.net/p/zeoslib/wi...0on%20Android/
malheureusement je bute à la connection , un problème de déploiement probable

@Pierre Louis Chevalier Il y a aussi le fait que ce soit un vrai open source, c'est loin d'être négligeable
3  0 
Avatar de DarkVenoM
Membre du Club https://www.developpez.com
Le 15/02/2021 à 12:00
Citation Envoyé par vanquish Voir le message
Firebird présente quelques avantages sur d'autres SGBD pourtant plus puissant.
Est-ce que vous voyez d'autres avantages de Firebird par rapport à des SGBD "plus puissants" ?
2  0 
Avatar de Delphiste
Futur Membre du Club https://www.developpez.com
Le 17/02/2021 à 17:01
Firebird n'a qu'un défaut, se faire désinstaller à chaque mise à jour majeur de Windows 10.
2  0