summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp
index 6aaa14c..f684f8c 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_sql.cpp
@@ -639,25 +639,25 @@ UIDArray OPimContactAccessBackend_SQL::queryByExample ( const UIDArray& uidlist,
639 + queryStr.replace(QRegExp("\\*"),"%") + "'" + ")"; 639 + queryStr.replace(QRegExp("\\*"),"%") + "'" + ")";
640 else 640 else
641 searchQuery += " (\"" + *it + "\"" + " GLOB " + "'" 641 searchQuery += " (\"" + *it + "\"" + " GLOB " + "'"
642 + queryStr + "'" + ")"; 642 + queryStr + "'" + ")";
643 643
644 } 644 }
645 } 645 }
646 646
647 delete endDate; 647 delete endDate;
648 648
649 // The following if line is a replacement for 649 // The following if line is a replacement for
650 // if ( searchQuery.endsWith( "AND" ) ) 650 // if ( searchQuery.endsWith( "AND" ) )
651 if ( searchQuery.findRev( "AND" ) == ( searchQuery.length() - 3 ) ){ 651 if ( searchQuery.findRev( "AND" ) == static_cast<int>( searchQuery.length() - 3 ) ){
652 odebug << "remove AND" << oendl; 652 odebug << "remove AND" << oendl;
653 searchQuery.remove( searchQuery.length()-3, 3 ); // Hmmmm.. 653 searchQuery.remove( searchQuery.length()-3, 3 ); // Hmmmm..
654 } 654 }
655 655
656 } 656 }
657 657
658 // Now compose the complete query 658 // Now compose the complete query
659 QString qu = "SELECT uid FROM addressbook WHERE " + uid_query; 659 QString qu = "SELECT uid FROM addressbook WHERE " + uid_query;
660 660
661 if ( !datediff_query.isEmpty() && !searchQuery.isEmpty() ){ 661 if ( !datediff_query.isEmpty() && !searchQuery.isEmpty() ){
662 // If we use DateDiff, we have to intersect two queries. 662 // If we use DateDiff, we have to intersect two queries.
663 qu = datediff_query + QString( " INTERSECT " ) + qu + searchQuery; 663 qu = datediff_query + QString( " INTERSECT " ) + qu + searchQuery;
@@ -864,24 +864,30 @@ UIDArray OPimContactAccessBackend_SQL::sorted( const UIDArray& ar, bool asc, int
864 case OPimContactAccess::SortNickname: 864 case OPimContactAccess::SortNickname:
865 query += " \"Nickname\""; 865 query += " \"Nickname\"";
866 break; 866 break;
867 case OPimContactAccess::SortAnniversary: 867 case OPimContactAccess::SortAnniversary:
868 query += " \"Anniversary\""; 868 query += " \"Anniversary\"";
869 break; 869 break;
870 case OPimContactAccess::SortBirthday: 870 case OPimContactAccess::SortBirthday:
871 query += " \"Birthday\""; 871 query += " \"Birthday\"";
872 break; 872 break;
873 case OPimContactAccess::SortGender: 873 case OPimContactAccess::SortGender:
874 query += " \"Gender\""; 874 query += " \"Gender\"";
875 break; 875 break;
876 case OPimContactAccess::SortBirthdayWithoutYear:
877 query += " substr(\"Birthday\", 6, 10)";
878 break;
879 case OPimContactAccess::SortAnniversaryWithoutYear:
880 query += " substr(\"Anniversary\", 6, 10)";
881 break;
876 default: 882 default:
877 query += " \"Last Name\""; 883 query += " \"Last Name\"";
878 } 884 }
879 885
880 if ( !asc ) 886 if ( !asc )
881 query += " DESC"; 887 query += " DESC";
882 888
883 889
884 odebug << "sorted query is: " << query << "" << oendl; 890 odebug << "sorted query is: " << query << "" << oendl;
885 891
886 OSQLRawQuery raw( query ); 892 OSQLRawQuery raw( query );
887 OSQLResult res = m_driver->query( &raw ); 893 OSQLResult res = m_driver->query( &raw );