Opened 15 years ago
Last modified 14 years ago
#2889 reopened defect
SLD: always try to set the FILTER element of a Layer
Reported by: | assefa | Owned by: | assefa |
---|---|---|---|
Priority: | normal | Milestone: | 6.0 release |
Component: | WMS Server | Version: | unspecified |
Severity: | critical | Keywords: | wms sld filter |
Cc: | bartvde@… |
Description
Reported initially by Bart,
I am tracking down a problem with an SLD on an Oracle layer where Mapserver does the evaluation of the Filter using classes instead of setting a FILTER on the layer. The SLD Filter is a simple PropertyIsEqualTo on the primary key.
I wonder about the following part of mapogcsld.c (line 683 in trunk):
if (FLTHasSpatialFilter(psNode))
psLayer->layerinfo = (void *)psNode;
Why is this only done when there is a spatial filter? If I comment out this line, all goes well and the FILTER is set.
Change History (6)
comment:1 by , 15 years ago
Cc: | added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:2 by , 15 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I found that this change would have an effect when several rules are defined in the same sld and that each rule try to set the FILTER element of the layer. In this particular case, we should not try to set the FILTER element. Need to recheck this before 5.4
comment:3 by , 15 years ago
Severity: | normal → critical |
---|
comment:4 by , 15 years ago
Assefa, that makes sense, but we can't combine them with ORs in the FILTER?
comment:5 by , 15 years ago
yes we should. I reopened so that I can address it before the 5.4 release
comment:6 by , 14 years ago
Milestone: | 5.6 release → 6.0 release |
---|
committed in r8549