diff -r 82c0024438c8 -r ab88d4a85041 metadataengine/server/src/mdsfindsqlclause.cpp --- a/metadataengine/server/src/mdsfindsqlclause.cpp Wed Apr 14 16:24:03 2010 +0300 +++ b/metadataengine/server/src/mdsfindsqlclause.cpp Tue Apr 27 17:05:23 2010 +0300 @@ -15,6 +15,7 @@ */ // INCLUDE FILES +#include #include "mdsfindsqlclause.h" #include "mdsfindsqlclausedef.h" #include "mdsclausebuffer.h" @@ -2642,10 +2643,13 @@ { case EQueryResultModeItem: case EQueryResultModeId: + { + // "GROUP BY BO.ObjectId " + iQueryBuf->AppendL( KGroupByObjectId ); + } + break; case EQueryResultModeCount: { - // "GROUP BY BO.ObjectId " - iQueryBuf->AppendL( KGroupByObjectId ); } break; @@ -2664,6 +2668,12 @@ // void CMdSFindSqlClause::AppendOrderByL() { + if( iSearchCriteria->iQueryResultType == EQueryResultModeCount ) + { + // No need to sort or group if only one count is returned + return; + } + if( iSearchCriteria->iOrderRules.iPtr.iCount > 0 ) { iQueryBuf->AppendL( KOrderBy ); @@ -2828,7 +2838,7 @@ iQueryBuf->AppendL( KComma ); iQueryBuf->BufferL().AppendNum( iSearchCriteria->iOffset ); } - else if ( iSearchCriteria->iLimit != KMaxTUint32 ) + else if ( iSearchCriteria->iLimit != KMdEQueryDefaultMaxCount ) { // 10 is maximum length of text format TUint32 iQueryBuf->ReserveSpaceL( iQueryBuf->ConstBufferL().Length() +