Add configurable PRAGMA synchronous =
This commit is contained in:
parent
d308352dbd
commit
4c704fe306
|
@ -279,6 +279,8 @@
|
||||||
#max_objects_per_block = 49
|
#max_objects_per_block = 49
|
||||||
# Interval of saving important changes in the world
|
# Interval of saving important changes in the world
|
||||||
#server_map_save_interval = 5.3
|
#server_map_save_interval = 5.3
|
||||||
|
# http://www.sqlite.org/pragma.html#pragma_synchronous only numeric values: 0 1 2
|
||||||
|
#sqlite_synchronous = 2
|
||||||
# To reduce lag, block transfers are slowed down when a player is building something.
|
# To reduce lag, block transfers are slowed down when a player is building something.
|
||||||
# This determines how long they are slowed down after placing or removing a node.
|
# This determines how long they are slowed down after placing or removing a node.
|
||||||
#full_block_send_enable_min_time_from_building = 2.0
|
#full_block_send_enable_min_time_from_building = 2.0
|
||||||
|
|
|
@ -108,7 +108,16 @@ void Database_SQLite3::verifyDatabase() {
|
||||||
|
|
||||||
if(needs_create)
|
if(needs_create)
|
||||||
createDatabase();
|
createDatabase();
|
||||||
|
|
||||||
|
std::string querystr = std::string("PRAGMA synchronous = ")
|
||||||
|
+ itos(g_settings->getU16("sqlite_synchronous"));
|
||||||
|
d = sqlite3_exec(m_database, querystr.c_str(), NULL, NULL, NULL);
|
||||||
|
if(d != SQLITE_OK) {
|
||||||
|
infostream<<"WARNING: Database pragma set failed: "
|
||||||
|
<<sqlite3_errmsg(m_database)<<std::endl;
|
||||||
|
throw FileNotGoodException("Cannot set pragma");
|
||||||
|
}
|
||||||
|
|
||||||
d = sqlite3_prepare(m_database, "SELECT `data` FROM `blocks` WHERE `pos`=? LIMIT 1", -1, &m_database_read, NULL);
|
d = sqlite3_prepare(m_database, "SELECT `data` FROM `blocks` WHERE `pos`=? LIMIT 1", -1, &m_database_read, NULL);
|
||||||
if(d != SQLITE_OK) {
|
if(d != SQLITE_OK) {
|
||||||
infostream<<"WARNING: SQLite3 database read statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
|
infostream<<"WARNING: SQLite3 database read statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
|
||||||
|
|
|
@ -191,6 +191,7 @@ void set_default_settings(Settings *settings)
|
||||||
settings->setDefault("server_unload_unused_data_timeout", "29");
|
settings->setDefault("server_unload_unused_data_timeout", "29");
|
||||||
settings->setDefault("max_objects_per_block", "49");
|
settings->setDefault("max_objects_per_block", "49");
|
||||||
settings->setDefault("server_map_save_interval", "5.3");
|
settings->setDefault("server_map_save_interval", "5.3");
|
||||||
|
settings->setDefault("sqlite_synchronous", "2");
|
||||||
settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
|
settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
|
||||||
settings->setDefault("dedicated_server_step", "0.1");
|
settings->setDefault("dedicated_server_step", "0.1");
|
||||||
settings->setDefault("ignore_world_load_errors", "false");
|
settings->setDefault("ignore_world_load_errors", "false");
|
||||||
|
|
Loading…
Reference in New Issue