| 87 | == Compatibility Issues == |
| 88 | |
| 89 | === Driver Code Changes === |
| 90 | |
| 91 | * All drivers implementing DeleteFeature() or GetFeature() will need modest changes. |
| 92 | |
| 93 | * Most drivers supporting CreateField() likely ought to be extended to support OFTInteger64 as an integer field if nothing else is available (and if bApproxOK is TRUE. |
| 94 | |
| 95 | * Drivers reporting FIDs via Debug statements, printf's or using sprintfs like statements to format them for output will need updates to either cast the FID to long, or to use CPL_FRMT_GIB to format the FID. Failure to make these changes may result in code crashing. |
| 96 | |
| 97 | === Application Code === |
| 98 | |
| 99 | * Application code may need to be updated to use GIntBig for FIDs in order to avoid warnings about downcasting. |
| 100 | |
| 101 | * Application code formatting FIDs using printf like facilities may also need to be changed to downcast explicitly or to use CPL_FRMT_GIB. |
| 102 | |
| 103 | * Application code may need to add Integer64 handling in order to utilize wide fields. |
| 104 | |
| 105 | === Behavioral Changes === |
| 106 | |
| 107 | * Wide integer fields that were previously treated as "real" by the shapefile driver will now be treated as Integer64 which will likely not work with some applications, and translation to other formats will often fail. |
| 108 | |
| 109 | |