Modify to update database using pkgmgr-parser api 46/315946/2
authorIlho Kim <ilho159.kim@samsung.com>
Mon, 12 Aug 2024 01:54:51 +0000 (10:54 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Mon, 12 Aug 2024 02:01:14 +0000 (11:01 +0900)
Requires:
 [pkgmgr-info] https://review.tizen.org/gerrit/#/c/platform/core/appfw/pkgmgr-info/+/315945/

Change-Id: I9b306a17c2a6d61f3838b47bbb7709408d0e583a
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
src/pkg_upgrade/src/db_upgrader.cc

index e216ce6acfcc8887c614966cd00b4c10f7c57d96..ef7e590a23812d4d69f27d5dfc51f559e13169ba 100644 (file)
 
 #include <sqlite3.h>
 
+#include <pkgmgr_parser_db.h>
 #include <tizen-database/database.hpp>
 
 #include "common_type.hh"
 #include "logging.hh"
 
-namespace {
-
-constexpr char kDbPath[] = "/opt/dbspace/.pkgmgr_parser.db";
-constexpr char kSetRwPkgQuery[] = R"(
-UPDATE package_info
-  SET package_preload='false', package_system='false', package_update='false'
-  WHERE package=?
-)";
-
-}  // namespace
-
 namespace common_fota {
 
 using tizen_base::Database;
@@ -58,18 +48,8 @@ bool DbUpgrader::Upgrade() {
 }
 
 bool DbUpgrader::SetRwPkg(const std::string& pkgid) {
-  try {
-    Database database(kDbPath, SQLITE_OPEN_READWRITE);
-    auto q = std::move(Database::Sql(kSetRwPkgQuery).Bind(pkgid));
-    auto guard = database.CreateTransactionGuard();
-    auto r = database.Exec(q);
-    if (!r) {
-      LOG(ERROR) << "Update db failed: " << static_cast<int>(r);
-      return false;
-    }
-    guard.Commit();
-  } catch (DbException& e) {
-    LOG(ERROR) << "Exception during db operation: " << e.msg();
+  if (pkgmgr_parser_update_ro_to_rw_pkg_in_db(pkgid.c_str()) != PM_PARSER_R_OK) {
+    LOG(ERROR) << "Update db failed";
     return false;
   }