Projekt

Obecné

Profil

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(ů).

Stav:
Odmítnutý
Priorita:
Normální
Přiřazeno:
Kategorie:
-
Cílová verze:
Začátek:
Uzavřít do:
% Hotovo:

0%

Odhadovaná doba:

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

log.html (1.07 KB) log.html Anonymní, 2013-10-13 18:43
dotaz.JPG (87.4 KB) dotaz.JPG Anonymní, 2013-10-14 18:56

Aktualizováno uživatelem Ondřej Fibich před více než 10 roky(ů)

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

Aktualizováno uživatelem Anonymní před více než 10 roky(ů)

OK - jinak je to paradni modul

Aktualizováno uživatelem David Raška před více než 10 roky(ů)

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

Aktualizováno uživatelem Anonymní před více než 10 roky(ů)

Vrati - viz priloha

Aktualizováno uživatelem David Raška před více než 10 roky(ů)

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

Aktualizováno uživatelem Anonymní před více než 10 roky(ů)

da se to nejak opravit - nebo to musim cele prepsat ?

Aktualizováno uživatelem David Raška před více než 10 roky(ů)

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.

Aktualizováno uživatelem David Raška před více než 10 roky(ů)

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;

Aktualizováno uživatelem David Raška před více než 10 roky(ů)

Jak to dopadlo? Pořád dochází k té chybě?

Aktualizováno uživatelem Anonymní před více než 10 roky(ů)

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

Aktualizováno uživatelem Ondřej Fibich před více než 10 roky(ů)

  • 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