Hi
I running into some problems upgrading our productive GeoServer (1.6) on our intranet server where we use Postresql 8.3.3. The resulting sql query looks like this:
SELECT “oid”, “art”, encode(asBinary(force_2d(“wkb_geometry”),‘XDR’),‘base64’) FROM “public”.“kva_av_bdbed” WHERE (“wkb_geometry” && GeometryFromText(‘POLYGON ((606159.7701284027 230239.6055220589, 606159.7701284027 230380.00552205893, 606348.9701284027 230380.00552205893, 606348.9701284027 230239.6055220589, 606159.7701284027 230239.6055220589))’, -1) AND ((“art” = 0 OR (“art” = 28 OR “art” = 30 OR “art” = 31)) OR lower(“art”) != lower(0)))
The problem is the lower()-function which seems not to work with non-string values 1 with Postgresql 8.3 and onwards. Same query works with GeoServer 1.6 and Posgresql 8.3 because of the missing lower() functions calls in the query and GeoServer 1.7.3 and Posgresql 8.1.
regards
Stefan
Mit freundlichem Gruss
Stefan Ziegler
Leiter Aufsicht
Kanton Solothurn
Bau- und Justizdepartement
Amt für Geoinformation
Rötistrasse 4
4501 Solothurn
Telefon 032 627 75 96
Telefax 032 627 75 98
stefan.ziegler@anonymised.com
http://www.so.ch
Ziegler Stefan ha scritto:
Hi
I running into some problems upgrading our productive GeoServer (1.6) on our intranet server where we use Postresql 8.3.3. The resulting sql query looks like this:
SELECT "oid", "art", encode(asBinary(force_2d("wkb_geometry"),'XDR'),'base64') FROM "public"."kva_av_bdbed" WHERE ("wkb_geometry" && GeometryFromText('POLYGON ((606159.7701284027 230239.6055220589, 606159.7701284027 230380.00552205893, 606348.9701284027 230380.00552205893, 606348.9701284027 230239.6055220589, 606159.7701284027 230239.6055220589))', -1) AND (("art" = 0 OR ("art" = 28 OR "art" = 30 OR "art" = 31)) OR lower("art") != lower(0)))
The problem is the lower()-function which seems not to work with non-string values [1] with Postgresql 8.3 and onwards. Same query works with GeoServer 1.6 and Posgresql 8.3 because of the missing lower() functions calls in the query and GeoServer 1.7.3 and Posgresql 8.1.
Mumble, lowering both side of a comparisong seems to imply that art
is being compared in a case insensitive way. How was that filter built?
Also curious that only the last comparison uses the lower function,
and not the other ones?
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.