Jim,

The layers created with this driver should always have a FID column which is
an identity column with primary key constraint. Therefore the else part of
the implementation is a bit theoretical and not really used.

Best regards,

Tamas



2010/9/15 <[email protected]>

>  Tamas, thanks for the SQL Server driver.  I also did some development on a 
> SQL Server driver for the FalconView software, using OGR's existing MySQL 
> driver as a reference.  One issue I saw was with setting a default FID value, 
> when no FID column is present.  In OGRMSSQLSpatialLayer::GetNextRawFeature(), 
> you set the value to an incrementing counter:
>
>
>
>     if( pszFIDColumn != NULL && poStmt->GetColId(pszFIDColumn) > -1 )
>
>         poFeature->SetFID(
>
>             atoi(poStmt->GetColData(poStmt->GetColId(pszFIDColumn))) );
>
>     else
>
>         poFeature->SetFID( iNextShapeId );
>
>
>
> Maybe you addressed this elsewhere in your code, but it seems like this 
> causes problems if you expect the FID value to always be preserved for any 
> given feature.  The FID value for a feature will be different before & after 
> a filter is applied to the data set, since new OGRFeature objects are created 
> each time.
>
>
>
> Is my understanding of the situation and the driver code correct?  If so,
> should the FID value stay constant?
>
>
>
> Thanks!
>
>
>
> Jim Koch
>
> Georgia Tech Research Institute
>
> FalconView Developer
>
> www.falconview.org
>
>
>
> _______________________________________________
> gdal-dev mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to