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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firebird Discussion :

RDB$INDEX_INACTIVE null, bug FB 3.08 ?


Sujet :

Firebird

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 245
    Points : 534
    Points
    534
    Par défaut RDB$INDEX_INACTIVE null, bug FB 3.08 ?
    Bonjour,

    Suis-je le seul à rencontrer ce problème?
    Sous FB 3.08 j'ai créé une base à partir du script des méta-datas et transféré les données dans les tables.
    Je m'aperçois que dans la table RDB$INDICES le champ RDB$INDEX_INACTIVE est null (au lieu de 0 lorsque l'index est actif et 1 si l'index est désactivé), et que les statistiques sont à 0, bien que ces index semblent actifs.
    Ce qui est gênant, c'est qu'en général avant certaines opérations d'importation massive, on désactive des index identifiables par RDB$INDEX_INACTIVE=0. Faudra-t-il maintenant tester avec "is distinct from 1" ?

    André

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour
    Etrange, j'ai vérifier dans une de mes BDD, RDB$INDEX_INACTIVE est bien 0
    RDB$INDEX_31 RDB$INDICES 2 0 [null] 1 0
    cela dit il faudrait que je vérifie la version exacte
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 245
    Points : 534
    Points
    534
    Par défaut
    Pour vérifier simplement, avec FlameRobin je viens d'ajouter un index sur un champ dans une ancienne base. FB 3.08 a bien créé cet index avec NULL dans le champ RDB$INDEX_INACTIVE. FlameRobin affiche que cet index est actif probablement parce qu'il ne trouve pas la valeur 1.
    Je n'ai plus de FB 3.07 installé pour tester.

    André

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Vérification faite ma version est la 3.0.4

    Après diverses recherches (lecture des notes de version et recherche dans laliste des bugs) un vieux bug signalé correspondrait
    Il faudrait peut-être ouvrir un nouveau signalement.

    Effectivement, en regardant dans une autre base j'ai trouvé des RDB$INDEX_INACTIVE à [null] dans RDB$INDICES

    du coup j'ai controlé sur des base fb2.5 aucun null (ouf)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 245
    Points : 534
    Points
    534
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    du coup j'ai controlé sur des base fb2.5 aucun null (ouf)
    Faudra peut-être passer à FB 4.0 avant de partir en retraite. FB 2.5 est "discontinued" depuis juin 2019

    La signalisation du bug de 2012 m'aura toujours rappelé une autre façon pour détecter les index actifs: coalesce(rdb$index_inactive,0)=0 au lieu de rdb$index_inactive is distinct from 1.

    André

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 245
    Points : 534
    Points
    534
    Par défaut
    Bonne nouvelle, un simple backup/restore met à 0 au lieu de null rdb$index_inactive et calcule les statistiques de l'index.
    Avant cette correction, l'index nouvellement créé est bien actif et utilisé, mais sans statistiques le PLAN n'est sans doute pas optimum si une requête doit utiliser plusieurs index.

    André

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par alanglet Voir le message
    Faudra peut-être passer à FB 4.0 avant de partir en retraite.
    Oui, j'y pense il me reste 526 jours pour ça.
    Dés que j'aurais trouvé le moyen de faire une migration propre (mieux qu'un simple restore ou que les outils proposés ) d'un vieille bdd IB 5 charset none
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Bug avec indicateurs null
    Par TomDuBouchon dans le forum Deski
    Réponses: 1
    Dernier message: 20/09/2011, 11h50
  2. [BUG] mes listes mappées me retournent null
    Par Idleman dans le forum JPA
    Réponses: 4
    Dernier message: 09/06/2011, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo