This is an automated email from the git hooks/post-receive script. myon pushed a commit to branch master in repository pgsql-ogr-fdw.
commit 7058c5ee4a0d9d58db33e81a38107648b341fd26 Author: Christoph Berg <[email protected]> Date: Tue Oct 3 20:29:40 2017 +0200 Pull patch from upstream to fix building with gdal-2.2. --- debian/changelog | 1 + debian/patches/gdal-2.2 | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 63 insertions(+) diff --git a/debian/changelog b/debian/changelog index abc9585..c50020d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ pgsql-ogr-fdw (1.0.3-1) UNRELEASED; urgency=medium * New upstream version with PostgreSQL 10 support. * Remove typos.patch. + * Pull patch from upstream to fix building with gdal-2.2. * debian/tests: Run testsuite. * Add myself to Uploaders. * Bump S-V; no changes. diff --git a/debian/patches/gdal-2.2 b/debian/patches/gdal-2.2 new file mode 100644 index 0000000..82432b9 --- /dev/null +++ b/debian/patches/gdal-2.2 @@ -0,0 +1,61 @@ +commit df22bcb661d67e52997b40686c38dbcc6a7a8b07 +Author: Paul Ramsey <[email protected]> +Date: Tue Oct 3 05:56:15 2017 -0700 + + Properly handle NULL fields using the new GDAL 2.2 API (Closes #133) + +diff --git a/ogr_fdw.c b/ogr_fdw.c +index 78965ac..18e2ab6 100644 +--- a/ogr_fdw.c ++++ b/ogr_fdw.c +@@ -1544,11 +1544,17 @@ ogrFeatureToSlot(const OGRFeatureH feat, TupleTableSlot *slot, const OgrFdwExecS + } + else if ( ogrvariant == OGR_FIELD ) + { ++#if GDAL_VERSION_MAJOR >= 2 && GDAL_VERSION_MINOR >= 2 ++ int field_not_null = OGR_F_IsFieldSet(feat, ogrfldnum) && ! OGR_F_IsFieldNull(feat, ogrfldnum); ++#else ++ int field_not_null = OGR_F_IsFieldSet(feat, ogrfldnum); ++#endif ++ + /* Ensure that the OGR data type fits the destination Pg column */ + ogrCanConvertToPg(ogrfldtype, pgtype, pgname, tbl->tblname); + + /* Only convert non-null fields */ +- if ( OGR_F_IsFieldSet(feat, ogrfldnum) ) ++ if ( field_not_null ) + { + switch(ogrfldtype) + { +@@ -1579,18 +1585,11 @@ ogrFeatureToSlot(const OGRFeatureH feat, TupleTableSlot *slot, const OgrFdwExecS + * Handling numbers directly would be faster, but require a lot of extra code. + * For now, we go via text. + */ +- const char *cstr = OGR_F_GetFieldAsString(feat, ogrfldnum); +- size_t cstr_len = strlen(cstr); +- if ( cstr && cstr_len > 0 ) +- { +- char *cstr_decoded = pg_any_to_server(cstr, cstr_len, PG_UTF8); +- nulls[i] = false; +- values[i] = pgDatumFromCString(cstr_decoded, pgtype, pgtypmod, pginputfunc); +- } +- else +- { +- ogrNullSlot(values, nulls, i); +- } ++ const char *cstr_in = OGR_F_GetFieldAsString(feat, ogrfldnum); ++ size_t cstr_len = cstr_in ? strlen(cstr_in) : 0; ++ char *cstr_decoded = pg_any_to_server(cstr_in, cstr_len, PG_UTF8); ++ nulls[i] = false; ++ values[i] = pgDatumFromCString(cstr_decoded, pgtype, pgtypmod, pginputfunc); + break; + } + case OFTDate: +@@ -1621,7 +1620,6 @@ ogrFeatureToSlot(const OGRFeatureH feat, TupleTableSlot *slot, const OgrFdwExecS + { + snprintf(cstr, 256, "%d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second); + } +- + nulls[i] = false; + values[i] = pgDatumFromCString(cstr, pgtype, pgtypmod, pginputfunc); + break; diff --git a/debian/patches/series b/debian/patches/series index e1652b3..726c08d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ install.patch +gdal-2.2 -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pgsql-ogr-fdw.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

