void PgFileRepository::getStoreEntity(OcfaHandle & h, StoreEntity &se) { ocfaLog(LOG_DEBUG, ">> entering PgFileRepository::getStoreEntity"); if (h == "") throw OcfaException("getStoreEntity called with empty handle",this); string query = "select repname from " + se.tableName() + " where id = " + string(h.c_str()) ; se.setHandle(h); getLogStream(LOG_DEBUG) << "Executing " << query << endl; PGresult *pgres = PQexec(d_connection,query.c_str()); if (PQresultStatus(pgres) == PGRES_TUPLES_OK) { if (PQntuples(pgres) > 0) { Filename repname(PQgetvalue(pgres, 0, 0)); se.setStoreName(repname); } else { ocfaLog(LOG_ERR, "Error: OcfaHandle for StoreEntity not found in DB"); throw OcfaException("Error: OcfaHandle "+ h + " not found in DB", this); } } else { ocfaLog(LOG_ERR, "Could not get repname from db: " + ErrorMessage() + " query=" + query); throw OcfaException("Cannot get RepName from db " + ErrorMessage() + " query=" + query, this); } ocfaLog(LOG_DEBUG, "exiting getStoreEntity"); PQclear(pgres); }
static VARIABLE_IS_NOT_USED void metrics_report(metrics &m) { std::string reporters = get_option_string("metrics.reporter", "console"); char * creps = (char*)reporters.c_str(); const char * delims = ","; char * t = strtok(creps, delims); while(t != NULL) { std::string repname(t); if (repname == "basic" || repname == "console") { basic_reporter rep; m.report(rep); } else if (repname == "file") { file_reporter rep(get_option_string("metrics.reporter.filename", "metrics.txt")); m.report(rep); } else if (repname == "html") { html_reporter rep(get_option_string("metrics.reporter.htmlfile", "metrics.html")); m.report(rep); } else { logstream(LOG_WARNING) << "Could not find metrics reporter with name [" << repname << "], ignoring." << std::endl; } t = strtok(NULL, delims); } }