#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;
}
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;
}