Chyba #807
uzavřený
FreenetIS bug report: Spatna adresa
Přidáno uživatelem Anonymní před více než 10 roky(ů).
Aktualizováno před více než 10 roky(ů).
Popis
Adresni mista pomoci nacitani z addresses - menil jsem u zarizeni adresu - dela to pouze u nekterych - asi 5 se mi to povedlo zmenit a dat presnou adresu - nevite kde mam chybu
Soubory
- Přiřazeno nastaven na David Raška
- Cílová verze nastaven na 1.1
Dočasně doporučuji modul vypnout, je tam aktuálně víc hlášených chyb, až se to vyladí dáme vědět.
Dík za bugreport.
OK - jinak je to paradni modul
Co vrátí z databáze tento SQL dotaz?
SELECT town, zip_code, quarter, street, COUNT(*) AS count
FROM `streets` s
JOIN `towns` t ON s.town_id = t.id
GROUP BY t.id, t.zip_code, street
HAVING count <> 1
Tak toto vypadá na chybu v databázi, protože dotaz by neměl nic vrátit. Problém je v tom, že v databázi jsou duplikované ulice (sloupec count > 1).
da se to nejak opravit - nebo to musim cele prepsat ?
Nachystal jsem SQL skript, který by to měl opravit. Ale je ho ještě potřeba dobře otestovat, aby nenadělal víc škody než užitku.
Udělal jsem několik testů a vše by mělo byt v pořádku, vycházím ovšem z toho, že jsou duplikované pouze ulice a ne města nebo adresní body. Bylo by možné skript spustit na nějaké záložní databázi a zkontrolovat jestli se něco nepokazilo?
CREATE VIEW street_diff AS
SELECT s.id, s2.id AS new_id
FROM `streets` s
JOIN `streets` s2 ON s2.street=s.street AND s2.town_id=s.town_id
WHERE s.id > s2.id
GROUP BY s.id;
UPDATE address_points ap, street_diff sd SET ap.street_id = sd.new_id WHERE ap.street_id = sd.id;
DELETE FROM streets WHERE id IN (SELECT id FROM street_diff);
DROP VIEW street_diff;
Jak to dopadlo? Pořád dochází k té chybě?
Sorry ze jsem se neozval - uz ne - cele to prepisuji - uz mam 80% clenu prepsano :-) a uz nedochazi k tomu ze je tam napsano ze uz adresa existuje
- Stav změněn z Nový na Odmítnutý
OK, nastavuju jako odmítnutý. Kdyby nastal nějaký podobný problém, tak se znovu otevře.
Také k dispozici: Atom
PDF