Add missing codes for pkg update info 83/128183/5
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 8 May 2017 03:50:28 +0000 (12:50 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 12 May 2017 01:57:13 +0000 (01:57 +0000)
- Add query for package_update_info table into query list to
create it automatically
- Add functions to insert update info while install pkg

Change-Id: I5fc247999a75f9aa3dcd41e79981efe230b3d3c5
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
parser/src/pkgmgr_parser_db.c

index 1b94e74..9394c87 100644 (file)
@@ -301,6 +301,7 @@ static const char *parser_init_queries[] = {
        QUERY_CREATE_TABLE_PACKAGE_INFO,
        QUERY_CREATE_TABLE_PACKAGE_LOCALIZED_INFO,
        QUERY_CREATE_TABLE_PACKAGE_PRIVILEGE_INFO,
+       QUERY_CREATE_TABLE_PACKAGE_UPDATE_INFO,
        QUERY_CREATE_TABLE_PACKAGE_APP_INFO,
        QUERY_CREATE_TABLE_PACKAGE_APP_LOCALIZED_INFO,
        QUERY_CREATE_TABLE_PACKAGE_APP_ICON_SECTION_INFO, /* ? */
@@ -1608,6 +1609,35 @@ static int __insert_application_info(sqlite3 *db, manifest_x *mfx)
        return 0;
 }
 
+static int __insert_package_update_info(sqlite3 *db, manifest_x *mfx)
+{
+       static const char query[] =
+               "INSERT INTO package_update_info (package, update_version) "
+               "VALUES (?, ?)";
+       int ret;
+       int idx;
+       sqlite3_stmt *stmt;
+
+       ret = sqlite3_prepare_v2(db, query, strlen(query), &stmt, NULL);
+       if (ret != SQLITE_OK) {
+               _LOGE("prepare failed: %s", sqlite3_errmsg(db));
+               return -1;
+       }
+
+       idx = 1;
+       __BIND_TEXT(db, stmt, idx++, mfx->package);
+       __BIND_TEXT(db, stmt, idx, mfx->version);
+       ret = sqlite3_step(stmt);
+       if (ret != SQLITE_DONE) {
+               _LOGE("step failed: %s", sqlite3_errmsg(db));
+               sqlite3_finalize(stmt);
+               return -1;
+       }
+       sqlite3_finalize(stmt);
+
+       return 0;
+}
+
 static int __insert_package_localized_info(sqlite3 *db, manifest_x *mfx)
 {
        static const char query[] =
@@ -1752,6 +1782,8 @@ static int __insert_package_info(sqlite3 *db, manifest_x *mfx)
 
        sqlite3_finalize(stmt);
 
+       if (__insert_package_update_info(db, mfx))
+               return -1;
        if (__insert_package_localized_info(db, mfx))
                return -1;
        if (__insert_application_info(db, mfx))