diff options
| author | PROJ-BOT <59655370+PROJ-BOT@users.noreply.github.com> | 2020-08-21 09:46:16 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-21 09:46:16 +0200 |
| commit | 079e68525537ddb9f2515b33a0849eecc5fec089 (patch) | |
| tree | a7ea11ae6f1839f830bac381d0b9efc096f9b5d8 | |
| parent | db42199815c9093dbdf579702268ed3424e5c89f (diff) | |
| download | PROJ-079e68525537ddb9f2515b33a0849eecc5fec089.tar.gz PROJ-079e68525537ddb9f2515b33a0849eecc5fec089.zip | |
createObjectsFromName(): add back case insensitivity when comparing names (#2337)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
| -rw-r--r-- | src/iso19111/factory.cpp | 4 | ||||
| -rw-r--r-- | test/unit/test_factory.cpp | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/iso19111/factory.cpp b/src/iso19111/factory.cpp index 4894085e..a9d82268 100644 --- a/src/iso19111/factory.cpp +++ b/src/iso19111/factory.cpp @@ -5642,7 +5642,7 @@ AuthorityFactory::createObjectsFromNameEx( sql += "AND deprecated = 1 "; } if (!approximateMatch) { - sql += "AND name = ? "; + sql += "AND name = ? COLLATE NOCASE "; params.push_back(searchedNameWithoutDeprecated); } if (d->hasAuthorityRestriction()) { @@ -5672,7 +5672,7 @@ AuthorityFactory::createObjectsFromNameEx( sql += "AND ov.deprecated = 1 "; } if (!approximateMatch) { - sql += "AND a.alt_name = ? "; + sql += "AND a.alt_name = ? COLLATE NOCASE "; params.push_back(searchedNameWithoutDeprecated); } if (d->hasAuthorityRestriction()) { diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp index 780bdc9a..c34723f2 100644 --- a/test/unit/test_factory.cpp +++ b/test/unit/test_factory.cpp @@ -2782,6 +2782,12 @@ TEST(factory, createObjectsFromName) { } } + // Exact name, but just not the official case ==> should match with exact + // match + EXPECT_EQ(factory->createObjectsFromName("WGS 84 / utm zone 31n", {}, false) + .size(), + 1U); + // Prime meridian EXPECT_EQ(factoryEPSG->createObjectsFromName("Paris", {}, false, 2).size(), 1U); |
