backport to 2.0.x series the sqlite3_open_v2 usage from master - refs #854
This commit is contained in:
parent
7a10befa11
commit
34ddc65e30
2 changed files with 21 additions and 20 deletions
|
@ -14,6 +14,10 @@ For a complete change history, see the SVN log.
|
||||||
Mapnik 2.0.1
|
Mapnik 2.0.1
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
- Fixed SQLite open stability across platforms/versions (#854)
|
||||||
|
|
||||||
|
- Fixed `mapnik-config --version` (#903)
|
||||||
|
|
||||||
- Switched back to "libmapnik" and "import mapnik" rather than "mapnik2" (#941)
|
- Switched back to "libmapnik" and "import mapnik" rather than "mapnik2" (#941)
|
||||||
|
|
||||||
- Support for PostGIS 2.0 (#956,#1083)
|
- Support for PostGIS 2.0 (#956,#1083)
|
||||||
|
@ -28,7 +32,7 @@ Mapnik 2.0.1
|
||||||
|
|
||||||
- Restored Python 2.5 compatibility (#904)
|
- Restored Python 2.5 compatibility (#904)
|
||||||
|
|
||||||
- Fixed ability to save to jpeg format from python (7387afd9)
|
- Fixed ability to save to jpeg format from python (7387afd9) (#896)
|
||||||
|
|
||||||
|
|
||||||
Mapnik 2.0.0
|
Mapnik 2.0.0
|
||||||
|
@ -238,8 +242,6 @@ Mapnik 0.7.0 Release
|
||||||
|
|
||||||
- Python: Fixed potential crash if pycairo support is enabled but python-cairo module is missing (#392)
|
- Python: Fixed potential crash if pycairo support is enabled but python-cairo module is missing (#392)
|
||||||
|
|
||||||
- Python: Added 'mapnik.mapnik_svn_revision()' function to svn revision of Mapnik was compiled at.
|
|
||||||
|
|
||||||
- Python: Added 'mapnik.has_pycairo()' function to test for pycairo support (r1278) (#284)
|
- Python: Added 'mapnik.has_pycairo()' function to test for pycairo support (r1278) (#284)
|
||||||
|
|
||||||
- Python: Added 'mapnik.register_plugins()' and 'mapnik.register_fonts()' functions (r1256)
|
- Python: Added 'mapnik.register_plugins()' and 'mapnik.register_fonts()' functions (r1256)
|
||||||
|
|
|
@ -142,27 +142,26 @@ public:
|
||||||
sqlite_connection (const std::string& file)
|
sqlite_connection (const std::string& file)
|
||||||
: db_(0)
|
: db_(0)
|
||||||
{
|
{
|
||||||
// sqlite3_open_v2 is available earlier but
|
#if SQLITE_VERSION_NUMBER >= 3005000
|
||||||
// shared cache not available until >= 3.6.18
|
int mode = SQLITE_OPEN_READWRITE;
|
||||||
#if SQLITE_VERSION_NUMBER >= 3006018
|
#if SQLITE_VERSION_NUMBER >= 3006018
|
||||||
int rc = sqlite3_enable_shared_cache(1);
|
// shared cache flag not available until >= 3.6.18
|
||||||
|
mode |= SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE;
|
||||||
|
#endif
|
||||||
|
const int rc = sqlite3_open_v2 (file_.c_str(), &db_, mode, 0);
|
||||||
|
#else
|
||||||
|
#warning "Mapnik's sqlite plugin is compiling against a version of sqlite older than 3.5.x which may make rendering slow..."
|
||||||
|
const int rc = sqlite3_open (file_.c_str(), &db_);
|
||||||
|
#endif
|
||||||
if (rc != SQLITE_OK)
|
if (rc != SQLITE_OK)
|
||||||
{
|
{
|
||||||
throw mapnik::datasource_exception (sqlite3_errmsg (db_));
|
std::ostringstream s;
|
||||||
|
s << "Sqlite Plugin: " << sqlite3_errmsg (db_);
|
||||||
|
|
||||||
|
throw mapnik::datasource_exception (s.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
int mode = SQLITE_OPEN_READWRITE | SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE;
|
sqlite3_busy_timeout(db_,5000);
|
||||||
if (sqlite3_open_v2 (file.c_str(), &db_, mode, NULL))
|
|
||||||
#else
|
|
||||||
#warning "Mapnik's sqlite plugin is compiling against a version of sqlite older than 3.6.18 which may make rendering slow..."
|
|
||||||
if (sqlite3_open (file.c_str(), &db_))
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
std::ostringstream s;
|
|
||||||
s << "Sqlite Plugin: ";
|
|
||||||
throw mapnik::datasource_exception (sqlite3_errmsg (db_));
|
|
||||||
}
|
|
||||||
//sqlite3_enable_load_extension(db_, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
~sqlite_connection ()
|
~sqlite_connection ()
|
||||||
|
|
Loading…
Reference in a new issue