From 47daa853bf87eb1d127ccf2f2eee867ba76d760d Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 19 Feb 2019 17:46:27 -0500 Subject: [PATCH] 2019-02-19 Fred Gleason * Fixed a bug in rdamin(1) that caused PyPAD instance data to fail to be cloned properly when creating a new host entry. --- ChangeLog | 3 +++ docs/tables/rd_library.txt | 1 - lib/rdstation.cpp | 36 +++++++++++++----------------------- 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78ac2b05..a0f4f951 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18499,3 +18499,6 @@ 2019-02-19 Fred Gleason * Modified the PAD emission code to use a hybrid "most recently started" / "longest running" strategy. +2019-02-19 Fred Gleason + * Fixed a bug in rdamin(1) that caused PyPAD instance data + to fail to be cloned properly when creating a new host entry. diff --git a/docs/tables/rd_library.txt b/docs/tables/rd_library.txt index f1b09c92..f10b8f48 100644 --- a/docs/tables/rd_library.txt +++ b/docs/tables/rd_library.txt @@ -6,7 +6,6 @@ FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment STATION varchar(64) From STATIONS.NAME -INSTANCE int(10) unsigned INPUT_CARD int(11) None=-1 INPUT_TYPE enum('A','D') OUTPUT_CARD int(11) None=-1 diff --git a/lib/rdstation.cpp b/lib/rdstation.cpp index ce95c6d1..67de0411 100644 --- a/lib/rdstation.cpp +++ b/lib/rdstation.cpp @@ -968,8 +968,7 @@ bool RDStation::create(const QString &name,QString *err_msg, "LIMIT_SEARCH,"+ // 22 "SEARCH_LIMITED "+ // 23 "from RDLIBRARY where "+ - "(STATION=\""+RDEscapeString(exemplar)+"\")&&"+ - "(INSTANCE=0)"; + "STATION=\""+RDEscapeString(exemplar)+"\""; q=new RDSqlQuery(sql); if(q->first()) { sql=QString("insert into RDLIBRARY set ")+ @@ -1663,21 +1662,21 @@ bool RDStation::create(const QString &name,QString *err_msg, delete q; // - // Clone RLM Parameters + // Clone PyPAD Instances // sql=QString("select ")+ - "LOG_MACHINE,"+ // 00 - "PLUGIN_PATH,"+ // 01 - "PLUGIN_ARG "+ // 02 - "from NOWNEXT_PLUGINS where "+ + "SCRIPT_PATH,"+ // 00 + "DESCRIPTION,"+ // 01 + "CONFIG "+ // 02 + "from PYPAD_INSTANCES where "+ "STATION_NAME=\""+RDEscapeString(exemplar)+"\""; q=new RDSqlQuery(sql); while(q->next()) { - sql=QString("insert into NOWNEXT_PLUGINS set ")+ + sql=QString("insert into PYPAD_INSTANCES set ")+ "STATION_NAME=\""+RDEscapeString(name)+"\","+ - QString().sprintf("LOG_MACHINE=%u,",q->value(0).toUInt())+ - "PLUGIN_PATH=\""+RDEscapeString(q->value(1).toString())+"\","+ - "PLUGIN_ARG=\""+RDEscapeString(q->value(2).toString())+"\""; + "SCRIPT_PATH=\""+RDEscapeString(q->value(0).toString())+"\","+ + "DESCRIPTION=\""+RDEscapeString(q->value(1).toString())+"\","+ + "CONFIG=\""+RDEscapeString(q->value(2).toString())+"\""; q1=new RDSqlQuery(sql); delete q1; } @@ -1783,11 +1782,7 @@ bool RDStation::create(const QString &name,QString *err_msg, "LOG_ID,"+ // 06 "LOG_LINE,"+ // 07 "NOW_CART,"+ // 08 - "NEXT_CART,"+ // 09 - "UDP_ADDR,"+ // 10 - "UDP_PORT,"+ // 11 - "UDP_STRING,"+ // 12 - "LOG_RML "+ // 13 + "NEXT_CART "+ // 09 "from LOG_MACHINES where "+ "STATION_NAME=\""+RDEscapeString(exemplar)+"\""; q=new RDSqlQuery(sql); @@ -1803,13 +1798,8 @@ bool RDStation::create(const QString &name,QString *err_msg, QString().sprintf("LOG_ID=%d,",q->value(6).toInt())+ QString().sprintf("LOG_LINE=%d,",q->value(7).toInt())+ QString().sprintf("NOW_CART=%u,",q->value(8).toUInt())+ - QString().sprintf("NEXT_CART=%u,",q->value(9).toUInt())+ - "UDP_ADDR=\""+RDEscapeString(q->value(10).toString())+"\","+ - QString().sprintf("UDP_PORT=%u,",q->value(11).toUInt())+ - "UDP_STRING=\""+RDEscapeString(q->value(12).toString())+"\","+ - "LOG_RML=\""+RDEscapeString(q->value(13).toString())+"\""; - q1=new RDSqlQuery(sql); - delete q1; + QString().sprintf("NEXT_CART=%u",q->value(9).toUInt()); + RDSqlQuery::apply(sql); } delete q;