* limitations under the License.
*/
-#include "db_handle_provider.hh"
#include "pkg_set_db_handler.hh"
#include <vector>
-#include "pkgmgr_parser_db.h"
+#include "db_handle_provider.hh"
+
+#include "pkgmgrinfo_debug.h"
+#include "pkgmgrinfo_internal.h"
namespace pkgmgr_common {
namespace database {
-PkgSetDBHandler::PkgSetDBHandler(uid_t uid)
- : AbstractDBHandler(uid), uid_(uid) {}
+PkgSetDBHandler::PkgSetDBHandler(uid_t uid, int pid)
+ : AbstractDBHandler(uid, pid), uid_(uid) {}
PkgSetDBHandler::~PkgSetDBHandler() {}
-void PkgSetDBHandler::SetPkgInfo(package_x* package) { package_ = package; }
-void PkgSetDBHandler::SetPkgID(std::string pkgid) { pkgid = std::move(pkgid); }
-void PkgSetDBHandler::SetWriteType(WriteType write_type) { write_type_ = write_type; }
+void PkgSetDBHandler::SetPkgInfo(package_x* package) {
+ package_ = package;
+}
+
+void PkgSetDBHandler::SetPkgID(std::string pkgid) {
+ pkgid = std::move(pkgid);
+}
+
+void PkgSetDBHandler::SetWriteType(WriteType write_type) {
+ write_type_ = write_type;
+}
-std::vector<std::vector<std::string>>&& PkgSetDBHandler::GetResult() {
+std::vector<std::vector<std::string>> PkgSetDBHandler::GetResult() {
return std::move(result_);
}
int PkgSetDBHandler::Execute() {
SetOpType(OPERATION_TYPE_WRITE);
SetDBType(DB_TYPE_FILE_PKGDB);
- //result_.clear();
- //result_.resize(1);
- if (!Connect()) {
- //result_[0].emplace_back("FAIL");
+ if (!Connect())
return PMINFO_R_ERROR;
- }
int ret = 0;
- DBHandleProvider::GetInst(uid_).SetMemoryMode(true);
- std::vector<sqlite3*> conn_list = GetConnection();
- sqlite3* conn = conn_list.front();
- if (write_type_ == Insert) {
+ DBHandleProvider::GetInst(uid_).SetMemoryMode(GetPID(), true);
+ std::vector<std::pair<sqlite3*, uid_t>> conn_list = GetConnection();
+ sqlite3* conn = conn_list.front().first;
+ if (write_type_ == Insert)
ret = pkgmgr_parser_insert_pkg_info(conn, package_, uid_);
- } else if (write_type_ == Update) {
+ else if (write_type_ == Update)
ret = pkgmgr_parser_update_pkg_info(conn, package_, uid_);
- } else if (write_type_ == Delete) {
+ else if (write_type_ == Delete)
ret = pkgmgr_parser_delete_pkg_info(conn, package_->package, uid_);
- } else {
+ else
+ _LOGE("Unknown db write type");
- }
-
- if (ret != PM_PARSER_R_OK) {
- //result_[0].emplace_back("FAIL");
+ if (ret != PM_PARSER_R_OK)
return ret;
- }
-
- //result_[0].emplace_back("SUCCESS");
return ret;
}