From 6821e84a6dfab5aa4dd93a40977884dff8a66274 Mon Sep 17 00:00:00 2001 From: Kyuho Jo Date: Wed, 27 Jan 2016 20:44:53 +0900 Subject: [PATCH] Replace body of 'get_values_from_table_sync' with calling 'get_values_from_table_sync_order_by' Change-Id: I9c93c257c6dea1d9e214662d676343fc9adf0c01 Signed-off-by: Kyuho Jo --- TelegramTizen/db_manager/tg_db_manager.c | 131 +------------------------------ 1 file changed, 1 insertion(+), 130 deletions(-) diff --git a/TelegramTizen/db_manager/tg_db_manager.c b/TelegramTizen/db_manager/tg_db_manager.c index ccabfc4..4dc0c5f 100644 --- a/TelegramTizen/db_manager/tg_db_manager.c +++ b/TelegramTizen/db_manager/tg_db_manager.c @@ -589,136 +589,7 @@ Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List Eina_List* get_values_from_table_sync(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* wc, unsigned int limit, unsigned int offset) { - sqlite3_stmt *stmt; - const char *name; - int query_len; - Eina_List *l; - Eina_List *result = NULL; - Eina_List *record; - char *query; - char *ptr; - int ret; - const char *type; - int col; - sqlite3* db = create_database(DEFAULT_TG_DATABASE_PATH); - char* where_clause = NULL; - - if (wc) { - where_clause = (char*)malloc(strlen("WHERE ") + strlen(wc) + 1); - strcpy(where_clause, "WHERE "); - strcat(where_clause, wc); - } - - - if (!table_name || !column_names) { - return NULL; - } - - query_len = strlen("SELECT "); - EINA_LIST_FOREACH(column_names, l, name) { - query_len += strlen(name) + 2; /* ", " */ - } - - query_len += strlen(" FROM "); - query_len += strlen(table_name) + 1; - query_len += (where_clause ? strlen(where_clause) : 0); - query_len += ((limit != TG_DBMGR_NOLIMITED) ? strlen("LIMIT OFFSET") + 20 : 0); - query_len += 2; - - query = malloc(query_len); - if (!query) { - return NULL; - } - - strcpy(query, "SELECT "); - ptr = query +strlen("SELECT "); - - if (column_names) { - EINA_LIST_FOREACH(column_names, l, name) { - ptr += sprintf(ptr, "%s, ", name); - } - ptr -= 2; /* Delete last two characters, ", " */ - } else { - strcpy(ptr, "*"); - ptr++; - } - - if (limit == TG_DBMGR_NOLIMITED) { - ptr += sprintf(ptr, " FROM %s %s;", table_name, where_clause ? where_clause : ""); - } else { - ptr += sprintf(ptr, " FROM %s %s LIMIT %d OFFSET %d;", table_name, where_clause ? where_clause : "", limit, offset); - } - - LOGD("Query: %s", query); - - ret = sqlite3_prepare_v2(db, query, -1, &stmt, NULL); - free(query); - if (ret != SQLITE_OK) { - close_database(db); - return NULL; - } - - - while(sqlite3_step(stmt) == SQLITE_ROW) { - col = 0; - record = NULL; - EINA_LIST_FOREACH(column_types, l, type) { - if (!type) { - /** - * @note - * Not possible - */ - continue; - } - - if (!strncmp(type, "INTEGER", strlen("INTEGER"))) { - int temp; - int *val; - - temp = sqlite3_column_int64(stmt, col); - val = malloc(sizeof(int)); - if (!val) { - /** - * @todo - * Handling exceptional cases. - */ - } - *val = temp; - - record = eina_list_append(record, val); - } else if (!strncmp(type, "TEXT", strlen("TEXT"))) { - char *val; - const char *text; - - text = (const char *)sqlite3_column_text(stmt, col); - if (!text || text[0] == '\0') { - //val = strdup("_null_"); - val = strdup(""); - } else { - val = strdup(text); - } - if (!val) { - /** - * @todo - * Handling exceptional cases - */ - } else { - record = eina_list_append(record, val); - } - } - col++; - } - result = eina_list_append(result, record); - } - - sqlite3_finalize(stmt); - - if (where_clause) { - free(where_clause); - where_clause = NULL; - } - close_database(db); - return result; + return get_values_from_table_sync_order_by(table_name, column_names, column_types, NULL, EINA_FALSE, wc, limit, offset); } -- 2.7.4