Changes between Version 2 and Version 3 of rfc31_ogr_64


Ignore:
Timestamp:
Nov 25, 2010, 9:43:23 AM (13 years ago)
Author:
warmerdam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • rfc31_ogr_64

    v2 v3  
    1212
    1313It is planned that feature id's will be handled as type "GIntBig" instead of "long" internally.
    14 This will include the nFID field of the OGRFeature.  The existing GetFID() and SetFID() methods on the OGRFeature use type long.  It is difficult to change this without significant disruption to existing application code, so it is intended to introduce new methods:
     14This will include the nFID field of the OGRFeature.  The existing GetFID() and SetFID() methods on the OGRFeature use type long.  It is difficult to change this without significant disruption to existing application code, so it is intended to introduce new methods to the OGRFeature class:
    1515
    1616{{{
     
    2020
    2121The old methods will be deprecated in favor of the new interfaces in documentation, etc.   Howevever the will continue to exist, and will just cast as needed.  Note that the old interfaces using "long" are already 64bit on 64bit operating systems so there is little harm to applications continuing to use these interfaces on 64bit operating systems.
     22
     23The OGRLayer class allows several operations based on the FID.  The signature of these will be *altered* to accept GIntBig instead of long.  In theory this should not require any changes to application code since long can be converted to GIntBig losslessly.  However, all existing OGR drivers will require changes, including private drivers.  This will also result in a backwards incompatible change in the C ABI.
     24
     25{{{
     26    virtual OGRFeature *GetFeature( GIntBig nFID );
     27    virtual OGRErr      DeleteFeature( GIntBig nFID );
     28}}}
     29
    2230
    2331== 64bit Fields ==