Ignore:
Timestamp:
03/16/18 11:24:48 (6 years ago)
Author:
frank.jaeger
Message:

Korrektur Auskunft Flurstückshistorie. Löschen nicht mehr gepflegter Alt-Versionen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisfshist.php

    r391 r400  
    1010        2017-10-09 Sauber filtern auf NOT endet IS NULL 
    1111        2017-10-17 Deutsches Datumsformat fÃŒr Zeitpunkt der Entstehung 
     12        2018-03-16 NULL-Werte in gemeinde und kreis in ax_historischesflurstueck berÃŒcksichtigen 
    1213*/ 
    1314 
     
    6768// Suchen der Vorgaenger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise in <td>. 
    6869// Akt. FS hat keine Verweise auf Vorgaenger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen. 
    69 // Problem: Dies sind Arrays, die nicht performant durchsucht werden koennen. 
    7070        global $gkz, $con, $debug, $showkey, $filtkreis, $filtgem; 
    7171 
    72         // Bei kleineren Datenbanken keine spÃŒrbare Verzögerung bei Suche mit " = ANY(Array)" 
    73         // FÃŒr grosse BestÀnde zusÀtzlich filtern ÃŒber indizierte Felder Gemarkung + Flur? 
    74         // Dazu die nÀchsten 2 Zeilen aktivieren.       
    75 //      $wherecl.="AND gemarkungsnummer=".substr($fsk, 2, 4)." "; 
    76 //      $wherecl.="AND flurnummer=".ltrim(substr($fsk, 6, 3), "0")." "; 
    77         // Frage: kann das bei Historisierung wechseln? (Umflurung, Umgemarkung). Dann ggf. Fehler (nicht gefunden) 
    78  
    79         $sqlv="SELECT  'h' AS ftyp, h.gml_id, h.flurstueckskennzeichen FROM ax_historischesflurstueck h " 
    80         ."WHERE $1 = ANY (h.nachfolgerflurstueckskennzeichen) AND NOT h.endet IS NULL " 
     72        $sqlv="SELECT 'h' AS ftyp, h.gml_id, h.flurstueckskennzeichen FROM ax_historischesflurstueck h " 
     73        ."WHERE $1 = ANY (h.nachfolgerflurstueckskennzeichen) AND h.endet IS NULL " 
    8174        ."UNION SELECT 'o' AS ftyp, o.gml_id, o.flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o " 
    82         ."WHERE $1 = ANY (o.nachfolgerflurstueckskennzeichen) AND NOT o.endet IS NULL " 
     75        ."WHERE $1 = ANY (o.nachfolgerflurstueckskennzeichen) AND o.endet IS NULL " 
    8376        ."ORDER BY flurstueckskennzeichen"; 
    8477 
     
    10295        if ($zv == 0) { 
    10396                echo "(keine)"; 
    104         } // else {if ($debug > 2) {echo "\n<p class='dbg'>Treffer=".$zv."</p>";} } 
     97                // if ($debug > 2) {echo "\n<p class='dbg'>SQL='".$sqlv."' FSK='".$fsk."'</p>";} 
     98        } else { 
     99                // if ($debug > 2) {echo "\n<p class='dbg'>Treffer=".$zv."</p>";} 
     100        } 
    105101        return; 
    106102} 
     
    176172        } else { // ZusÀtze zur WHERE-Clausel 
    177173                $wheref=" AND f.kreis = '".$filtkreis."' AND f.gemeinde = '".$filtgem."' "; 
    178                 $whereh=" AND h.kreis = '".$filtkreis."' AND h.gemeinde = '".$filtgem."' "; 
    179                 $whereo=" AND o.gemeinde = '".$filtgem."' "; 
     174                $whereh=" AND (h.kreis IS NULL OR h.kreis = '".$filtkreis."' ) AND (h.gemeinde IS NULL OR h.gemeinde = '".$filtgem."') "; 
     175                $whereo=" AND (o.gemeinde IS NULL OR o.gemeinde = '".$filtgem."') "; 
    180176        } 
    181177 
Note: See TracChangeset for help on using the changeset viewer.