Auteur Sujet: [FAIT] Regression Bdd Waad335  (Lu 3423 fois)

Hors ligne franck77

  • Développeurs
  • Legendaire Member
  • ****
  • Messages: 2043
Oui je confirme les dire de Branruz ...

Les NULL sur un élément texte de la db provoque un crash
(voir le crash que j'ai eu sur les quêtes http://arbonne.games-rpg.net/index.php/topic,3440.0.html)

Solution DB
UPDATE table SET champ = '' WHERE champ IS NULL;
Solution Core
case 's': // Null-terminated string
*(char**)&structpointer[offset] = strdup(f->GetString());
offset += sizeof(char*);
break;

deviens ...

case 's': // Null-terminated string

if ( f->GetString() )
{
*(char**)&structpointer[offset] = strdup(f->GetString());
} else {
*(char**)&structpointer[offset] = "";
}
offset += sizeof(char*);
break;

Après quand je post un problème c'est pas juste pour Branruz  ;D

Hors ligne Branruz

  • Développeurs
  • Grand Marechal
  • ****
  • Messages: 4718
  • Calif à la place du Calif
raaaaaaah voila, je savais qu'on avait deja eu un prob similaire...merci Franck je le retrouvais plus ce post.

Le truc zarb c'est que c'est seulement certain champ qui sont à null et d'autre on une chaine vide
(pour une meme colonne)

sur npc_text par exemple, seulement les colonnes textx_0 etait NULL, (sauf text0_0) et encore pas tous
(un majorité avait un champ text vide et parfois tu tombe sur une valeur (NULL) pour une meme colonne)
En moyenne, sur npc_text, ca concerne environ 1300 Id de text sur la quantité present.
(de text1_0 à text7_0 = text parfois NULL alors que text1_1 à text7_1 = text vide pour tt les Ids)

Hors ligne Randdrick

  • Administrator
  • Connetable
  • *****
  • Messages: 6568
  • Grand Calif
    • W.A.A.D - WoW Ascent Arbonne DB
Bon, ben chez moi tout est bon, et je ne comprend plus rien, car je n'ai plus de plantage de CORE. Question des gardes à Silvermoon, c'est un problème dans les GossipScripts, je confirme.

je vous re-livre les fichiers npcs.
Le cerveau est l'organe le moins utilisé par l'être humain...

Hors ligne B.B.

  • Développeurs
  • Hero Member
  • ****
  • Messages: 735
  • www.terre-ysera.com
    • Ysera || Royaume blizzlike
pour la provenance des null, ont peut se demander d'ou il vienne: si notre base été clean avant, cela viens peut-être d'un souci quant nous avons fait des update de parse peut-être? ou de maj diverse des info pour lk?
Compilateur: Microsoft Visual Studio 2010 Professionnel
---------------------------
Cordialement, B.B.

Hors ligne Branruz

  • Développeurs
  • Grand Marechal
  • ****
  • Messages: 4718
  • Calif à la place du Calif
oui j'me demande si le prob vient pas de la. (c'est tres curieux qd meme)

Meme souci remonté par Franck sur les textes de quêtes à un moment.
Le code que Franck avait fait a été intégré, normalement on aura plus jamais le problème^^

Par contre, pour "proteger" la base, suffit maintenant de coller des (NULL) à la place des chaines vident
car sur Mangos ou Ascent/Arcemu, les champs text NULL feront planter le serveur ;D

A verifier evidement mais la class storage de lecture est anterieur à la séparation Mangos/Antrix
ca doit dater de Wowemu je pense car meme sur Summit ca tolère pas les zones de text NULL


Hors ligne Randdrick

  • Administrator
  • Connetable
  • *****
  • Messages: 6568
  • Grand Calif
    • W.A.A.D - WoW Ascent Arbonne DB
Citer
cela viens peut-être d'un souci quant nous avons fait des update de parse peut-être?
Cela est en effet une possibilité
Le cerveau est l'organe le moins utilisé par l'être humain...