Changeset 337 for trunk


Ignore:
Timestamp:
09/22/14 11:13:16 (5 years ago)
Author:
frank.jaeger
Message:

Sichten zur Suche nach Fehlern aus einem Historie-Trigger

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/sichten.sql

    r336 r337  
    3434--  2014-09-12 Korrektur "doppelverbindung" (nach Patch der Indices fÃŒr Relation auf Substring(gml_id,1,16)) 
    3535--  2014-09-17 View "fehler_gebaeude_zu_mehrfach_hsnr" 
     36--  2014-09-22 Views zur Suche von Fehlern aus einem fehlerhaften Historie-Trigger (beginnt-endet-Paarungen) 
    3637 
    3738 
     
    10641065Mit Ausnahme von RechtsverhÀltnissen sollte sie Summe der BrÃŒche immer 1/1 ergeben.'; 
    10651066 
     1067 
     1068-- PrÃŒfen einer Konvertierung mit historischen Objekten 
     1069-- Abgabeart 3100, Trigger "delete_feature_hist()". 
     1070-- NICHT anzuwenden bei Abgabeart 1000 
     1071 
     1072-- Erst mal die betroffenen Objekte identifizieren 
     1073CREATE OR REPLACE VIEW fehlersuche_hist_mehrere_vorgaenger_fs 
     1074AS  
     1075  SELECT substring(gml_id,1,16) AS gml, count(beginnt) AS anzahl -- 16stellige kurze ID, oder Substring 
     1076  FROM ax_flurstueck 
     1077  GROUP BY substring(gml_id,1,16) 
     1078  HAVING count(beginnt) > 4 -- mindestens 3 Generationen zur PrÃŒfung notwendig 
     1079  ORDER BY count(beginnt) DESC -- die hÀufigsten zuerst 
     1080  LIMIT 20;  -- reicht zum gucken 
     1081-- bis zu 7 Versionen je FS gefunden 
     1082 
     1083COMMENT ON VIEW fehlersuche_hist_mehrere_vorgaenger_fs 
     1084 IS 'ALKIS-FlurstÃŒcke suchen, zu denen es inzwischen mehrere Versionen gibt,  
     1085also mehrere inzwischen beendete (historische) VorgÀnger-Versionen'; 
     1086 
     1087-- Im zweiten Schritt dazu alle Versionen auflisten. 
     1088-- Die Serial "ogc_fid" sollte die EinfÃŒge-Reihenfolge reprÀsentieren. 
     1089-- Je "gml_id" muss "beginnt" und "endet" aufsteigend sein. 
     1090-- Das "endet" muss jeweils das "beginnt" der folgenden Version sein. 
     1091CREATE OR REPLACE VIEW fehlersuche_hist_endet_sortierung_fs 
     1092AS  
     1093  SELECT substring(gml_id,1,16) AS gml, ogc_fid, beginnt, endet 
     1094  FROM ax_flurstueck f 
     1095  JOIN fehlersuche_hist_mehrere_vorgaenger_fs v -- der vorhergehende View als Filter 
     1096    ON substring(f.gml_id,1,16) = v.gml 
     1097  ORDER BY substring(gml_id,1,16), ogc_fid; 
     1098 
     1099COMMENT ON VIEW fehlersuche_hist_endet_sortierung_fs 
     1100 IS 'Zu den ALKIS-FlurstÃŒcken, zu denen es inzwischen mehrere Versionen gibt,  
     1101werden die beginnt- und  endet-Zeiten angezeigt. Diese sollten streng aufsteigend sein.  
     1102Der endet-Zeitstempel sollte jeweils dem beginnt-Zeitstempel der Folgeversion enstsprechen. 
     1103(Nur) das endet der letzten Version sollte leer sein.'; 
     1104 
     1105-- Speziell die FÀlle suchen, bei denen die Kombination beginnt/endet-Datum nicht logisch ist 
     1106CREATE OR REPLACE VIEW fehlersuche_hist_beginnt_endet_mischmasch 
     1107AS  
     1108  SELECT substring(v1.gml_id,1,16) AS gml,  
     1109        v1.beginnt AS v1_beginnt,  
     1110        v2.beginnt AS v2_beginnt, 
     1111     v1.endet   AS v1_endet,  
     1112     v2.endet   AS v2_endet 
     1113  FROM ax_gebaeude v1 -- Version 1 -- oder eine andere Objekt-Tabelle 
     1114  JOIN ax_gebaeude v2 -- Version 2 
     1115    ON substring(v1.gml_id,1,16) = substring(v2.gml_id,1,16)  -- gleiches Objekt 
     1116   AND v2.beginnt > v1.beginnt -- aufsteigendes Beginn-Datum 
     1117   AND v2.endet   < v1.endet   -- aber absteigendes endet-Datum - Fehler! 
     1118  ORDER BY substring(v1.gml_id,1,16), v1.beginnt, v1.endet 
     1119  LIMIT 10; -- Beispiele als Beweis der Fehlerhaftigkeit 
     1120 
     1121COMMENT ON VIEW fehlersuche_hist_beginnt_endet_mischmasch 
     1122 IS 'Suche nach verschiedenen historischen Versionen eines Objektes bei denen das beginn-Datum aufsteigend ist, aber das endet-Datum absteigend (Falsch!).'; 
     1123 
    10661124-- END -- 
Note: See TracChangeset for help on using the changeset viewer.