one pass query and OGC filter query
|Reported by:||assefa||Owned by:||sdlime|
|Component:||MapServer C Library||Version:||unspecified|
|Severity:||normal||Keywords:||one pass query OGC filters|
|Cc:||pramsey, jimk, dmorissette, aboudreault, assefa, warmerdam, bartvde|
e-mail discussion of the issue:
I am running into issues with some OGC Filters. For example some complex filters can use 2 or more bbox in the filter (select soem shapes in this region or select some shapes in another region). Basically this should translate into 2 separate queries and the results should be combined at the end and returned to the user. In mapogcfilter.c, there is code to do separate queries and combine the result and set the layer's resultcache (doing AND, OR, several queries ...). At the end of all the layer's result cache has shape id's that can be used to retrieve the shapes.
This logic unfortunately does not really work with one pass query and
the use of LayerResultGetShape. Initially I was using LayerGetShape and mapgml.c (outputting the gml features) was also using LayerGetShape . For these complex filters, I would like to be able to go back to using LayerGetShape. I could for example set some kind of flag at the layer level that would tell mapgml.c (msGMLWriteWFSQuery) to either use msLayerResultsGetShape (which would be the case by default) or msLayerGetShape is that flag is set to true.
It seems to be localized for this need and would like to have your input on this.