diff options
author | Keebum Kim <keebum.kim@samsung.com> | 2013-04-01 14:30:34 +0900 |
---|---|---|
committer | Keebum Kim <keebum.kim@samsung.com> | 2013-04-01 14:30:34 +0900 |
commit | 796552717aef2cddf2a54baaf2241fa42d4028b7 (patch) | |
tree | 546aaa3270cd8cb85dca0c9618424ab459fded67 /utils/MsgUtilStorage.cpp | |
parent | 1f90239d23730192de6c37843568a8a3b1e9fdcc (diff) | |
download | msg-service-796552717aef2cddf2a54baaf2241fa42d4028b7.tar.gz msg-service-796552717aef2cddf2a54baaf2241fa42d4028b7.tar.bz2 msg-service-796552717aef2cddf2a54baaf2241fa42d4028b7.zip |
Modify number matching rule to compare full digit of number.
Change-Id: I0c4851af88ee43e40995476c12bd3c79ab693e4b
Diffstat (limited to 'utils/MsgUtilStorage.cpp')
-rwxr-xr-x | utils/MsgUtilStorage.cpp | 87 |
1 files changed, 16 insertions, 71 deletions
diff --git a/utils/MsgUtilStorage.cpp b/utils/MsgUtilStorage.cpp index 27588c0..c2c221b 100755 --- a/utils/MsgUtilStorage.cpp +++ b/utils/MsgUtilStorage.cpp @@ -843,25 +843,11 @@ bool MsgExistAddress(MsgDbHandler *pDbHandle, const MSG_MESSAGE_INFO_S *pMsg, ms *pConvId = 0; if(pMsg->nAddressCnt == 1) { - if (strlen(pMsg->addressList[0].addressVal) > MAX_PRECONFIG_NUM && pMsg->addressList[0].addressType == MSG_ADDRESS_TYPE_PLMN) { - char newPhoneNum[MAX_PRECONFIG_NUM+1]; - - memset(newPhoneNum, 0x00, sizeof(newPhoneNum)); - - MsgConvertNumber(pMsg->addressList[0].addressVal, newPhoneNum); - - memset(sqlQuery, 0x00, sizeof(sqlQuery)); - - snprintf(sqlQuery, sizeof(sqlQuery), - "SELECT CONV_ID FROM (SELECT B.CONV_ID FROM %s A, %s B WHERE A.ADDRESS_VAL LIKE '%%%%%s' AND A.CONV_ID=B.CONV_ID) GROUP BY CONV_ID HAVING COUNT(CONV_ID)=1;", - MSGFW_ADDRESS_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME, newPhoneNum); - } else { - memset(sqlQuery, 0x00, sizeof(sqlQuery)); + memset(sqlQuery, 0x00, sizeof(sqlQuery)); - snprintf(sqlQuery, sizeof(sqlQuery), - "SELECT CONV_ID FROM (SELECT B.CONV_ID FROM %s A, %s B WHERE A.ADDRESS_VAL = '%s' AND A.CONV_ID=B.CONV_ID) GROUP BY CONV_ID HAVING COUNT(CONV_ID)=1;", - MSGFW_ADDRESS_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList[0].addressVal); - } + snprintf(sqlQuery, sizeof(sqlQuery), + "SELECT CONV_ID FROM (SELECT B.CONV_ID FROM %s A, %s B WHERE A.ADDRESS_VAL = '%s' AND A.CONV_ID=B.CONV_ID) GROUP BY CONV_ID HAVING COUNT(CONV_ID)=1;", + MSGFW_ADDRESS_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList[0].addressVal); int rowCnt = 0; msg_thread_id_t convId = 0; @@ -890,25 +876,11 @@ bool MsgExistAddress(MsgDbHandler *pDbHandle, const MSG_MESSAGE_INFO_S *pMsg, ms } } else { /* multiple address */ - if (strlen(pMsg->addressList[0].addressVal) > MAX_PRECONFIG_NUM && pMsg->addressList[0].addressType == MSG_ADDRESS_TYPE_PLMN) { - char newPhoneNum[MAX_PRECONFIG_NUM+1]; - - memset(newPhoneNum, 0x00, sizeof(newPhoneNum)); - - MsgConvertNumber(pMsg->addressList[0].addressVal, newPhoneNum); - - memset(sqlQuery, 0x00, sizeof(sqlQuery)); + memset(sqlQuery, 0x00, sizeof(sqlQuery)); - snprintf(sqlQuery, sizeof(sqlQuery), - "SELECT CONV_ID FROM (SELECT B.CONV_ID FROM %s A, %s B WHERE A.ADDRESS_VAL LIKE '%%%%%s' AND A.CONV_ID=B.CONV_ID) GROUP BY CONV_ID HAVING COUNT(CONV_ID)=%d;", - MSGFW_ADDRESS_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME, newPhoneNum, pMsg->nAddressCnt); - } else { - memset(sqlQuery, 0x00, sizeof(sqlQuery)); - - snprintf(sqlQuery, sizeof(sqlQuery), - "SELECT CONV_ID FROM (SELECT B.CONV_ID FROM %s A, %s B WHERE A.ADDRESS_VAL = '%s' AND A.CONV_ID=B.CONV_ID) GROUP BY CONV_ID HAVING COUNT(CONV_ID)=%d;", - MSGFW_ADDRESS_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList[0].addressVal, pMsg->nAddressCnt); - } + snprintf(sqlQuery, sizeof(sqlQuery), + "SELECT CONV_ID FROM (SELECT B.CONV_ID FROM %s A, %s B WHERE A.ADDRESS_VAL = '%s' AND A.CONV_ID=B.CONV_ID) GROUP BY CONV_ID HAVING COUNT(CONV_ID)=%d;", + MSGFW_ADDRESS_TABLE_NAME, MSGFW_ADDRESS_TABLE_NAME, pMsg->addressList[0].addressVal, pMsg->nAddressCnt); int rowCnt = 0; int convId = 0; @@ -938,24 +910,11 @@ bool MsgExistAddress(MsgDbHandler *pDbHandle, const MSG_MESSAGE_INFO_S *pMsg, ms if (j!=0) strncat(sqlQuery, "OR ", MAX_QUERY_LEN-strlen(sqlQuery)); - if (strlen(pMsg->addressList[j].addressVal) > MAX_PRECONFIG_NUM) { - - strncat(sqlQuery, "ADDRESS_VAL LIKE '%%%%", MAX_QUERY_LEN-strlen(sqlQuery)); - - char newPhoneNum[MAX_PRECONFIG_NUM+1]; - memset(newPhoneNum, 0x00, sizeof(newPhoneNum)); - MsgConvertNumber(pMsg->addressList[j].addressVal, newPhoneNum); - - strncat(sqlQuery, newPhoneNum, MAX_QUERY_LEN-strlen(sqlQuery)); - - strncat(sqlQuery, "' ", MAX_QUERY_LEN-strlen(sqlQuery)); - } else { - strncat(sqlQuery, "ADDRESS_VAL = '", MAX_QUERY_LEN-strlen(sqlQuery)); + strncat(sqlQuery, "ADDRESS_VAL = '", MAX_QUERY_LEN-strlen(sqlQuery)); - strncat(sqlQuery, pMsg->addressList[j].addressVal, MAX_QUERY_LEN-strlen(sqlQuery)); + strncat(sqlQuery, pMsg->addressList[j].addressVal, MAX_QUERY_LEN-strlen(sqlQuery)); - strncat(sqlQuery, "' ", MAX_QUERY_LEN-strlen(sqlQuery)); - } + strncat(sqlQuery, "' ", MAX_QUERY_LEN-strlen(sqlQuery)); } strncat(sqlQuery, ");", MAX_QUERY_LEN-strlen(sqlQuery)); MSG_DEBUG("Query [%s]", sqlQuery); @@ -1019,27 +978,13 @@ int MsgStoGetUnreadCnt(MsgDbHandler *pDbHandle, MSG_MAIN_TYPE_T msgType) msg_error_t MsgStoAddContactInfo(MsgDbHandler *pDbHandle, MSG_CONTACT_INFO_S *pContactInfo, const char *pNumber) { - char newPhoneNum[MAX_PRECONFIG_NUM+1]; char sqlQuery[MAX_QUERY_LEN+1]; - if (strlen(pNumber) > MAX_PRECONFIG_NUM) { - memset(newPhoneNum, 0x00, sizeof(newPhoneNum)); - MsgConvertNumber(pNumber, newPhoneNum); - - MSG_DEBUG("Phone Number to Compare : [%s]", newPhoneNum); - - memset(sqlQuery, 0x00, sizeof(sqlQuery)); - snprintf(sqlQuery, sizeof(sqlQuery), "UPDATE %s SET \ - CONTACT_ID = %d, FIRST_NAME = ?, LAST_NAME = ?, IMAGE_PATH = '%s' \ - WHERE ADDRESS_VAL LIKE '%%%%%s';", - MSGFW_ADDRESS_TABLE_NAME, pContactInfo->contactId, pContactInfo->imagePath, newPhoneNum); - } else { - memset(sqlQuery, 0x00, sizeof(sqlQuery)); - snprintf(sqlQuery, sizeof(sqlQuery), "UPDATE %s SET \ - CONTACT_ID = %d, FIRST_NAME = ?, LAST_NAME = ?, IMAGE_PATH = '%s' \ - WHERE ADDRESS_VAL = '%s';", - MSGFW_ADDRESS_TABLE_NAME, pContactInfo->contactId, pContactInfo->imagePath, pNumber); - } + memset(sqlQuery, 0x00, sizeof(sqlQuery)); + snprintf(sqlQuery, sizeof(sqlQuery), "UPDATE %s SET \ + CONTACT_ID = %d, FIRST_NAME = ?, LAST_NAME = ?, IMAGE_PATH = '%s' \ + WHERE ADDRESS_VAL = '%s';", + MSGFW_ADDRESS_TABLE_NAME, pContactInfo->contactId, pContactInfo->imagePath, pNumber); if (pDbHandle->prepareQuery(sqlQuery) != MSG_SUCCESS) { MSG_DEBUG("sqlQuery [%s]", sqlQuery); |