Support for TLC(Tizen Library cache) (#260)
[platform/core/dotnet/launcher.git] / NativeLauncher / util / db_manager.cc
index 6edadfb..0e05814 100644 (file)
  * limitations under the License.
  */
 
-#include <algorithm>
-
-#include "db_manager.h"
 #include "log.h"
-#include "tac_common.h"
+#include "db_manager.h"
+
+#include <algorithm>
 
 #ifdef  LOG_TAG
 #undef  LOG_TAG
@@ -30,7 +29,7 @@ static int dbIntegrityCheckCb(void *user_data, int argc, char **argv, char **not
        bool* is_db_corrupted = static_cast<bool*>(user_data);
        std::string result_DB_check = argv[0];
        std::transform(result_DB_check.begin(), result_DB_check.end(), result_DB_check.begin(), ::tolower);
-       if(result_DB_check != "ok") {
+       if (result_DB_check != "ok") {
                *is_db_corrupted = true;
                _ERR("DB integrity check failed");
                return -1;
@@ -46,11 +45,7 @@ sqlite3* dbCreate(std::string path, std::string query)
        int ret = sqlite3_open(path.c_str(), &sqlite);
        if (ret != SQLITE_OK) {
                _INFO("DB file is corrupted, start to recover corrupted db");
-               if (restoreTACDB() != TAC_ERROR_NONE) {
-                       _ERR("Sqlite error : [%d, %s]", ret, path.c_str());
-                       return NULL;
-               }
-               return dbCreate(path, query);
+               return sqlite;
        }
        ret = sqlite3_exec(sqlite, "PRAGMA journal_mode = PERSIST", NULL, NULL, NULL);
        if (ret != SQLITE_OK) {
@@ -69,13 +64,9 @@ sqlite3* dbCreate(std::string path, std::string query)
        ret = sqlite3_exec(sqlite, "PRAGMA integrity_check", dbIntegrityCheckCb, &is_db_corrupted, NULL);
        if (ret == SQLITE_CORRUPT || is_db_corrupted) {
                _INFO("DB file is corrupted, start to recover corrupted db");
-               if (restoreTACDB() != TAC_ERROR_NONE) {
-                       _ERR("Sqlite error : [%d, %s]", ret, path.c_str());
-                       sqlite3_close(sqlite);
-                       sqlite = NULL;
-                       return sqlite;
-               }
-               return dbCreate(path, query);
+               sqlite3_close(sqlite);
+               sqlite = NULL;
+               return sqlite;
        }
        return sqlite;
 }
@@ -87,22 +78,14 @@ sqlite3* dbOpen(std::string path)
        int ret = sqlite3_open(path.c_str(), &sqlite);
        if (ret != SQLITE_OK) {
                _INFO("DB file is corrupted, start to recover corrupted db");
-               if (restoreTACDB() != TAC_ERROR_NONE) {
-                       _ERR("Sqlite error : [%d, %s]", ret, path.c_str());
-                       return NULL;
-               }
-               return dbOpen(path);
+               return sqlite;
        }
        ret = sqlite3_exec(sqlite, "PRAGMA integrity_check", dbIntegrityCheckCb, &is_db_corrupted, NULL);
        if (ret == SQLITE_CORRUPT || is_db_corrupted) {
                _INFO("DB file is corrupted, start to recover corrupted db");
-               if (restoreTACDB() != TAC_ERROR_NONE) {
-                       _ERR("Sqlite error : [%d, %s]", ret, path.c_str());
-                       sqlite3_close(sqlite);
-                       sqlite = NULL;
-                       return sqlite;
-               }
-               return dbOpen(path);
+               sqlite3_close(sqlite);
+               sqlite = NULL;
+               return sqlite;
        }
        return sqlite;
 }
@@ -137,7 +120,7 @@ bool dbUpdate(sqlite3 *sqlite, std::string path, std::string query)
 {
        sqlite3_stmt *stmt = NULL;
        int ret = sqlite3_exec(sqlite, "BEGIN;", NULL, NULL, NULL);
-       ret = sqlite3_prepare(sqlite, query.c_str(), QUERY_MAX_LEN , &stmt, NULL);
+       ret = sqlite3_prepare(sqlite, query.c_str(), query.size(), &stmt, NULL);
        if (ret != SQLITE_OK) {
                _ERR("Sqlite error : [%d, %s]", ret, sqlite3_errmsg(sqlite));
                dbClose(sqlite);
@@ -158,7 +141,7 @@ bool dbInsert(sqlite3 *sqlite, std::string path, std::string query)
 {
        sqlite3_stmt *stmt = NULL;
        int ret = sqlite3_exec(sqlite, "BEGIN;", NULL, NULL, NULL);
-       ret = sqlite3_prepare(sqlite, query.c_str(), QUERY_MAX_LEN , &stmt, NULL);
+       ret = sqlite3_prepare(sqlite, query.c_str(), query.size(), &stmt, NULL);
        if (ret != SQLITE_OK) {
                _ERR("Sqlite error : [%d, %s]", ret, sqlite3_errmsg(sqlite));
                dbClose(sqlite);
@@ -180,7 +163,7 @@ std::vector<std::string> dbSelect(sqlite3 *sqlite, std::string path, std::string
        std::vector<std::string> updateDB;
        sqlite3_stmt* stmt = NULL;
        const char* str = NULL;
-       int ret = sqlite3_prepare_v2(sqlite, query.c_str(), strlen(query.c_str()), &stmt, NULL);
+       int ret = sqlite3_prepare_v2(sqlite, query.c_str(), query.size(), &stmt, NULL);
        if (ret != SQLITE_OK) {
                _ERR("Sqlite error : [%d, %s]", ret, sqlite3_errmsg(sqlite));
                dbClose(sqlite);
@@ -198,7 +181,7 @@ bool dbDelete(sqlite3 *sqlite, std::string path, std::string query)
 {
        sqlite3_stmt *stmt = NULL;
        int ret = sqlite3_exec(sqlite, "BEGIN;", NULL, NULL, NULL);
-       ret = sqlite3_prepare(sqlite, query.c_str(), QUERY_MAX_LEN , &stmt, NULL);
+       ret = sqlite3_prepare(sqlite, query.c_str(), query.size(), &stmt, NULL);
        if (ret != SQLITE_OK) {
                _ERR("Sqlite error : [%d, %s]", ret, sqlite3_errmsg(sqlite));
                dbClose(sqlite);