1. Noone seems to know how the query (itemquery, itemnquery) mechanics actually
work. Some investigation and documentation are needed.
2. The query method appears to be (a) do a query-by-rectangle (with filter) to
get record#s, then (b) repeatedly request each feature by record number. In
order for this to be efficient, it assumes a O(1) get-feature-by-record-number
access. This isnt true for all layer types. Also, cacheing the results of the
query-by-rectangle (with filter) isnt generally possible because the columns
(items) havent been set yet in the layer object or by a call to LayerGetItems().
3. Why is there a separate query/draw mechanism? Why doesnt mapserv just do a
normal draw-type request (query-by-rectangle (with filter)), then use the normal
getNextShape() functions? Its a maintainance issue to have each layer
implement two basic functions (draw and query) when query could be seamlessly
implemented by the draw mechanism.
C.F. mailing list discussion with subject "Re: [Mapserver-dev] Re:
[Mapserver-users] Mapscript drawQuery() on big PostGIS layers doesn't work
properly ?"
Daniel requested a bug report so this doesnt go away.