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 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

Le , par Michael Guilloux

328PARTAGES

20  1 
Le projet Firebird vient d'annoncer la disponibilité de la Beta 1 de Firebird 4.0 (la prochaine version majeure de la base de données relationnelle Firebird) pour les tests, plus d'un an après la sortie de la version Alpha 1. Notons que pour le développement de Firebird 4.0, il existe des fonctionnalités obligatoires et des fonctionnalités optionnelles. Les fonctionnalités obligatoires sont celles sans lesquelles cette version ne peut être publiée. Elles sont donc développées avec la plus haute priorité. En ce qui concerne les fonctionnalités optionnelles, elles sont développées après les premières et peuvent être reportées si leur finalisation n'est pas possible avant la date de publication de la version stable.

En plus de la pratique habituelle de corriger de nombreux bogues, la bêta 1 de Firebird 4.0 marque une étape importante vers la version stable, car toutes les fonctionnalités obligatoires ont été finalisées.

Les fonctionnalités obligatoires

Firebird 4.0 va enfin se doter d'une réplication intégrée. Tous les grands projets et projets d'entreprise ont besoin d'un service de réplication. C'est d'ailleurs l'un des critères à vérifier lorsqu'un architecte logiciel doit choisir une base de données pour son prochain projet. Certes, il existe des outils tiers pour faire cela dans Firebird, mais le SGBDR n'a pas de fonctionnalité de réplication intégrée. Certains développeurs ont rapporté que la réplication était le principal problème rencontré avec Firebird et que pour cette raison beaucoup de clients sont passés de Firebird à des alternatives comme MySQL, même si celles-ci n'étaient pas forcément meilleures. Cette fonctionnalité est désormais disponible dans la bêta 1 de Firebird 4.0.

On notera aussi dans cette version une amélioration de la restauration incrémentielle via nbackup. Il s'agit ici d'emprunter l'expérience d'IB2007 (InterBase 2007) et améliorer les fonctionnalités de nbackup, un utilitaire de sauvegarde livré avec Firebird 2.0. Actuellement, il n'est pas possible de prendre la sauvegarde de niveau 0 et y placer l'incrément de niveau 1 (c'est-à-dire les changements depuis la sauvegarde de niveau 0 jusqu'à la sauvegarde incrémentielle de niveau 1) sans copier les deux dans un nouveau fichier. Et après cela, on ne peut pas ajouter sur le résultat l’incrément de niveau 2. Une solution a donc été proposée pour corriger ce problème.


Comme autres nouveautés, au niveau des fonctionnalités obligatoires, on peut citer le support de noms d'objets de plus de 31 caractères. Comme dans d'autres SGBDR, un développeur estimait nécessaire que Firebird prenne en charge des noms d'objets plus longs. L'équipe de développement a donc décidé d'augmenter la longueur maximale des noms d'objets à 63 caractères. Si avoir des identifiants plus longs peut être utile, cela pourrait toutefois avoir une incidence sur la portabilité de la base de données. Certains ont rappelé par exemple qu'Oracle impose une limite de 30 caractères pour les identifiants.

Soulignons également les timeouts pour les instructions, transactions et les connexions. Il s'agissait de permettre aux développeurs de définir des délais d'attente (timeout) dans différentes situations. Par exemple pour arrêter automatiquement l'exécution d'une instruction SQL lorsqu'elle est plus longue que prévu, ou encore fermer automatiquement la connexion de l'utilisateur après une période d'inactivité.

Les nouveautés incluent les variables numériques avec une précision de plus de 18 chiffres et des calculs intermédiaires améliorés pour des numériques plus courts. L'objectif est d'améliorer la précision des calculs avec des variables NUMERIC/DECIMAL. D'après le développeur qui a rapporté le problème, la façon dont Firebird gère actuellement la précision des résultats des calculs impliquant de multiples arguments peut facilement provoquer des débordements, lorsque la précision du résultat dépend de la précision des arguments.

On note encore le support des opérations batch insert et update et des petits changements au niveau des rôles prédéfinis. Certains privilèges DBA par exemple ont été transférés aux utilisateurs ordinaires.

Les fonctionnalités optionnelles

Les choses avancent également bien du côté des fonctionnalités optionnelles. Ici, on peut noter, parmi les fonctionnalités qui ont été finalisées, un support élargi des fonctions de fenêtrage, une amélioration du support des fuseaux horaires la possibilité d'attribuer un rôle à un autre rôle afin qu'il hérite des privilèges du premier, entre autres. Et le développement d'autres fonctionnalités est prévu ou en cours. Vous trouverez plus de détails sur cette version sur le site officiel de Firebird.

Sources : Annonce de Firebird 4.0 Beta 1, Liste des principales fonctionnalités obligatoires et optionnelles

Et vous ?

Utilisez-vous le SGBDR open source Firebird ? Comment le jugez-vous ?
Que pensez-vous des nouveautés de la prochaine version majeure ? Quelles fonctionnalités attendez-vous encore de ce SGBDR ?

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

Avatar de sergio_is_back
Membre émérite https://www.developpez.com
Le 22/02/2019 à 12:37
Çà fait plaisir de voir que Firebird continue son évolution... C'est une très bonne base de données, je l'utilise souvent comme base de données en version embarquée dans mes applications... Légère, très puissante et très rapide... Bien intégrée avec Delphi, que du bonheur...
4  0 
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 01/03/2019 à 17:07
Bonjour,

Citation Envoyé par SQLPro
1) la norme SQL 1992 impose des noms de 128 caractères de long... Donc, pas 63 (firebird) ou 64 (PostgreSQL).
Moi je ne lis aucune imposition de la taille de nom d'identifiant Shall not be >128 n'est pas Must be equal to 128. C'est vrai que qui peut le plus peu le moins mais, selon les documents présentés, n'est la 128 n'est que la recommandation de taille maximale à ne pas dépasser. Donc traiter ces développeurs d'amateurisme c'est un peu fort
4  0 
Avatar de qi130
Expert confirmé https://www.developpez.com
Le 01/03/2019 à 16:09
Ah, merci.

du coup, 63 caractères pour Firebird serait SQL92 compliant (puisque pas supérieur à 128) ?
2  0 
Avatar de FOCUS77
Membre éclairé https://www.developpez.com
Le 25/02/2019 à 12:05
Bonjour à tous,

1. Avant tout je dois saluer l'effort fait par l'équipe firebird, pour
les nouvelles fonctionnalités ajoutées à cette version.

2. En faisant une comparaison très précise de cette version avec la version
Alpha en matière de libération de ressources (fermeture de l'application
après 4 seconde de son ouverture), j'ai constaté que cette version affiche
une exception de ce genre:


alors que la version Alpha n'affiche rien.
Donc j'ai choisi de rester avec cette dernière.

3. J'aurai souhaité que le niveau d'isolation par défaut des transactions,
SNAPSHOT, sera substitué par READ COMMITTED, c'est plus pratique non?

merci pour votre attention.
1  0 
Avatar de qi130
Expert confirmé https://www.developpez.com
Le 25/02/2019 à 17:03
Hello,

Je dois justement rendre 1 papier comparatif sur la conformité à SQL, mais je ne trouve pas dans le txt signalé (plusieurs milliers de lignes ) l'endroit où est fixée la longueur pour les objets "techniques"

Citation Envoyé par SQLpro Voir le message
Tout cela fait preuve d'un grand amateurisme !
1) la norme SQL 1992 impose des noms de 128 caractères de long... Donc, pas 63 (firebird) ou 64 (PostgreSQL).
http://www.contrib.andrew.cmu.edu/~s...ql/sql1992.txt
Une référence, n° de chapitre ou étiquette à chercher dans ce txt ?

Merci.
1  0 
Avatar de vadim
Membre du Club https://www.developpez.com
Le 12/04/2019 à 18:00
Oui, c'est aussi avec grand plaisir que je vois Firebird 4.0 venir.
Pour moi c'est une excellente base. Performante, extrêmement pratique et facile à transporter ou migrer sans s'embêter avec moultes fichiers dispersés.
Pour la réplication, il y avait déjà IbReplicator qui marche très bien depuis des années.

Vadim
1  0 
Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 25/02/2019 à 18:41
Citation Envoyé par qi130 Voir le message
Une référence, n° de chapitre ou étiquette à chercher dans ce txt ?

Merci.

Page 81 :


<regular identifier> ::= <identifier body>

<identifier body> ::=
<identifier start> [ { | }... ]

<identifier start> ::= !! See the Syntax Rules

<identifier part> ::=
<identifier start>
| <digit>


Page 85 et suivantes :

Syntax Rules

1) An <identifier start> is one of:

a) A <simple Latin letter>; or

b) A character that is identified as a letter in the character
repertoire identified by the <module character set specifica-
tion> or by the <character set specification>; or

c) A character that is identified as a syllable in the char-
acter repertoire identified by the <module character set
specification> or by the <character set specification>; or

d) A character that is identified as an ideograph in the char-
acter repertoire identified by the <module character set
specification> or by the <character set specification>.

2) With the exception of the <space> character explicitly contained
in <timestamp string> and <interval string> and the permitted
<separator>s in <bit string literal>s and <hex string literal>s,
a <token>, other than a <character string literal>, a <national
character string literal>, or a <delimited identifier>, shall
not include a <space> character or other <separator>.

3) A <nondoublequote character> is one of:

a) Any <SQL language character> other than a <double quote>;

b) Any character other than a <double quote> in the character
repertoire identified by the <module character set specifica-
tion>; or

c) Any character other than a <double quote> in the character
repertoire identified by the <character set specification>.

4) The two <doublequote>s contained in a <doublequote symbol> shall
not be separated by any <separator>.

5) Any <token> may be followed by a <separator>. A <nondelimiter
token> shall be followed by a <delimiter token> or a <separa-
tor>. If the Format does not allow a <nondelimiter token> to be
followed by a <delimiter token>, then that <nondelimiter token>
shall be followed by a <separator>.

6) There shall be no <space> nor <newline> separating the <minus
sign>s of a <comment introducer>.

7) SQL text containing one or more instances of <comment> is equiv-
alent to the same SQL text with the <comment> replaced with
<newline>.

8) The sum of the number of <identifier start>s and the number
of <identifier part>s in a <regular identifier> shall not be
greater than 128.

9) The <delimited identifier body> of a <delimited identifier>
shall not comprise more than 128 <delimited identifier part>s.





En gros, traduction :

Un identifiant SQL ne doit pas dépasser 128 caractères, être composé de lettres, de chiffres et du blanc souligné et commencer (<identifier_start> par une lettre ou un blanc souligné (<undersore>. Quelques exceptions pour certains identifiant particulier comme :<timestamp string> <interval string> <bit string literal> <hex string literal>...

A +
1  1 
Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 25/02/2019 à 14:03
Citation Envoyé par Michael Guilloux Voir le message
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

Comme autres nouveautés, au niveau des fonctionnalités obligatoires, on peut citer le support de noms d'objets de plus de 31 caractères. Comme dans d'autres SGBDR, un développeur estimait nécessaire que Firebird prenne en charge des noms d'objets plus longs. L'équipe de développement a donc décidé d'augmenter la longueur maximale des noms d'objets à 63 caractères. Si avoir des identifiants plus longs peut être utile, cela pourrait toutefois avoir une incidence sur la portabilité de la base de données. Certains ont rappelé par exemple qu'Oracle impose une limite de 30 caractères pour les identifiants.
Tout cela fait preuve d'un grand amateurisme !
1) la norme SQL 1992 impose des noms de 128 caractères de long... Donc, pas 63 (firebird) ou 64 (PostgreSQL).
http://www.contrib.andrew.cmu.edu/~s...ql/sql1992.txt
2) Oracle utilise dorénavant des identifiants SQL (c'est ainsi que l'on appelle les noms des objets, schéma, table, vue, procédure…) de 128 caractères de long...
https://oracle-base.com/articles/12c...ntifiers-12cr2


Les nouveautés incluent les variables numériques avec une précision de plus de 18 chiffres et des calculs intermédiaires améliorés pour des numériques plus courts.

Déjà dit que c'était insuffisant dans le financier qui exige 12 décimales dans les calculs

A +
1  2