Modify to update database using pkgmgr-parser api 19/316519/1
authorIlho Kim <ilho159.kim@samsung.com>
Mon, 12 Aug 2024 01:54:51 +0000 (10:54 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Thu, 22 Aug 2024 11:49:37 +0000 (20:49 +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>
(cherry picked from commit d78120a4afff8df81640e8f8c5809c9fbb7c3a15)

src/pkg_upgrade/src/db_upgrader.cc

index a75631000e244b7c8827a0a7473ba8d28ef3f810..de6884f18da017e447b51f756a9de019d60f0ece 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;
@@ -56,18 +46,8 @@ bool DbUpgrader::Upgrade() {
 }
 
 bool DbUpgrader::SetRwPkg(const std::string& pkgid) {
-  try {
-    Database database(kDbPath, SQLITE_OPEN_READWRITE);
-    auto q = 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;
   }