Skip to content

Commit 5012751

Browse files
committedJun 23, 2014
Remove confusing code block from SQLite3 database
1 parent d9de29f commit 5012751

File tree

1 file changed

+38
-42
lines changed

1 file changed

+38
-42
lines changed
 

‎src/database-sqlite3.cpp

+38-42
Original file line numberDiff line numberDiff line change
@@ -86,58 +86,54 @@ void Database_SQLite3::verifyDatabase() {
8686
if(m_database)
8787
return;
8888

89-
{
90-
std::string dbp = m_savedir + DIR_DELIM + "map.sqlite";
91-
bool needs_create = false;
92-
int d;
89+
std::string dbp = m_savedir + DIR_DELIM "map.sqlite";
90+
bool needs_create = false;
91+
int d;
9392

94-
/*
95-
Open the database connection
96-
*/
93+
// Open the database connection
9794

98-
createDirs(m_savedir); // ?
95+
createDirs(m_savedir); // ?
9996

100-
if(!fs::PathExists(dbp))
101-
needs_create = true;
97+
if(!fs::PathExists(dbp))
98+
needs_create = true;
10299

103-
d = sqlite3_open_v2(dbp.c_str(), &m_database, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
104-
if(d != SQLITE_OK) {
105-
infostream<<"WARNING: SQLite3 database failed to open: "<<sqlite3_errmsg(m_database)<<std::endl;
106-
throw FileNotGoodException("Cannot open database file");
107-
}
108-
109-
if(needs_create)
110-
createDatabase();
100+
d = sqlite3_open_v2(dbp.c_str(), &m_database, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
101+
if(d != SQLITE_OK) {
102+
infostream<<"WARNING: SQLite3 database failed to open: "<<sqlite3_errmsg(m_database)<<std::endl;
103+
throw FileNotGoodException("Cannot open database file");
104+
}
111105

112-
std::string querystr = std::string("PRAGMA synchronous = ")
113-
+ itos(g_settings->getU16("sqlite_synchronous"));
114-
d = sqlite3_exec(m_database, querystr.c_str(), NULL, NULL, NULL);
115-
if(d != SQLITE_OK) {
116-
infostream<<"WARNING: Database pragma set failed: "
117-
<<sqlite3_errmsg(m_database)<<std::endl;
118-
throw FileNotGoodException("Cannot set pragma");
119-
}
106+
if(needs_create)
107+
createDatabase();
120108

121-
d = sqlite3_prepare(m_database, "SELECT `data` FROM `blocks` WHERE `pos`=? LIMIT 1", -1, &m_database_read, NULL);
122-
if(d != SQLITE_OK) {
123-
infostream<<"WARNING: SQLite3 database read statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
124-
throw FileNotGoodException("Cannot prepare read statement");
125-
}
109+
std::string querystr = std::string("PRAGMA synchronous = ")
110+
+ itos(g_settings->getU16("sqlite_synchronous"));
111+
d = sqlite3_exec(m_database, querystr.c_str(), NULL, NULL, NULL);
112+
if(d != SQLITE_OK) {
113+
infostream<<"WARNING: Database pragma set failed: "
114+
<<sqlite3_errmsg(m_database)<<std::endl;
115+
throw FileNotGoodException("Cannot set pragma");
116+
}
126117

127-
d = sqlite3_prepare(m_database, "REPLACE INTO `blocks` VALUES(?, ?)", -1, &m_database_write, NULL);
128-
if(d != SQLITE_OK) {
129-
infostream<<"WARNING: SQLite3 database write statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
130-
throw FileNotGoodException("Cannot prepare write statement");
131-
}
118+
d = sqlite3_prepare(m_database, "SELECT `data` FROM `blocks` WHERE `pos`=? LIMIT 1", -1, &m_database_read, NULL);
119+
if(d != SQLITE_OK) {
120+
infostream<<"WARNING: SQLite3 database read statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
121+
throw FileNotGoodException("Cannot prepare read statement");
122+
}
132123

133-
d = sqlite3_prepare(m_database, "SELECT `pos` FROM `blocks`", -1, &m_database_list, NULL);
134-
if(d != SQLITE_OK) {
135-
infostream<<"WARNING: SQLite3 database list statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
136-
throw FileNotGoodException("Cannot prepare read statement");
137-
}
124+
d = sqlite3_prepare(m_database, "REPLACE INTO `blocks` VALUES(?, ?)", -1, &m_database_write, NULL);
125+
if(d != SQLITE_OK) {
126+
infostream<<"WARNING: SQLite3 database write statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
127+
throw FileNotGoodException("Cannot prepare write statement");
128+
}
138129

139-
infostream<<"ServerMap: SQLite3 database opened"<<std::endl;
130+
d = sqlite3_prepare(m_database, "SELECT `pos` FROM `blocks`", -1, &m_database_list, NULL);
131+
if(d != SQLITE_OK) {
132+
infostream<<"WARNING: SQLite3 database list statment failed to prepare: "<<sqlite3_errmsg(m_database)<<std::endl;
133+
throw FileNotGoodException("Cannot prepare read statement");
140134
}
135+
136+
infostream<<"ServerMap: SQLite3 database opened"<<std::endl;
141137
}
142138

143139
void Database_SQLite3::saveBlock(MapBlock *block)

0 commit comments

Comments
 (0)
Please sign in to comment.