[mapserver-users] wfs and oracle spatial
Holger Porath
porath at web.de
Thu Sep 23 03:16:29 PDT 2010
Hi list,
we are having issues with using mapserver 5.6.5 as a wfs together with
oracle. When we submit a wfs getfeature filter request mapserver
doesn't use the filter in the sql statement. It just searches all the
objects in the database and applies the filter on the result. This is
very inefficient and even leads to timeouts.
Here is our filter request:
Filter=%3CFilter%3E%3CPropertyIsLike%20wildCard%3D
%22%25%22%20singleChar%3D%22%3F%22%20escape%3D%22ESC%22%3E
%3CPropertyName%3EFS_FSZ%3C%2FPropertyName%3E%3CLiteral%3E111%3C
%2FLiteral%3E%3C%2FPropertyIsLike%3E%3C%2FFilter%3E
As you can see the filter for the attribute "FS_FSZ" is set to "111".
The debug log shows that this isn't used in the sql at all: Using this
Sql to retrieve the data : SELECT fs_id, FS_GKNR, FS_FLNR, FS_FSZ,
FS_FSN, FS_FSSTATUS, FS_ID, FS_FSRWERT_ABS, FS_FSHWERT_ABS,
fs_koordinate FROM os_flst
I expected to see a where clause like the following: where fs_fsz like
"111"
When we switch back to mapserver 5.0.0 we see the correct where clause
in the debug log. So what are we doing wrong or is this a bug?
Thanks for your help.
Regards,
Holger
This is how our layer definition looks like:
LAYER
NAME "test_flst"
METADATA
"wfs_extent" "3410000 5470000 3666000 5726000"
"wfs_title" "test_flst"
"gml_featureid" "fs_id"
"gml_include_items" "all" # optional
END # of METADATA
TYPE POINT
STATUS ON
CONNECTIONTYPE oraclespatial
CONNECTION "user/pass at service"
DATA "fs_koordinate from os_flst USING UNIQUE fs_id NONE"
PROJECTION
"init=epsg:31467"
END # of PROJECTION
DUMP TRUE
END # of LAYER
More information about the MapServer-users
mailing list