Opened 16 years ago
Closed 16 years ago
#2685 closed defect (fixed)
5.2beta4 breaks simple filters on SDE layers
Reported by: | bartvde | Owned by: | assefa |
---|---|---|---|
Priority: | normal | Milestone: | 5.2.1 release |
Component: | WFS Server | Version: | unspecified |
Severity: | normal | Keywords: | |
Cc: | jmckenna |
Description
Hi list, WFS filters with simple attribute filters are broken in beta4. Btw sorry for taking so long to participate in the beta process, but the person who does our building was on holidays. Even for SDE layers Mapserver now sets the filter in mapogcfilter.c: Line 1047: msLoadExpressionString(&lp->filter, pszBuffer); which causes this. The expression which it is trying to set looks like: ([KM] <= 13) which works for shapefiles but not for SDE. <?xml version='1.0' encoding="ISO-8859-1" ?> <ServiceExceptionReport version="1.2.0" xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wfs /1.0.0/OGC-exception.xsd"> <ServiceException code="NoApplicableCode" locator="mapserv"> msWFSGetFeature(): WFS server error. FLTApplyFilterToLayer() failed msSDELayerNextShape(): SDE error. SE_stream_fetch(): Underlying DBMS error. (-51) </ServiceException> </ServiceExceptionReport> Best regards, Bart
Attachments (1)
Change History (9)
by , 16 years ago
Attachment: | ms_ticket2685.patch added |
---|
comment:1 by , 16 years ago
Component: | MapServer C Library → WFS Server |
---|---|
Owner: | changed from | to
comment:2 by , 16 years ago
Cc: | added |
---|
comment:3 by , 16 years ago
I'd also check for lp->connectiontype == MS_PLUGIN while we're at it. That's most likely needed for this to work with SDO/SDE/MSSQL when plugin libraries are used.
Andreas
comment:4 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
I was exactly thinking that (the case of MS_PLUGIN ) when I saw the comment. We could possibly parse the plugin value (...msplugin_sde_91.dll) to determine the layer type although I am not sure it would always be safe to do it. What do you think?
comment:5 by , 16 years ago
Indeed, using the plugin's name doesn't seem the cleanest thing to do. Best thing of course would be to move this logic entirely into each driver, but that's obviously not possible at this stage. Given the fact though that plugins seem to be available for Oracle Spatial, SDE and MSSQL only (correct me if I'm wrong) I'd say let's just generally check for MS_PLUGIN layers and treat them the same as all the database layers.
Andreas
comment:6 by , 16 years ago
Milestone: | → 5.2 release |
---|
works for me. In that case I will apply the patch provided + lp->connectiontype == MS_PLUGIN if there are no objections.
comment:8 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
patch fixing this issue