int DSProQueryController::doSQLQueryOnMetadata (const char *pszGroupName, const void *pQuery, unsigned int uiQueryLen, const char *, InformationStore *pInfoStore, PtrLList<const char> *pResultsList) { const char *pszMethodName = "DSProQueryController::doSQLQueryOnMetadata"; String query ((char *) pQuery, uiQueryLen); /*const char *pszSqlConstraints = nullptr; char *pszTemp = nullptr; char *pszToken = nullptr; pszToken = strtok_mt (query.c_str(), "WHERE ", &pszTemp); if (pszToken == nullptr) { checkAndLogMsg (pszMethodName, Logger::L_Warning, "Error in parsing the char * containing the sql query\n"); return -1; } pszSqlConstraints = strtok_mt (nullptr, "WHERE ", &pszTemp); if (pszSqlConstraints == nullptr) { checkAndLogMsg (pszMethodName, Logger::L_Warning, "No where conditions\n"); return -2; }*/ PtrLList<const char> *ptmp = pInfoStore->getMessageIDs (pszGroupName, query); if (ptmp == nullptr) { checkAndLogMsg (pszMethodName, Logger::L_Warning, "Error in retrieving the messageIds\n"); return -3; } if (pResultsList != nullptr) { const char *pszId = ptmp->getFirst(); for (; pszId != nullptr; pszId = ptmp->getNext()) { pResultsList->prepend (pszId); } ptmp->removeAll (false); delete ptmp; } return 0; }