aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-03-10 18:22:29 +0100
committerEven Rouault <even.rouault@spatialys.com>2021-03-10 18:22:29 +0100
commit3c27205bf04e119483f0334d06084b4c80795cee (patch)
treed1dd030102ce3b1d8807393f414d87bdce9b9db3
parent47dd37ff798d454d8e1fd00cd93478642981e2b0 (diff)
downloadPROJ-3c27205bf04e119483f0334d06084b4c80795cee.tar.gz
PROJ-3c27205bf04e119483f0334d06084b4c80795cee.zip
Code cleanup: remove conditional testing of SQLITE_OPEN_URI. It is present in sqlite >= 3.11
-rw-r--r--src/iso19111/factory.cpp10
-rw-r--r--test/unit/test_factory.cpp176
2 files changed, 74 insertions, 112 deletions
diff --git a/src/iso19111/factory.cpp b/src/iso19111/factory.cpp
index 1dac2535..fbe88dda 100644
--- a/src/iso19111/factory.cpp
+++ b/src/iso19111/factory.cpp
@@ -685,13 +685,9 @@ void DatabaseContext::Private::attachExtraDatabases(
closeDB();
- sqlite3_open_v2(":memory:", &sqlite_handle_,
- SQLITE_OPEN_READWRITE | SQLITE_OPEN_NOMUTEX
-#ifdef SQLITE_OPEN_URI
- | SQLITE_OPEN_URI
-#endif
- ,
- nullptr);
+ sqlite3_open_v2(
+ ":memory:", &sqlite_handle_,
+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_URI, nullptr);
if (!sqlite_handle_) {
throw FactoryException("cannot create in memory database");
}
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp
index a9bb4e86..454e4f2e 100644
--- a/test/unit/test_factory.cpp
+++ b/test/unit/test_factory.cpp
@@ -47,8 +47,6 @@
#include <unistd.h>
#endif
-//#undef SQLITE_OPEN_URI
-
using namespace osgeo::proj::common;
using namespace osgeo::proj::crs;
using namespace osgeo::proj::cs;
@@ -2818,125 +2816,93 @@ TEST(factory, attachExtraDatabases_none) {
// ---------------------------------------------------------------------------
-#ifndef SQLITE_OPEN_URI
-static int MyUnlink(const std::string &filename) {
-#ifdef _MSC_VER
- return _unlink(filename.c_str());
-#else
- return unlink(filename.c_str());
-#endif
-}
-#endif
-
-// ---------------------------------------------------------------------------
-
TEST(factory, attachExtraDatabases_auxiliary) {
-#ifdef SQLITE_OPEN_URI
- std::string auxDbName("file:proj_test_aux.db?mode=memory&cache=shared");
-#else
- const char *temp = getenv("TEMP");
- if (!temp) {
- temp = getenv("TMP");
- }
- if (!temp) {
- temp = "/tmp";
- }
- std::string auxDbName(std::string(temp) + "/proj_test_aux.db");
- MyUnlink(auxDbName);
-#endif
+ const std::string auxDbName(
+ "file:proj_test_aux.db?mode=memory&cache=shared");
+
+ sqlite3 *dbAux = nullptr;
+ sqlite3_open_v2(
+ auxDbName.c_str(), &dbAux,
+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_URI, nullptr);
+ ASSERT_TRUE(dbAux != nullptr);
+ ASSERT_TRUE(sqlite3_exec(dbAux, "BEGIN", nullptr, nullptr, nullptr) ==
+ SQLITE_OK);
{
- sqlite3 *dbAux = nullptr;
- sqlite3_open_v2(auxDbName.c_str(), &dbAux,
- SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE
-#ifdef SQLITE_OPEN_URI
- | SQLITE_OPEN_URI
-#endif
- ,
- nullptr);
- ASSERT_TRUE(dbAux != nullptr);
- ASSERT_TRUE(sqlite3_exec(dbAux, "BEGIN", nullptr, nullptr, nullptr) ==
- SQLITE_OK);
- {
- auto ctxt = DatabaseContext::create();
- const auto dbStructure = ctxt->getDatabaseStructure();
- for (const auto &sql : dbStructure) {
- if (sql.find("CREATE TRIGGER") == std::string::npos) {
- ASSERT_TRUE(sqlite3_exec(dbAux, sql.c_str(), nullptr,
- nullptr, nullptr) == SQLITE_OK);
- }
+ auto ctxt = DatabaseContext::create();
+ const auto dbStructure = ctxt->getDatabaseStructure();
+ for (const auto &sql : dbStructure) {
+ if (sql.find("CREATE TRIGGER") == std::string::npos) {
+ ASSERT_TRUE(sqlite3_exec(dbAux, sql.c_str(), nullptr, nullptr,
+ nullptr) == SQLITE_OK);
}
}
+ }
- ASSERT_TRUE(
- sqlite3_exec(
- dbAux,
- "INSERT INTO geodetic_crs VALUES('OTHER','OTHER_4326','WGS "
- "84',NULL,'geographic 2D','EPSG','6422','EPSG','6326',"
- "NULL,0);",
- nullptr, nullptr, nullptr) == SQLITE_OK);
- ASSERT_TRUE(sqlite3_exec(dbAux, "COMMIT", nullptr, nullptr, nullptr) ==
- SQLITE_OK);
+ ASSERT_TRUE(sqlite3_exec(
+ dbAux,
+ "INSERT INTO geodetic_crs VALUES('OTHER','OTHER_4326','WGS "
+ "84',NULL,'geographic 2D','EPSG','6422','EPSG','6326',"
+ "NULL,0);",
+ nullptr, nullptr, nullptr) == SQLITE_OK);
+ ASSERT_TRUE(sqlite3_exec(dbAux, "COMMIT", nullptr, nullptr, nullptr) ==
+ SQLITE_OK);
+ {
+ auto ctxt = DatabaseContext::create(std::string(), {auxDbName});
+ // Look for object located in main DB
{
- auto ctxt = DatabaseContext::create(std::string(), {auxDbName});
- // Look for object located in main DB
- {
- auto factory = AuthorityFactory::create(ctxt, "EPSG");
- auto crs = factory->createGeodeticCRS("4326");
- auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
- EXPECT_TRUE(gcrs != nullptr);
- }
- // Look for object located in auxiliary DB
- {
- auto factory = AuthorityFactory::create(ctxt, "OTHER");
- auto crs = factory->createGeodeticCRS("OTHER_4326");
- auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
- EXPECT_TRUE(gcrs != nullptr);
- }
+ auto factory = AuthorityFactory::create(ctxt, "EPSG");
+ auto crs = factory->createGeodeticCRS("4326");
+ auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
+ EXPECT_TRUE(gcrs != nullptr);
}
-
+ // Look for object located in auxiliary DB
{
- auto ctxt =
- DatabaseContext::create(std::string(), {auxDbName, ":memory:"});
- // Look for object located in main DB
- {
- auto factory = AuthorityFactory::create(ctxt, "EPSG");
- auto crs = factory->createGeodeticCRS("4326");
- auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
- EXPECT_TRUE(gcrs != nullptr);
- }
- // Look for object located in auxiliary DB
- {
- auto factory = AuthorityFactory::create(ctxt, "OTHER");
- auto crs = factory->createGeodeticCRS("OTHER_4326");
- auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
- EXPECT_TRUE(gcrs != nullptr);
- }
+ auto factory = AuthorityFactory::create(ctxt, "OTHER");
+ auto crs = factory->createGeodeticCRS("OTHER_4326");
+ auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
+ EXPECT_TRUE(gcrs != nullptr);
}
+ }
+ {
+ auto ctxt =
+ DatabaseContext::create(std::string(), {auxDbName, ":memory:"});
+ // Look for object located in main DB
{
- auto ctxt = DatabaseContext::create(std::string(), {":memory:"});
- // Look for object located in main DB
- {
- auto factory = AuthorityFactory::create(ctxt, "EPSG");
- auto crs = factory->createGeodeticCRS("4326");
- auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
- EXPECT_TRUE(gcrs != nullptr);
- }
- // Look for object located in auxiliary DB
- {
- auto factory = AuthorityFactory::create(ctxt, "OTHER");
- EXPECT_THROW(factory->createGeodeticCRS("OTHER_4326"),
- FactoryException);
- }
+ auto factory = AuthorityFactory::create(ctxt, "EPSG");
+ auto crs = factory->createGeodeticCRS("4326");
+ auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
+ EXPECT_TRUE(gcrs != nullptr);
+ }
+ // Look for object located in auxiliary DB
+ {
+ auto factory = AuthorityFactory::create(ctxt, "OTHER");
+ auto crs = factory->createGeodeticCRS("OTHER_4326");
+ auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
+ EXPECT_TRUE(gcrs != nullptr);
}
+ }
- sqlite3_close(dbAux);
+ {
+ auto ctxt = DatabaseContext::create(std::string(), {":memory:"});
+ // Look for object located in main DB
+ {
+ auto factory = AuthorityFactory::create(ctxt, "EPSG");
+ auto crs = factory->createGeodeticCRS("4326");
+ auto gcrs = nn_dynamic_pointer_cast<GeographicCRS>(crs);
+ EXPECT_TRUE(gcrs != nullptr);
+ }
+ // Look for object located in auxiliary DB
+ {
+ auto factory = AuthorityFactory::create(ctxt, "OTHER");
+ EXPECT_THROW(factory->createGeodeticCRS("OTHER_4326"),
+ FactoryException);
+ }
}
-#ifndef SQLITE_OPEN_URI
- MyUnlink(auxDbName);
-#endif
+
+ sqlite3_close(dbAux);
}
// ---------------------------------------------------------------------------