Geänderte SQL-Abfragen bei Upgrade auf PostgreSQL 8.3.x

Aus kvwmap
Wechseln zu: Navigation, Suche

Beim Upgrade auf eine PostgreSQL-Version > 8.3 müssen Abfragen berücksichtigen, dass die zu vergleichenden Werte vom selben Typ sind. Das betrifft in kvwmap folgende SQL-Statements:


Layer "Notizen_Poly"

Im Pfad:

SELECT k.id, n.oid, n.notiz, k.kategorie, n.person, n.datum, AsText(n.the_geom) AS textposition FROM q_notizen as
n, q_notiz_kategorien as k WHERE CAST(k.id AS text) = CAST(n.kategorie_id AS text)


postgresql.php

function getMERfromGemarkung

hier muss

fl.gemkgschl

durch

CAST(fl.gemkgschl AS Integer)

ersezt werden.

function getbaudaten($searchvars)

hier muss

bau_gemarkungen.nummer

durch

CAST(bau_gemarkungen.nummer AS text)

ersetzt werden.

function getALBData($FlurstKennz)

   $sql ="SELECT f.flurnr,f.pruefzeichen,f.status,f.entsteh,f.letzff,f.flaeche,f.aktunr,f.karte,f.baublock";
   $sql.=",f.koorrw,f.koorhw,f.forstamt,SUBSTRING(f.flurstkennz FROM 12 FOR 5) AS zaehler,SUBSTRING(f.flurstkennz FROM 18 FOR 3) AS nenner";
   $sql.=",k.kreis AS kreisid,k.kreisname AS kreisname,gk.gemkgschl,gk.gemkgname,g.gemeinde,g.gemeindename";
   $sql.=",fa.finanzamt,fa.name AS finanzamtname FROM alb_v_kreise AS k,alb_v_gemeinden AS g,alb_v_gemarkungen AS gk";
   $sql.=",alb_flurstuecke AS f LEFT JOIN alb_v_finanzaemter AS fa ON f.finanzamt=fa.finanzamt";
   $sql.=" WHERE CAST(f.gemkgschl AS text)=CAST(gk.gemkgschl AS text)";
   $sql.=" AND SUBSTRING(CAST(gk.gemeinde AS text) FROM 1 FOR 5) = CAST(k.kreis AS text) AND gk.gemeinde=g.gemeinde";
   $sql.=" AND f.flurstkennz='".$FlurstKennz."'";

kvwmap.php

function GenerischeSuche_Suchen()

hier müssen die beiden Vorkommen von

LOWER(query.'.$layerset[0]['attributes']['name'][$i].')

durch

LOWER(CAST(query.'.$layerset[0]['attributes']['name'][$i].' AS TEXT))

ersetzt werden.

function zoomToALKFlur()

$datastring.=" AND fl.gemkgschl='".$GemkgID."'";

function zoomToALKGemarkung()

$datastring.=" AND fl.gemkgschl='".$Gemkgschl."'";

nachweis.php

Hier müssen alle Vorkommen von

n.vermstelle

durch

CAST(n.vermstelle AS integer)

ersetzt werden.

Jagdkataster.php

Hier müssen alle Vorkommen von

jpb.bezirkid

durch

CAST(jpb.bezirkid AS text)

ersetzt werden.

function getIntersectedFlurst()

hier muss die Zeile

$sql.= " WHERE alb_v_gemarkungen.gemkgschl = alknflst.gemkgschl AND alknflst.objnr = alkobj_e_fla.objnr";

durch

 $sql.= " WHERE alb_v_gemarkungen.gemkgschl = CAST(alknflst.gemkgschl AS integer) AND alknflst.objnr = alkobj_e_fla.objnr";

ersetzt werden.