summaryrefslogtreecommitdiff
path: root/libopie2
authorzecke <zecke>2005-06-27 18:08:35 (UTC)
committer zecke <zecke>2005-06-27 18:08:35 (UTC)
commitcecffa1dc3a7bd1526be00e7bc4a4a151e6f2c9c (patch) (side-by-side diff)
treef1507ae7e0ba8d3c41e0381b84827c97823edeca /libopie2
parent058e3b6b0bc8f29314ee794bf7e993ebf3bfe072 (diff)
downloadopie-cecffa1dc3a7bd1526be00e7bc4a4a151e6f2c9c.zip
opie-cecffa1dc3a7bd1526be00e7bc4a4a151e6f2c9c.tar.gz
opie-cecffa1dc3a7bd1526be00e7bc4a4a151e6f2c9c.tar.bz2
-Fix compile warning (signed vs unsigned)
-Somehow the split up patches missed the query string... (I knew I would mess up)
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
@@ -627,49 +627,49 @@ UIDArray OPimContactAccessBackend_SQL::queryByExample ( const UIDArray& uidlist,
searchQuery += QString( " (\"%1\" LIKE '%-%-%2')" )
.arg( *it )
.arg( QString::number( endDate->day() ).rightJustify( 2, '0' ) );
}
break;
default:
// Switching between case sensitive and insensitive...
// LIKE is not case sensitive, GLOB is case sensitive
// Do exist a better solution to switch this ?
if ( settings & OPimContactAccess::IgnoreCase )
searchQuery += " (\"" + *it + "\"" + " LIKE " + "'"
+ queryStr.replace(QRegExp("\\*"),"%") + "'" + ")";
else
searchQuery += " (\"" + *it + "\"" + " GLOB " + "'"
+ queryStr + "'" + ")";
}
}
delete endDate;
// The following if line is a replacement for
// if ( searchQuery.endsWith( "AND" ) )
- if ( searchQuery.findRev( "AND" ) == ( searchQuery.length() - 3 ) ){
+ if ( searchQuery.findRev( "AND" ) == static_cast<int>( searchQuery.length() - 3 ) ){
odebug << "remove AND" << oendl;
searchQuery.remove( searchQuery.length()-3, 3 ); // Hmmmm..
}
}
// Now compose the complete query
QString qu = "SELECT uid FROM addressbook WHERE " + uid_query;
if ( !datediff_query.isEmpty() && !searchQuery.isEmpty() ){
// If we use DateDiff, we have to intersect two queries.
qu = datediff_query + QString( " INTERSECT " ) + qu + searchQuery;
} else if ( datediff_query.isEmpty() && !searchQuery.isEmpty() ){
qu += searchQuery;
} else if ( !datediff_query.isEmpty() && searchQuery.isEmpty() ){
qu = datediff_query;
} else if ( datediff_query.isEmpty() && searchQuery.isEmpty() ){
UIDArray empty;
return empty;
}
odebug << "queryByExample query: " << qu << "" << oendl;
// Execute query and return the received uid's
@@ -852,48 +852,54 @@ UIDArray OPimContactAccessBackend_SQL::sorted( const UIDArray& ar, bool asc, int
case OPimContactAccess::SortLastName:
query += " \"Last Name\"";
break;
case OPimContactAccess::SortFileAsName:
query += " \"File As\"";
break;
case OPimContactAccess::SortSuffix:
query += " \"Suffix\"";
break;
case OPimContactAccess::SortEmail:
query += " \"Default Email\"";
break;
case OPimContactAccess::SortNickname:
query += " \"Nickname\"";
break;
case OPimContactAccess::SortAnniversary:
query += " \"Anniversary\"";
break;
case OPimContactAccess::SortBirthday:
query += " \"Birthday\"";
break;
case OPimContactAccess::SortGender:
query += " \"Gender\"";
break;
+ case OPimContactAccess::SortBirthdayWithoutYear:
+ query += " substr(\"Birthday\", 6, 10)";
+ break;
+ case OPimContactAccess::SortAnniversaryWithoutYear:
+ query += " substr(\"Anniversary\", 6, 10)";
+ break;
default:
query += " \"Last Name\"";
}
if ( !asc )
query += " DESC";
odebug << "sorted query is: " << query << "" << oendl;
OSQLRawQuery raw( query );
OSQLResult res = m_driver->query( &raw );
if ( res.state() != OSQLResult::Success ){
UIDArray empty;
return empty;
}
UIDArray list = extractUids( res );
odebug << "sorted needed " << t.elapsed() << " ms!" << oendl;
return list;
}