]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Get rid of legacy workaround in SQLite backend
authorsfan5 <sfan5@live.de>
Wed, 19 Jan 2022 21:42:53 +0000 (22:42 +0100)
committersfan5 <sfan5@live.de>
Fri, 28 Jan 2022 16:16:02 +0000 (17:16 +0100)
tested on Android 11, fixes #11937

src/database/database-sqlite3.cpp

index e9442118e3ebac0a671573324a7c94bca1579b52..1e63ae9d85c1ba7990f6a0aa42396b7d1f2f0804 100644 (file)
@@ -228,11 +228,7 @@ void MapDatabaseSQLite3::createDatabase()
 void MapDatabaseSQLite3::initStatements()
 {
        PREPARE_STATEMENT(read, "SELECT `data` FROM `blocks` WHERE `pos` = ? LIMIT 1");
-#ifdef __ANDROID__
-       PREPARE_STATEMENT(write,  "INSERT INTO `blocks` (`pos`, `data`) VALUES (?, ?)");
-#else
        PREPARE_STATEMENT(write, "REPLACE INTO `blocks` (`pos`, `data`) VALUES (?, ?)");
-#endif
        PREPARE_STATEMENT(delete, "DELETE FROM `blocks` WHERE `pos` = ?");
        PREPARE_STATEMENT(list, "SELECT `pos` FROM `blocks`");
 
@@ -265,19 +261,6 @@ bool MapDatabaseSQLite3::saveBlock(const v3s16 &pos, const std::string &data)
 {
        verifyDatabase();
 
-#ifdef __ANDROID__
-       /**
-        * Note: For some unknown reason SQLite3 fails to REPLACE blocks on Android,
-        * deleting them and then inserting works.
-        */
-       bindPos(m_stmt_read, pos);
-
-       if (sqlite3_step(m_stmt_read) == SQLITE_ROW) {
-               deleteBlock(pos);
-       }
-       sqlite3_reset(m_stmt_read);
-#endif
-
        bindPos(m_stmt_write, pos);
        SQLOK(sqlite3_bind_blob(m_stmt_write, 2, data.data(), data.size(), NULL),
                "Internal error: failed to bind query at " __FILE__ ":" TOSTRING(__LINE__));