2 * pkgmgr_parser_db_util
4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
7 * Jaeho Lee <jaeho81.lee@samsung.com>, Shobhit Srivastava <shobhit.s@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
24 #include "pkgmgr_parser.h"
25 #include "pkgmgrinfo_debug.h"
30 #define LOG_TAG "PKGMGR_PARSER"
32 int _pkgmgr_db_open(const char *dbfile, sqlite3 **database)
35 retvm_if(dbfile == NULL, PM_PARSER_R_ERROR, "dbfile is NULL");
36 retvm_if(database == NULL, PM_PARSER_R_ERROR, "database is NULL");
38 ret = db_util_open(dbfile, database, 0);
39 retvm_if(ret != SQLITE_OK, PM_PARSER_R_ERROR, "db_open fail[ret = %d]\n", ret);
44 int _pkgmgr_db_prepare(sqlite3 *database, const char *query, sqlite3_stmt **stmt)
47 retvm_if(database == NULL, PM_PARSER_R_ERROR, "database is NULL");
48 retvm_if(query == NULL, PM_PARSER_R_ERROR, "query is NULL");
49 retvm_if(stmt == NULL, PM_PARSER_R_ERROR, "stmt is NULL");
51 ret = sqlite3_prepare_v2(database, query, strlen(query), stmt, NULL);
52 retvm_if(ret != SQLITE_OK, PM_PARSER_R_ERROR, "db_prepare fail[ret = %d]\n", ret);
57 int _pkgmgr_db_step(sqlite3_stmt *stmt)
60 retvm_if(stmt == NULL, PM_PARSER_R_ERROR, "stmt is NULL");
62 ret = sqlite3_step(stmt);
63 retvm_if(ret != SQLITE_ROW, PM_PARSER_R_ERROR, "db_step fail[ret = %d]\n", ret);
68 int _pkgmgr_db_get_str(sqlite3_stmt *stmt, int index, char **str)
70 retvm_if(stmt == NULL, PM_PARSER_R_ERROR, "stmt is NULL");
71 retvm_if(str == NULL, PM_PARSER_R_ERROR, "str is NULL");
73 *str = (char *)sqlite3_column_text(stmt, index);
78 int _pkgmgr_db_finalize(sqlite3_stmt *stmt)
81 retvm_if(stmt == NULL, PM_PARSER_R_ERROR, "stmt is NULL");
83 ret = sqlite3_finalize(stmt);
84 retvm_if(ret != SQLITE_OK, PM_PARSER_R_ERROR, "db_finalize fail[ret = %d]\n", ret);
89 int _pkgmgr_db_close(sqlite3 *database)
92 ret = sqlite3_close(database);
93 retvm_if(ret != SQLITE_OK, PM_PARSER_R_ERROR, "db_close fail[ret = %d]\n", ret);