--- a/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbcommon/src/mpxdbtable.cpp Tue Feb 02 00:09:33 2010 +0200
+++ b/mpxplugins/serviceplugins/collectionplugins/mpxsqlitedbcommon/src/mpxdbtable.cpp Fri Feb 19 22:48:30 2010 +0200
@@ -764,6 +764,41 @@
}
// ----------------------------------------------------------------------------
+// CMPXDbTable::ExecuteSumExQueryL
+// ----------------------------------------------------------------------------
+//
+EXPORT_C TInt CMPXDbTable::ExecuteSumExQueryL(
+ const TDesC& aQuery,
+ TUint32 aPlaylistId,
+ TInt aDrive)
+ {
+ MPX_FUNC("CMPXDbTable::ExecuteSumExQueryL");
+
+ HBufC* query = HBufC::NewLC(aQuery.Length() + KMCIntegerLen);
+ query->Des().Format(aQuery, aPlaylistId);
+
+ RSqlStatement recordset(iDbManager.ExecuteSelectQueryOnAllDrivesL(aDrive, *query));
+ CleanupClosePushL(recordset);
+
+ TInt sum(0);
+ TInt err(KErrNone);
+ while ((err = recordset.Next()) == KSqlAtRow)
+ {
+ sum += recordset.ColumnInt64(KMPXTableDefaultIndex);
+ }
+
+ CleanupStack::PopAndDestroy(&recordset);
+ CleanupStack::PopAndDestroy(query);
+
+ if (err != KSqlAtEnd)
+ {
+ User::Leave(KErrCorrupt);
+ }
+
+ return sum;
+ }
+
+// ----------------------------------------------------------------------------
// CMPXDbTable::ExecuteMediaQueryL
// ----------------------------------------------------------------------------
//