diff --git a/ChangeLog b/ChangeLog index ef851e7a..0f226bfa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20442,3 +20442,7 @@ asserted after exiting when handling schedule import errors. 2020-10-09 Fred Gleason * Updated rdservice(8) to use standard exit code defines. +2020-10-09 Fred Gleason + * Added an index to the 'GPIO_EVENTS.EVENT_DATETIME' field. + * Incremented the database version to 342. + * Implemented the '--verbose' switch for rdmaint(8). diff --git a/lib/dbversion.h b/lib/dbversion.h index e9633703..1ea01549 100644 --- a/lib/dbversion.h +++ b/lib/dbversion.h @@ -24,7 +24,7 @@ /* * Current Database Version */ -#define RD_VERSION_DATABASE 341 +#define RD_VERSION_DATABASE 342 #endif // DBVERSION_H diff --git a/lib/rd.h b/lib/rd.h index 5cfbcd47..16b572f0 100644 --- a/lib/rd.h +++ b/lib/rd.h @@ -632,4 +632,9 @@ #define RD_EXIT_NO_PERMS 11 // Insufficient permissions #define RD_EXIT_REPORT_FAILED 12 // Report generation failed +/* + * Shelf life for GPIO event records + */ +#define RD_GPIO_EVENT_DAYS 30 + #endif // RD_H diff --git a/utils/rddbmgr/revertschema.cpp b/utils/rddbmgr/revertschema.cpp index 97ea8fc5..5a8f4e76 100644 --- a/utils/rddbmgr/revertschema.cpp +++ b/utils/rddbmgr/revertschema.cpp @@ -40,6 +40,15 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) // NEW SCHEMA REVERSIONS GO HERE... + // + // Revert 342 + // + if((cur_schema==342)&&(set_schemacur_schema)) { + sql= + QString("create index EVENT_DATETIME_IDX on GPIO_EVENTS(EVENT_DATETIME)"); + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + WriteSchemaVersion(++cur_schema); + } + // NEW SCHEMA UPDATES GO HERE... diff --git a/utils/rdmaint/rdmaint.cpp b/utils/rdmaint/rdmaint.cpp index a4d54c9d..a74fd0a1 100644 --- a/utils/rdmaint/rdmaint.cpp +++ b/utils/rdmaint/rdmaint.cpp @@ -120,6 +120,8 @@ void MainObject::RunSystemMaintenance() q=new RDSqlQuery(sql); delete q; + PrintMessage("Starting System Maintenance"); + PurgeCuts(); PurgeLogs(); PurgeElr(); @@ -127,6 +129,8 @@ void MainObject::RunSystemMaintenance() PurgeWebapiAuths(); PurgeStacks(); RehashCuts(); + + PrintMessage("Finished System Maintenance"); } @@ -138,6 +142,8 @@ void MainObject::RunLocalMaintenance() void MainObject::PurgeCuts() { + PrintMessage("Starting PurgeCuts()"); + QString sql; RDSqlQuery *q; RDSqlQuery *q1; @@ -188,11 +194,15 @@ void MainObject::PurgeCuts() delete q1; } delete q; + + PrintMessage("Completed PurgeCuts()"); } void MainObject::PurgeLogs() { + PrintMessage("Starting PurgeLogs()"); + QString sql; RDSqlQuery *q; QDateTime dt=QDateTime(QDate::currentDate(),QTime::currentTime()); @@ -210,11 +220,15 @@ void MainObject::PurgeLogs() delete log; } delete q; + + PrintMessage("Completed PurgeLogs()"); } void MainObject::PurgeElr() { + PrintMessage("Starting PurgeElr()"); + QString sql; RDSqlQuery *q; QDateTime dt=QDateTime(QDate::currentDate(),QTime::currentTime()); @@ -233,11 +247,15 @@ void MainObject::PurgeElr() RDSqlQuery::apply(sql); } delete q; + + PrintMessage("Completed PurgeElr()"); } void MainObject::PurgeDropboxes() { + PrintMessage("Starting PurgeDropboxes()"); + QString sql; RDSqlQuery *q; RDSqlQuery *q1; @@ -259,35 +277,46 @@ void MainObject::PurgeDropboxes() } } delete q; + + PrintMessage("Completed PurgeDropboxes()"); } void MainObject::PurgeGpioEvents() { + PrintMessage("Starting PurgeGpioEvents()"); + QString sql; - RDSqlQuery *q; sql=QString("delete from GPIO_EVENTS where ")+ "EVENT_DATETIME<\""+ - QDate::currentDate().addDays(-30).toString("yyyy-MM-dd")+" 00:00:00\""; - q=new RDSqlQuery(sql); - delete q; + QDate::currentDate().addDays(-RD_GPIO_EVENT_DAYS).toString("yyyy-MM-dd")+" 00:00:00\""; + printf("SQL: %s\n",sql.toUtf8().constData()); + RDSqlQuery::apply(sql); + + PrintMessage("Starting Completed GpioEvents()"); } void MainObject::PurgeWebapiAuths() { + PrintMessage("Starting PurgeWebapiAuths()"); + QString sql; RDSqlQuery *q; sql=QString("delete from WEBAPI_AUTHS where EXPIRATION_DATETIME