Beitrag von hempelr (1976 Beiträge) am Donnerstag, 19.September.2002, 15:07.
@Sander - get und get_next im eval-Block - Falsche DB wird gelesen!
Hallo
Prob:
in sub im eval-Block ist ein get drin und ein while get_next.
Die Variablenzuweisung $ds_anzahl = $_amount_query; bringt unmittelbar nach dem get einen Wert, allerdings ist der falsch in der while(get_next)-Schleife werden dann die Variablen (also Ausgaben) falsch belegt.
Es wird offensichtlich eine andere DB genommen, als die mit den aktuellen Werten - die gelöschten DS werden noch angezeigt, die neu gespeicherten nicht.
Kann das manchmal an ner falschen Einstellung beim Provider liegen (Serverflex)?
Das Speichern mit dem Formular aus der Sub geht auf die richtige DB - im Baseportalbereich ist das überprüfbar.
Die angezeigten Datensätze haben die tollsten Werte für die Id - in einem Fall ist es ein Wort aus ner ganz anderen DB und da dann nicht mal aus nem Datenfeld das erste.......
Das ganze ist sehr mysteriös und ich komm im Moment nicht weiter.....
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 19.September.2002, 15:12.
Re: @Sander - get und get_next im eval-Block - Falsche DB wird gelesen!
hmm, kann ich dir leider nicht helfen, ich hab so gut wie nie mit eval gearbeitet...
Sander
Antworten
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 19.September.2002, 15:24.
Re: @Sander - get und get_next im eval-Block - Falsche DB wird gelesen!
schade - werd ich mal warten, bis CB wieder da ist, die Effekte, die auftreten sind echt eigenartig.
U.a. haben DB's auf einmal eine 20fache Größe, nach nem Reorg ist es wieder normal - ich denk mal, da ist eine Überschneidung mit Variablen aus BP direkt vorhanden (Die Datenstrukturen, die Christoph verwendet basieren doch auch "nur" auf Hashs und werden offensichtlich mehrfach referenziert, da liegt bestimmt der Hase im Pfeffer....)
Ruben
Antworten
Beitrag von hempelr (1976 Beiträge) am Freitag, 20.September.2002, 07:46.
Evtl. Lösung?- interes. best. einige -DB wächst / falsche Werte werden gel.
Hallo,
der Fehler mit dem Anwachsen der DB's und dem Lesen der "falschen" DB scheint nachvollziehbar.
Drei Dinge sind mir aufgefallen:
1) durch ne menge gets auf versch. DB's werden offensichtlich Referenzen mit untersch. Referenzzielen belegt, bei Namensgleichheit der Feldbezeichner kommen falsche Ausgaben zustande.
2) bei get mit Filterbedingung auf ein nicht indiziertes Feld (jaja, diesen Fehler macht man halt mal *gg*) kommt bp total durcheinander und sucht wahrscheinlich irgendeine DB, in der dieser Feldname indiziert wurde - dann kommen die tollsten Dinge raus (ggf. auch aus ner "internen" Sicherung, wo mal ein Index vorhanden war auf dieses Feld)
3) Vor jedem neuen get hab ich nun ein undef(%_get) eingefügt - das scheint zu bewirken, daß die Laufzeiten sich richtig merklich verkürzen (vorher 0.25 Sek, danach 0.18 Sek)
Wenn bei jemand das Phänomen mit den "wachsenden" DB's wieder auftritt, ohne daß Datensätze eingegeben wurden, mal checken, ob alle Suchfelder auch indiziert sind.....
Ruben
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 20.September.2002, 09:16.
Re: Evtl. Lösung?- interes. best. einige -DB wächst / falsche Werte werden gel.
Antworten
Beitrag von hempelr (1976 Beiträge) am Freitag, 20.September.2002, 09:26.
Re: Evtl. Lösung?- interes. best. einige -DB wächst / falsche Werte werden gel.
mhm - das war mir wieder mal nicht klar - DB-Daten in %_loop.
Da hat das dann auch nichts mit den Laufzeiten zu tun, vielleicht ist halt morgens nur der Server bei Serverflex nicht so belastet?
Also ist der ganze "Kuddelmuddel" bei den Ausgaben offensichtlich einzig und allein auf das fehlende Indexfeld der Filterbedingung zurückzuführen - ich check das heut noch mal ab, muß erst mal zu nem Kunden - Drucker geht nicht. Werd bei rekonstruierbaren Ergebnissen nochmal posten.
Danke erst mal.
Ruben
Antworten