2019-02-19 Fred Gleason <fredg@paravelsystems.com>

* Fixed a bug in rdamin(1) that caused PyPAD instance data
	to fail to be cloned properly when creating a new host entry.
This commit is contained in:
Fred Gleason 2019-02-19 17:46:27 -05:00
parent 408d3ce917
commit 47daa853bf
3 changed files with 16 additions and 24 deletions

View File

@ -18499,3 +18499,6 @@
2019-02-19 Fred Gleason <fredg@paravelsystems.com> 2019-02-19 Fred Gleason <fredg@paravelsystems.com>
* Modified the PAD emission code to use a hybrid "most recently * Modified the PAD emission code to use a hybrid "most recently
started" / "longest running" strategy. started" / "longest running" strategy.
2019-02-19 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdamin(1) that caused PyPAD instance data
to fail to be cloned properly when creating a new host entry.

View File

@ -6,7 +6,6 @@ FIELD NAME TYPE REMARKS
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
ID int(10) unsigned * Primary key, Auto Increment ID int(10) unsigned * Primary key, Auto Increment
STATION varchar(64) From STATIONS.NAME STATION varchar(64) From STATIONS.NAME
INSTANCE int(10) unsigned
INPUT_CARD int(11) None=-1 INPUT_CARD int(11) None=-1
INPUT_TYPE enum('A','D') INPUT_TYPE enum('A','D')
OUTPUT_CARD int(11) None=-1 OUTPUT_CARD int(11) None=-1

View File

@ -968,8 +968,7 @@ bool RDStation::create(const QString &name,QString *err_msg,
"LIMIT_SEARCH,"+ // 22 "LIMIT_SEARCH,"+ // 22
"SEARCH_LIMITED "+ // 23 "SEARCH_LIMITED "+ // 23
"from RDLIBRARY where "+ "from RDLIBRARY where "+
"(STATION=\""+RDEscapeString(exemplar)+"\")&&"+ "STATION=\""+RDEscapeString(exemplar)+"\"";
"(INSTANCE=0)";
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
sql=QString("insert into RDLIBRARY set ")+ sql=QString("insert into RDLIBRARY set ")+
@ -1663,21 +1662,21 @@ bool RDStation::create(const QString &name,QString *err_msg,
delete q; delete q;
// //
// Clone RLM Parameters // Clone PyPAD Instances
// //
sql=QString("select ")+ sql=QString("select ")+
"LOG_MACHINE,"+ // 00 "SCRIPT_PATH,"+ // 00
"PLUGIN_PATH,"+ // 01 "DESCRIPTION,"+ // 01
"PLUGIN_ARG "+ // 02 "CONFIG "+ // 02
"from NOWNEXT_PLUGINS where "+ "from PYPAD_INSTANCES where "+
"STATION_NAME=\""+RDEscapeString(exemplar)+"\""; "STATION_NAME=\""+RDEscapeString(exemplar)+"\"";
q=new RDSqlQuery(sql); q=new RDSqlQuery(sql);
while(q->next()) { while(q->next()) {
sql=QString("insert into NOWNEXT_PLUGINS set ")+ sql=QString("insert into PYPAD_INSTANCES set ")+
"STATION_NAME=\""+RDEscapeString(name)+"\","+ "STATION_NAME=\""+RDEscapeString(name)+"\","+
QString().sprintf("LOG_MACHINE=%u,",q->value(0).toUInt())+ "SCRIPT_PATH=\""+RDEscapeString(q->value(0).toString())+"\","+
"PLUGIN_PATH=\""+RDEscapeString(q->value(1).toString())+"\","+ "DESCRIPTION=\""+RDEscapeString(q->value(1).toString())+"\","+
"PLUGIN_ARG=\""+RDEscapeString(q->value(2).toString())+"\""; "CONFIG=\""+RDEscapeString(q->value(2).toString())+"\"";
q1=new RDSqlQuery(sql); q1=new RDSqlQuery(sql);
delete q1; delete q1;
} }
@ -1783,11 +1782,7 @@ bool RDStation::create(const QString &name,QString *err_msg,
"LOG_ID,"+ // 06 "LOG_ID,"+ // 06
"LOG_LINE,"+ // 07 "LOG_LINE,"+ // 07
"NOW_CART,"+ // 08 "NOW_CART,"+ // 08
"NEXT_CART,"+ // 09 "NEXT_CART "+ // 09
"UDP_ADDR,"+ // 10
"UDP_PORT,"+ // 11
"UDP_STRING,"+ // 12
"LOG_RML "+ // 13
"from LOG_MACHINES where "+ "from LOG_MACHINES where "+
"STATION_NAME=\""+RDEscapeString(exemplar)+"\""; "STATION_NAME=\""+RDEscapeString(exemplar)+"\"";
q=new RDSqlQuery(sql); 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_ID=%d,",q->value(6).toInt())+
QString().sprintf("LOG_LINE=%d,",q->value(7).toInt())+ QString().sprintf("LOG_LINE=%d,",q->value(7).toInt())+
QString().sprintf("NOW_CART=%u,",q->value(8).toUInt())+ QString().sprintf("NOW_CART=%u,",q->value(8).toUInt())+
QString().sprintf("NEXT_CART=%u,",q->value(9).toUInt())+ QString().sprintf("NEXT_CART=%u",q->value(9).toUInt());
"UDP_ADDR=\""+RDEscapeString(q->value(10).toString())+"\","+ RDSqlQuery::apply(sql);
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;
} }
delete q; delete q;