Opened 21 years ago

Last modified 14 years ago

#460 closed defect

Query Efficiency — at Initial Version

Reported by: dblasby@… Owned by: morissette@…
Priority: high Milestone:
Component: MapServer CGI Version: unspecified
Severity: normal Keywords:
Cc: bartvde@…

Description

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.

Change History (0)

Note: See TracTickets for help on using tickets.