[Mapserver-users] Mapserver query click returns PostGIS query error
Jonathan W. Lowe
jlowe at giswebsite.com
Thu Apr 3 18:06:06 PST 2003
Hello List:
When serving maps with Mapserver 3.6.3 on RedHat Linux v.8 and pulling data
from PosgreSQL v.7.3.1 with PostGIS v.0.7.4 using the following map file
parameters...
LAYER
NAME "parcels"
CONNECTION "user=xxx password=xxx dbname=xxx host=xxx port=5432"
DATA "the_geom from pcl_b83m"
TYPE POLYGON
HEADER "parcel_header.html"
FOOTER "parcel_footer.html"
CLASS # parcels class
NAME "property boundaries"
COLOR 245 245 245
TEMPLATE "parcel_query.html"
END
END
..the layer draws perfectly, but when queried (by clicking on the map in query
mode), the following error returns:
msPOSTGISLayerGetItems(): Query error. Error executing POSTGIS SQL statement:
EXPLAIN VERBOSE SELECT * FROM pcl_b_83m
The SQL statement, "EXPLAIN VERBOSE SELECT * FROM pcl_b_83m" runs fine from the
PostgreSQL SQL interpreter command line.
Both the mapserver and postgis archives had some good suggestions (e.g. use
of '-1' as an SRID causes problems with some versions, upper case in the SQL
statement causes some problems, etc.), but none were the solution I needed.
Any suggestions for a next step in debugging this? I suspect some simple
missing piece.
Potential clues (or additional debugging problems)...
The following two approaches to displaying the same data produce different
results:
1) DATA "the_geom from (select pcl_b_83m.the_geom as the_geom, pcl_b_83m.oid
as oid, address.name as aname from pcl_b_83m left join address on
pcl_b_83m.addrid = address.id) as pcl_adr using unique oid using srid=26943"
...this one (1 above) successfully displays the polygons.
2a) CREATE VIEW pcl_view as select pcl_b_83m.the_geom as the_geom,
pcl_b_83m.oid as oid, address.name as aname from pcl_b_83m left join address on
pcl_b_83m.addrid = address.id
2b) DATA "the_geom from pcl_view as pcl_adr using unique oid using srid=26943"
...these two (2a and 2b above) do not cause an error, but also do not display
the data.
So, a view based on the same SQL as a temporary table fails. (Not a
showstopper, as one of the choices works, but I would prefer to use the view
approach to take advantage of caching within PostgreSQL.)
This is included in case it sheds light on the primary question--why the query
error?
SWAGs welcome.
Thank you!
--
Jonathan W. Lowe
email - jlowe at giswebsite.com
website - http://www.giswebsite.com
More information about the MapServer-users
mailing list