Patch for selecting limited records of messages. 30/57530/1
authorKyuho Jo <kyuho.jo@samsung.com>
Thu, 21 Jan 2016 02:01:08 +0000 (11:01 +0900)
committerKyuho Jo <kyuho.jo@samsung.com>
Thu, 21 Jan 2016 02:02:31 +0000 (11:02 +0900)
Change-Id: I117a61887f0452478fde718e67c49b16f37de575
Signed-off-by: Kyuho Jo <kyuho.jo@samsung.com>
TelegramTizen/db_manager/tg_db_manager.c
TelegramTizen/db_manager/tg_db_manager.h
TelegramTizen/src/tg_db_wrapper.c
TelegramTizen/src/tg_messaging_view.c

index a844746..d6f1b05 100644 (file)
@@ -386,41 +386,24 @@ int get_number_of_rows(char* table_name, char* where_clause)
        return no_of_rows;
 }
 
-Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* order_column, Eina_Bool is_asc, const char* where_clause)
+Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* order_column, Eina_Bool is_asc, const char* where_clause, unsigned int limit, unsigned int offset)
 {
        Eina_List* query_vals = NULL;
 
+
        if (!table_name) {
                return NULL;
        }
-       sqlite3* db = create_database(DEFAULT_TG_DATABASE_PATH);
-       /*****No rows identification*****/
-
-       char* row_cnt_qry = (char*)malloc(strlen("SELECT COUNT(*) FROM ") + strlen(table_name) + strlen(";") +1);
-       strcpy(row_cnt_qry, "SELECT COUNT(*) FROM ");
-       strcat(row_cnt_qry, table_name);
-       strcat(row_cnt_qry, ";");
 
-       int no_of_rows = 0;
-       //ret = sqlite3_exec(s_info.db,var_query, callback,(void*)s_info.db, &err_msg);
-
-       sqlite3_stmt *stmt;
-       if (sqlite3_prepare_v2(db, row_cnt_qry, -1, &stmt, NULL) == SQLITE_OK) {
-               if (sqlite3_step(stmt) == SQLITE_ERROR) {
-                       no_of_rows = 0;
-               } else {
-                       no_of_rows = sqlite3_column_int(stmt, 0);
-               }
-               sqlite3_finalize(stmt);
-       }
-       close_database(db);
-       free(row_cnt_qry);
-       if(no_of_rows <= 0) {
+       /*****No rows identification*****/
+       if (get_number_of_rows(table_name, NULL) == 0) {
+               /* There are no rows */
                return NULL;
        }
 
        /********************************/
-       db = create_database(DEFAULT_TG_DATABASE_PATH);
+       sqlite3_stmt *stmt;
+       sqlite3* db =  create_database(DEFAULT_TG_DATABASE_PATH);
        int ret = 0 ;
        char* err_msg = 0;
        //int col_count = eina_list_count(column_names);
@@ -479,7 +462,17 @@ Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List
                }
        }
 
-
+       if (limit != TG_DBMGR_NOLIMITED && offset != TG_DBMGR_NOLIMITED) {
+               if (limit > 4000000000 && offset > 4000000000) {
+                       /* too big size to handle. ignore */
+               }
+               else {
+                       char limit_clause[50] = { 0, };
+                       snprintf(limit_clause, 50, " LIMIT %d OFFSET %d ", limit, offset);
+                       var_query = realloc(var_query, strlen(var_query) + strlen(limit_clause) + 1);
+                       strcat(var_query, limit_clause);
+               }
+       }
 
        var_query = realloc(var_query, strlen(var_query) + 2);
        strcat(var_query, ";");
@@ -520,7 +513,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, int limit, int offset)
+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;
@@ -555,6 +548,7 @@ Eina_List* get_values_from_table_sync(const char* table_name, Eina_List* column_
        query_len += strlen(" FROM ");
        query_len += strlen(table_name) + 1;
        query_len += (where_clause ? strlen(where_clause) : 0);
+       query_len += ((limit != TG_DBMGR_NOLIMITED && offset != TG_DBMGR_NOLIMITED) ? strlen("LIMIT OFFSET") + 20 : 0);
        query_len += 2;
 
        query = malloc(query_len);
@@ -575,13 +569,12 @@ Eina_List* get_values_from_table_sync(const char* table_name, Eina_List* column_
                ptr++;
        }
 
-       if (limit == -1 || offset == -1) {
+       if (limit == TG_DBMGR_NOLIMITED || offset == 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);
index d397ddb..c21bc38 100644 (file)
 
 #include "tg_common.h"
 #include <sqlite3.h>
+
+#define TG_DBMGR_NOLIMITED 0
+
 extern sqlite3* create_database(char* database_name);
 extern Eina_Bool close_database(sqlite3* db);
 extern Eina_Bool create_table(const char* table_name, Eina_List* column_names, Eina_List* column_types);
 extern Eina_Bool insert_table(const char* table_name, Eina_List* column_names, Eina_List* column_types, Eina_List* column_values);
 extern Eina_Bool update_table(const char* table_name, Eina_List* column_names, Eina_List* column_types, Eina_List* column_values, const char* where_clause);
 extern Eina_Bool get_values_from_table(const char* table_name, Eina_List* column_names, int (*callback)(void*,int,char**,char**), const char* where_clause, void* data_to_callback);
-extern Eina_List* get_values_from_table_sync(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* where_clause, int limit, int offset);
-extern Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* order_column, Eina_Bool is_asc, const char* where_clause);
+extern Eina_List* get_values_from_table_sync(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* where_clause, unsigned int limit, unsigned int offset);
+extern Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* order_column, Eina_Bool is_asc, const char* where_clause, unsigned int limit, unsigned int offset);
 extern int get_number_of_rows(char* table_name, char* where_clause);
 extern Eina_List *tg_db_get_user_info(tgl_peer_id_t *user_id);
 extern Eina_List *tg_db_get_chat_info(const char *table_name);
index 2942b3d..6a8cd7b 100644 (file)
@@ -549,7 +549,7 @@ Eina_List* get_all_peer_details(char* start_name)
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER);
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER);
 
-       //peer_details = get_values_from_table_sync(db, table_name, col_names, col_types, NULL, -1, -1);
+       //peer_details = get_values_from_table_sync(db, table_name, col_names, col_types, NULL, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        char *where_clause = NULL;
        if (start_name) {
                where_clause = (char *)malloc(strlen(PEER_INFO_TABLE_PRINT_NAME) + strlen(" LIKE '") + strlen(start_name) + strlen("%'") + 1);
@@ -559,7 +559,7 @@ Eina_List* get_all_peer_details(char* start_name)
                strcat(where_clause, "%'");
        }
 
-       peer_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, PEER_INFO_TABLE_LAST_MESSAGE_DATE, EINA_FALSE, where_clause);
+       peer_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, PEER_INFO_TABLE_LAST_MESSAGE_DATE, EINA_FALSE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -613,7 +613,7 @@ peer_with_pic_s* get_peer_info(int peer_id)
        strcat(where_clause, " = ");
        strcat(where_clause, chat_id_str);
 
-       peer_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, PEER_INFO_TABLE_LAST_MESSAGE_DATE, EINA_FALSE, where_clause);
+       peer_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, PEER_INFO_TABLE_LAST_MESSAGE_DATE, EINA_FALSE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        free(where_clause);
 
@@ -758,7 +758,7 @@ Eina_List* get_group_chat_details()
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER);
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER);
 
-       chat_details = get_values_from_table_sync(table_name, col_names, col_types, NULL, -1, -1);
+       chat_details = get_values_from_table_sync(table_name, col_names, col_types, NULL, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -813,7 +813,7 @@ tg_chat_info_s* get_chat_info(int chat_id)
        strcat(where_clause, " = ");
        strcat(where_clause, chat_id_str);
 
-       chat_details = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       chat_details = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        eina_list_free(col_names);
@@ -968,7 +968,7 @@ Eina_List* get_registered_user_info()
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER);
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER);
 
-       user_details = get_values_from_table_sync(table_name, col_names, col_types, NULL, -1, -1);
+       user_details = get_values_from_table_sync(table_name, col_names, col_types, NULL, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -1033,7 +1033,7 @@ Eina_List* get_buddy_list_info()
        strcat(where_clause, " = ");
        strcat(where_clause, unknown_str);
 
-       user_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, USER_INFO_TABLE_FIRST_NAME, EINA_TRUE, where_clause);
+       user_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, USER_INFO_TABLE_FIRST_NAME, EINA_TRUE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -1099,7 +1099,7 @@ Eina_List* get_unknown_buddy_list_info()
        strcat(where_clause, " = ");
        strcat(where_clause, unknown_str);
 
-       user_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, USER_INFO_TABLE_PRINT_NAME, EINA_TRUE, where_clause);
+       user_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, USER_INFO_TABLE_PRINT_NAME, EINA_TRUE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -1165,7 +1165,7 @@ char* get_chat_bg()
        strcpy(where_clause, TG_SETTINGS_ROW_ID);
        strcat(where_clause, " = ");
        strcat(where_clause, user_id_str);
-       settings_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       settings_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
        if (settings_array && eina_list_count(settings_array) > 0) {
                Eina_List* settings_details = eina_list_nth(settings_array, 0);
@@ -1209,7 +1209,7 @@ char* get_profile_pic_path(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
 
@@ -1256,7 +1256,7 @@ char* get_buddy_name_from_id(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
 
@@ -1303,7 +1303,7 @@ Eina_Bool is_phone_number_exists_in_buddy_list(const char *phone_num)
        strcat(where_clause, phone_num);
        strcat(where_clause, "%'");
 
-       Eina_List* buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       Eina_List* buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        if (buddy_details_array && eina_list_count(buddy_details_array) > 0) {
@@ -1347,7 +1347,7 @@ char* get_buddy_phone_num_from_id(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        if (buddy_details_array && eina_list_count(buddy_details_array) > 0) {
@@ -1391,7 +1391,7 @@ int  get_buddy_block_status(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        int is_unknown = 0;
@@ -1436,7 +1436,7 @@ int  get_buddy_delete_status(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        int is_unknown = 0;
@@ -1481,7 +1481,7 @@ int  get_buddy_unknown_status(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        int is_unknown = 0;
@@ -1526,7 +1526,7 @@ int  get_buddy_online_status(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       buddy_details_array = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        int is_online = -1;
@@ -1602,7 +1602,7 @@ Eina_List* get_buddy_info(int buddy_id)
        strcat(where_clause, " = ");
        strcat(where_clause, buddy_id_str);
 
-       user_details = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       user_details = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        free(where_clause);
 
        eina_list_free(col_names);
@@ -1719,14 +1719,14 @@ tg_message_s* get_latest_message_from_message_table(char* table_name, Eina_Bool
                strcat(where_clause, marked_del_str);
        }
 
-       message_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, MESSAGE_INFO_TABLE_DATE, EINA_FALSE, where_clause);
+       message_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, MESSAGE_INFO_TABLE_DATE, EINA_FALSE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        if (where_clause) {
                free(where_clause);
                where_clause = NULL;
        }
 
-       eina_list_free(col_names);
        eina_list_free(col_types);
+       eina_list_free(col_names);
 
 
        if (message_details && eina_list_count(message_details) > 0) {
@@ -2087,7 +2087,7 @@ tg_message_s* get_message_from_message_table(long long msg_id, char* table_name)
        strcat(where_clause, " = ");
        strcat(where_clause, msg_id_str);
 
-       message_details = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       message_details = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        free(where_clause);
        eina_list_free(col_names);
@@ -2851,7 +2851,7 @@ int get_media_size_from_db(long long media_id)
        Eina_List* col_names = NULL;
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_DOCUMENT_SIZE);
 
-       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        if (!vals) {
                //("DB error");
@@ -2895,7 +2895,7 @@ char* get_video_thumb_path_from_db(long long media_id)
        Eina_List* col_names = NULL;
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_DOCUMENT_THUMB_FILE);
 
-       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        file_path = NULL;
 
        if (!vals) {
@@ -2944,7 +2944,7 @@ char* get_media_path_from_db(long long media_id)
        Eina_List* col_names = NULL;
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_FILE_PATH);
 
-       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        file_path = NULL;
 
        if (!vals) {
@@ -3012,7 +3012,7 @@ Eina_List* get_image_sizes_from_db(long long media_id)
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_PHOTO_SIZE4);
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_PHOTO_WIDTH4);
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_PHOTO_HEIGHT4);
-       vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        eina_list_free(col_types);
        eina_list_free(col_names);
 
@@ -3168,7 +3168,7 @@ Eina_List* get_image_details_from_db(long long media_id)
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_DOCUMENT_DC);
        col_names = eina_list_append(col_names, MEDIA_INFO_TABLE_DOCUMENT_THUMB_FILE);
 
-       vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        eina_list_free(col_types);
        eina_list_free(col_names);
 
@@ -3245,7 +3245,7 @@ Eina_List* get_all_buddy_details(char* start_name)
        strcat(where_clause, start_name);
        strcat(where_clause, "%' )");
 
-       user_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, USER_INFO_TABLE_FIRST_NAME, EINA_TRUE, where_clause);
+       user_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, USER_INFO_TABLE_FIRST_NAME, EINA_TRUE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -4085,7 +4085,7 @@ Eina_List* get_all_peer_ids()
        Eina_List* col_types = NULL;
        col_types = eina_list_append(col_types, TG_DB_COLUMN_INTEGER_PRIMARY_KEY);
 
-       peer_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, PEER_INFO_TABLE_LAST_MESSAGE_DATE, EINA_FALSE, NULL);
+       peer_details = get_values_from_table_sync_order_by(table_name, col_names, col_types, PEER_INFO_TABLE_LAST_MESSAGE_DATE, EINA_FALSE, NULL, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
 
        eina_list_free(col_names);
        eina_list_free(col_types);
@@ -4230,7 +4230,7 @@ void get_buddy_contact_details_from_db(int buddy_id, char **first_name, char **l
        col_names = eina_list_append(col_names, USER_INFO_TABLE_LAST_NAME);
        col_names = eina_list_append(col_names, USER_INFO_TABLE_PHONE_NO);
 
-       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, -1, -1);
+       Eina_List* vals = get_values_from_table_sync(table_name, col_names, col_types, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        file_path = NULL;
 
        if (!vals) {
index fde3443..e6228b2 100644 (file)
@@ -2855,7 +2855,7 @@ Eina_Bool load_chat_history(Evas_Object *chat_scroller)
        strcat(where_clause, " = ");
        strcat(where_clause, unknown_str);
 
-       Eina_List* vals = get_values_from_table_sync_order_by(tablename, col_names, col_types, MESSAGE_INFO_TABLE_DATE, EINA_TRUE, where_clause);
+       Eina_List* vals = get_values_from_table_sync_order_by(tablename, col_names, col_types, MESSAGE_INFO_TABLE_DATE, EINA_TRUE, where_clause, TG_DBMGR_NOLIMITED, TG_DBMGR_NOLIMITED);
        if(!vals) {
                // set no messages yet
                return EINA_FALSE;