diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-02-19 13:17:52 +0100 |
|---|---|---|
| committer | Kristian Evers <kristianevers@gmail.com> | 2020-02-19 14:27:19 +0100 |
| commit | 71e6438ba2173ee7c05ade1c395bd5949023cadc (patch) | |
| tree | f003e89a4623de3fd08423327db012a83de504cf | |
| parent | 9022252da3585b64e76e5d8f797edfcd2b909c67 (diff) | |
| download | PROJ-71e6438ba2173ee7c05ade1c395bd5949023cadc.tar.gz PROJ-71e6438ba2173ee7c05ade1c395bd5949023cadc.zip | |
DatabaseContext::lookForGridInfo(): use also old_proj_grid_name for lookups (fixes #1942)
| -rw-r--r-- | src/iso19111/factory.cpp | 4 | ||||
| -rw-r--r-- | test/unit/test_c_api.cpp | 22 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/iso19111/factory.cpp b/src/iso19111/factory.cpp index 39d48386..e7017ca3 100644 --- a/src/iso19111/factory.cpp +++ b/src/iso19111/factory.cpp @@ -977,8 +977,8 @@ bool DatabaseContext::lookForGridInfo( "FROM grid_alternatives " "LEFT JOIN grid_packages ON " "grid_alternatives.package_name = grid_packages.package_name " - "WHERE proj_grid_name = ?", - {projFilename}); + "WHERE proj_grid_name = ? OR old_proj_grid_name = ?", + {projFilename, projFilename}); bool ret = !res.empty(); if (ret) { const auto &row = res.front(); diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index 4f00295c..12a48a65 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -3127,6 +3127,28 @@ TEST_F(CApi, proj_grid_get_info_from_database) { EXPECT_EQ(direct_download, 1); EXPECT_EQ(open_license, 1); } + // Same test as above, but with PROJ 6 grid name + { + const char *full_name = nullptr; + const char *package_name = nullptr; + const char *url = nullptr; + int direct_download = 0; + int open_license = 0; + int available = 0; + EXPECT_TRUE(proj_grid_get_info_from_database( + m_ctxt, "GDA94_GDA2020_conformal.gsb", &full_name, &package_name, + &url, &direct_download, &open_license, &available)); + ASSERT_NE(full_name, nullptr); + // empty string expected as the file is not in test data + EXPECT_TRUE(full_name[0] == 0); + ASSERT_NE(package_name, nullptr); + EXPECT_TRUE(package_name[0] == 0); // empty string expected + ASSERT_NE(url, nullptr); + EXPECT_EQ(std::string(url), + "https://cdn.proj.org/au_icsm_GDA94_GDA2020_conformal.tif"); + EXPECT_EQ(direct_download, 1); + EXPECT_EQ(open_license, 1); + } } // --------------------------------------------------------------------------- |
