00001
00002
00003
00004
00005
00006 #include "generalRowPurge.h"
00007 #include "reGlobalsExtern.h"
00008 #include "icatHighLevelRoutines.h"
00009
00010 int
00011 rsGeneralRowPurge (rsComm_t *rsComm, generalRowPurgeInp_t *generalRowPurgeInp )
00012 {
00013 rodsServerHost_t *rodsServerHost;
00014 int status;
00015
00016 rodsLog(LOG_DEBUG, "generalRowPurge");
00017
00018 status = getAndConnRcatHost(rsComm, MASTER_RCAT, NULL, &rodsServerHost);
00019 if (status < 0) {
00020 return(status);
00021 }
00022
00023 if (rodsServerHost->localFlag == LOCAL_HOST) {
00024 #ifdef RODS_CAT
00025 status = _rsGeneralRowPurge (rsComm, generalRowPurgeInp);
00026 #else
00027 status = SYS_NO_RCAT_SERVER_ERR;
00028 #endif
00029 }
00030 else {
00031 status = rcGeneralRowPurge(rodsServerHost->conn,
00032 generalRowPurgeInp);
00033 }
00034
00035 if (status < 0) {
00036 rodsLog (LOG_NOTICE,
00037 "rsGeneralRowPurge: rcGeneralRowPurge failed");
00038 }
00039 return (status);
00040 }
00041
00042 #ifdef RODS_CAT
00043 int
00044 _rsGeneralRowPurge(rsComm_t *rsComm, generalRowPurgeInp_t *generalRowPurgeInp )
00045 {
00046 int status;
00047
00048 rodsLog (LOG_DEBUG,
00049 "_rsGeneralRowPurge tableName=%s",
00050 generalRowPurgeInp->tableName);
00051
00052 if (strcmp(generalRowPurgeInp->tableName,"serverload")==0) {
00053 status = chlPurgeServerLoad(rsComm,
00054 generalRowPurgeInp->secondsAgo);
00055 return(status);
00056 }
00057 if (strcmp(generalRowPurgeInp->tableName,"serverloaddigest")==0) {
00058 status = chlPurgeServerLoadDigest(rsComm,
00059 generalRowPurgeInp->secondsAgo);
00060 return(status);
00061 }
00062 return(CAT_INVALID_ARGUMENT);
00063 }
00064 #endif