<br><font size=2 face="sans-serif">Hi Fernando</font>
<br>
<br><font size=2 face="sans-serif">Thanks for your quick response!</font>
<br>
<br><font size=2 face="sans-serif">Since in many cases the where-part is
more complex the easiest  solution for me</font>
<br><font size=2 face="sans-serif">is to omit the second parameter:</font>
<br><tt><font size=2>  alayerObj.queryByAttributes(aMapObj, </font></tt><tt><font size=2 color=red><b>null</b></font></tt><tt><font size=2>,
"ID=4711",mapscript./MS_SINGLE/);<br>
</font></tt>
<br><font size=2 face="sans-serif">Mmmh. It looks like this parameter was
useless all the time anyway!</font>
<br>
<br><font size=2 face="sans-serif">Thank you very much!</font>
<br><font size=2 face="sans-serif">Benedikt</font>
<br>
<br><font size=2 face="sans-serif">PS: The documentation in </font><tt><font size=2>http://mapserver.gis.umn.edu/docs/reference/mapfile/referencemanual-all-pages</font></tt>
<br><font size=2 face="sans-serif">states, that FILTERITEM is only used
in conjunction with OGR/Shapefile.</font>
<br>
<br>
<br><tt><font size=2>Fernando Simon <fsimon@univali.br> schrieb am
29.11.2007 16:57:40:<br>
<br>
> Hi Benedikt,<br>
>     This is a Oracle Spatial driver change for 5.0. And
the source of<br>
> this issue was relate with some Filter/FilterItem problems for Oracle<br>
> Spatial in early versions (4.x).<br>
>     The osFilterItem function in the source code is relate
with FILTER<br>
> and FILTERITEM definitions for Mapfile (you can see here:<br>
> http://mapserver.gis.umn.edu/docs/reference/mapfile/referencemanual-all-pages)<br>
> and Mapscript. In the PHPMapscript, the info for queryByAttribute
relate<br>
> that the parameters that you pass will overwrite what you define for<br>
> FILTER/FILTERITEM in Mapfile. In the same doc for queryByAttribute:<br>
> "qitem is the item (attribute) on which the query is performed,
and<br>
> qstring is the expression to match."<br>
>      In the source code for 5.0 version this is a new
(maybe better)<br>
> interpretation for the docs. I believe that this new way is better
when<br>
> compared with the docs.<br>
>      Best regards.<br>
> <br>
> Fernando Simon<br>
> <br>
> <br>
> Benedikt Rothe wrote:<br>
> ><br>
> > Hello List<br>
> ><br>
> > I'm using Mapserer with Oracle/Java-Mapscript and migrating my
app<br>
> > from Mapserver 4.x to Mapserer 5.x<br>
> > and have a problem with layerObj.queryByAttributes.<br>
> ><br>
> > I used to query features with code like this:<br>
> >   alayerObj.queryByAttributes(aMapObj, "ID", "ID=4711",<br>
> > mapscript./MS_SINGLE/);<br>
> > In Mapserver 5 this code  results in an Mapserver-Error-Message<br>
> > stating, that the "SQL command is not properly ended".<br>
> ><br>
> > The Mapserver-generated SQL-Command includes a Where-Clause of
the<br>
> > form "ID = ID = 4711".<br>
> ><br>
> > I had a look in maporaclespatial.c function "osFilteritem".<br>
> > Follwing code seems to produce this Where-Clause:<br>
> >  if (layer->filteritem != NULL)<br>
> >  {<br>
> >    sprintf (query_str + strlen(query_str), " %s
= ", layer->filteritem);<br>
> >    //snprintf (query_str + strlen(query_str), "
%s = ",<br>
> > layer->filteritem);<br>
> >  }<br>
> ><br>
> > Changing my Java-Code to<br>
> >   alayerObj.queryByAttributes(aMapObj, "ID", "4711",<br>
> > mapscript./MS_SINGLE/);<br>
> > solves the problem.<br>
> ><br>
> > Questions:<br>
> > * Is this a bug in Mapserver or a new feature?  <br>
> > * Is this really a change in Mapserver 5.0?<br>
> > * Shall I rather change my Java-Code or shall I patch Mapserver/<br>
> > maporaclespatial.c/osFilteritem?<br>
> >    Would the changed Java-Code work with the Oracle-driver
only?<br>
> ><br>
> > Greetings from Aachen/Germany<br>
> > Benedikt Rothe<br>
> ><br>
> > *Attachement "Error-Message": *(Added Newlines)<br>
> > msOracleSpatialLayerWhichShapes(): OracleSpatial error. Error:<br>
> > ORA-00933: SQL command not properly ended<br>
> >  . Query statement:<br>
> > SELECT<br>
> >   ID, ID, SHAPE<br>
> > FROM<br>
> >   (select ID,SHAPE<br>
> >    FROM MYTABLE)<br>
> >    WHERE  *ID =  ID = 4711*  AND<br>
> >    SDO_FILTER(<br>
> >      SHAPE, MDSYS.SDO_GEOMETRY(2003, 82015,<br>
> >      NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),<br>
> >      MDSYS.SDO_ORDINATE_ARRAY(2501576.69,5621567,2503419.31,5622567)<br>
> > ),'querytype=window') = 'TRUE' .<br>
> > Check your data statement.<br>
> ><br>
> > *Attachement "Part of mapfile":*<br>
> >   # Projekte<br>
> >   LAYER<br>
> >     NAME "PROJEKT"<br>
> >     TYPE POINT<br>
> >     STATUS DEFAULT<br>
> >     #DEBUG ON<br>
> >     TEMPLATE "dummy.html"<br>
> >     CONNECTION "XXX/YYY@ZZZ"<br>
> >     CONNECTIONTYPE oraclespatial<br>
> >     DATA "SHAPE FROM (select ID,SHAPE FROM MYTABLE)
using unique ID<br>
> > srid 82015"<br>
> >     CLASS<br>
> >       NAME ""<br>
> >       STYLE<br>
> >         COLOR 0 100 100<br>
> >         OUTLINECOLOR 0 0 0<br>
> >         SIZE 12<br>
> >         SYMBOL 'star'<br>
> >       END<br>
> >     END<br>
> >   END <br>
</font></tt>