Add API for relationship creation/deletion/update
This PR implements add/edit/delete API for relationships. Initially this will be targeted for the openfilegdb and gpkg drivers.
Currently contains relationship creation support for the openfilegdb driver only. I've tested this thoroughly and the good news is that ArcMap/ArcGIS Pro appears to be quite happy to read newly created relationships. (There was a small risk that there was additional relationship properties hidden elsewhere outside of the standard metadata tables...)*
- funny thing is, relationship creation requires an ArcGIS standard or advanced license. So now GDAL will offer a way for users with just an ArcGIS Basic license to create relationships :upside_down_face:
D:\a\gdal\gdal\ogr\ogrsf_frmts\openfilegdb\ogropenfilegdbdatasource_write.cpp(1941,34): error C2220: the following warning is treated as an error [D:\a\gdal\gdal\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
D:\a\gdal\gdal\ogr\ogrsf_frmts\openfilegdb\ogropenfilegdbdatasource_write.cpp(1941,34): warning C4305: 'return': truncation from 'int' to 'bool' [D:\a\gdal\gdal\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
D:\a\gdal\gdal\ogr\ogrsf_frmts\openfilegdb\ogropenfilegdbdatasource_write.cpp(1943,9): warning C4305: 'return': truncation from 'int' to 'bool' [D:\a\gdal\gdal\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
D:\a\gdal\gdal\ogr\ogrsf_frmts\openfilegdb\ogropenfilegdbdatasource_write.cpp(1944,9): warning C4305: 'return': truncation from 'int' to 'bool' [D:\a\gdal\gdal\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
D:\a\gdal\gdal\ogr\ogrsf_frmts\openfilegdb\ogropenfilegdbdatasource_write.cpp(1945,9): warning C4305: 'return': truncation from 'int' to 'bool' [D:\a\gdal\gdal\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
D:\a\gdal\gdal\ogr\ogrsf_frmts\openfilegdb\ogropenfilegdbdatasource_write.cpp(2069,5): warning C4305: 'return': truncation from 'int' to 'bool' [D:\a\gdal\gdal\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
``
Linting issue in autotest suite. In your repository, you'll have to enable pre-commit to run locally some of those linting checks & have automatic fixes being applied before committing. See https://github.com/OSGeo/gdal/blob/master/CONTRIBUTING.md#build-gdal-cmake
@nyalldawson gentle ping that this PR requires further actions
Pull request rebased on top of latest master, with linting issues in autotest solved