Wrong query results on SDE layer
Howard Butler
hobu at IASTATE.EDU
Thu Mar 3 12:12:23 EST 2005
Pirmin,
First, there is a define at the top. #define MS_SDE_ROW_ID_COLUMN "SE_ROW_ID"
Whenever something like InitItemInfo (get the layer information, find the
column names, etc) is done, msSDELayerGetRowIDColumn is called. It is in
this function where all the business of finding the unique row id column is
done.
If the table is not registered as versioned, then msSDELayerGetRowIDColumn
will only return the MS_SDE_ROW_ID_COLUMN value.
Try setting MS_SDE_ROW_ID_COLUMN to "OBJECTID" and recompiling or
registering the table as versioned so msSDELayerGetRowIDColumn can
calculate it. If you have *multiple* SDE layers in a mapfile and they have
different unique columns (ie, one table uses OBJECTID and the other uses
SE_ROW_ID), you are in a bit of a bind unless the tables are registered.
HTH
Howard
At 03:31 AM 3/3/2005, Pirmin Kalberer wrote:
>We have a problem with queries on SDE layers.
>After updating Mapserver from 4.2 to 4.4.1 we get "random" results using the
>Identify function of Chameleon. The returned result sets let me suspect that
>SE_ROW_ID and OBJECTID are confused somehow. But I couldn't find OBJECTID
>anywhere in the source code. We tested with SDE 9 and 8.3 (but client lib 9).
>For me it looks like a mapserver bug (what I almost can't believe). Or are
>there any other ideas?
>
>Regards,
>Pirmin
>
>--
>Pirmin Kalberer
>Sourcepole - Linux & Open Source Solutions
>http://www.sourcepole.com
More information about the mapserver-dev
mailing list