mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-16 16:47:43 +02:00
2018-07-07 Fred Gleason <fredg@paravelsystems.com>
* Added a 'CLOCK_LINES' table to the database. * Incremented the database version to 291. * Removed the 'RDClock::tableName()' method.
This commit is contained in:
parent
bd5bd2246b
commit
0c17eb841a
@ -17102,3 +17102,7 @@
|
|||||||
* Fixed a bug in rddbmgr(8) that caused the 'EVENT_LINES'
|
* Fixed a bug in rddbmgr(8) that caused the 'EVENT_LINES'
|
||||||
table to be created with the incorrect engine type when using
|
table to be created with the incorrect engine type when using
|
||||||
'--modify'.
|
'--modify'.
|
||||||
|
2018-07-07 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Added a 'CLOCK_LINES' table to the database.
|
||||||
|
* Incremented the database version to 291.
|
||||||
|
* Removed the 'RDClock::tableName()' method.
|
||||||
|
@ -27,6 +27,7 @@ EXTRA_DIST = audio_cards.txt\
|
|||||||
cart.txt\
|
cart.txt\
|
||||||
cartslots.txt\
|
cartslots.txt\
|
||||||
clipboard.txt\
|
clipboard.txt\
|
||||||
|
clock_lines.txt\
|
||||||
clock_perms.txt\
|
clock_perms.txt\
|
||||||
copy_splits.txt\
|
copy_splits.txt\
|
||||||
cut_events.txt\
|
cut_events.txt\
|
||||||
|
12
docs/tables/clock_lines.txt
Normal file
12
docs/tables/clock_lines.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
CLOCK_LINES Table Layout for Rivendell
|
||||||
|
|
||||||
|
The CLOCK_PERMS table holds per-line data for clocks in RDLogManager.
|
||||||
|
|
||||||
|
|
||||||
|
FIELD NAME TYPE REMARKS
|
||||||
|
---------------------------------------------------------------
|
||||||
|
ID int(10) unsigned Primary key, auto increment
|
||||||
|
CLOCK_NAME char(64) From CLOCKS.NAME
|
||||||
|
EVENT_NAME char(64) From EVENTS.NAME
|
||||||
|
START_TIME int(11)
|
||||||
|
LENGTH int(11)
|
@ -24,7 +24,7 @@
|
|||||||
/*
|
/*
|
||||||
* Current Database Version
|
* Current Database Version
|
||||||
*/
|
*/
|
||||||
#define RD_VERSION_DATABASE 290
|
#define RD_VERSION_DATABASE 291
|
||||||
|
|
||||||
|
|
||||||
#endif // DBVERSION_H
|
#endif // DBVERSION_H
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// Abstract a Rivendell Log Manager Clock.
|
// Abstract a Rivendell Log Manager Clock.
|
||||||
//
|
//
|
||||||
// (C) Copyright 2002-2004,2008,2016 Fred Gleason <fredg@paravelsystems.com>
|
// (C) Copyright 2002-2004,2008,2016-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||||
//
|
//
|
||||||
// This program is free software; you can redistribute it and/or modify
|
// This program is free software; you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU General Public License version 2 as
|
// it under the terms of the GNU General Public License version 2 as
|
||||||
@ -40,8 +40,6 @@ QString RDClock::name() const
|
|||||||
void RDClock::setName(const QString &name)
|
void RDClock::setName(const QString &name)
|
||||||
{
|
{
|
||||||
clock_name=name;
|
clock_name=name;
|
||||||
clock_name_esc=name;
|
|
||||||
clock_name_esc.replace(" ","_");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -151,9 +149,13 @@ bool RDClock::load()
|
|||||||
clock_remarks=q->value(3).toString();
|
clock_remarks=q->value(3).toString();
|
||||||
delete q;
|
delete q;
|
||||||
|
|
||||||
sql=QString().sprintf("select EVENT_NAME,START_TIME,LENGTH from %s_CLK\
|
sql=QString("select ")+
|
||||||
order by ID",
|
"EVENT_NAME,"+ // 00
|
||||||
(const char *)clock_name_esc);
|
"START_TIME,"+ // 01
|
||||||
|
"LENGTH "+ // 02
|
||||||
|
"from CLOCK_LINES where "+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(clock_name)+"\" "+
|
||||||
|
"order by START_TIME";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
clock_events.push_back(RDEventLine());
|
clock_events.push_back(RDEventLine());
|
||||||
@ -186,7 +188,8 @@ bool RDClock::save()
|
|||||||
(const char *)clock_name);
|
(const char *)clock_name);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
sql=QString().sprintf("delete from %s_CLK",(const char *)clock_name_esc);
|
sql=QString("delete from CLOCK_LINES where ")+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(clock_name)+"\"";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
@ -204,17 +207,16 @@ bool RDClock::save()
|
|||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
sql=QString().sprintf("delete from %s_CLK",
|
sql=QString("delete from CLOCK_LINES where ")+
|
||||||
(const char *)clock_name_esc);
|
"CLOCK_NAME=\""+RDEscapeString(clock_name)+"\"";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
for(unsigned i=0;i<clock_events.size();i++) {
|
for(unsigned i=0;i<clock_events.size();i++) {
|
||||||
sql=QString().sprintf("insert into %s_CLK set EVENT_NAME=\"%s\",\
|
sql=QString("insert into CLOCK_LINES set ")+
|
||||||
START_TIME=%d,LENGTH=%d",
|
"CLOCK_NAME=\""+RDEscapeString(clock_name)+"\","+
|
||||||
(const char *)clock_name_esc,
|
"EVENT_NAME=\""+RDEscapeString(clock_events[i].name())+"\","+
|
||||||
(const char *)clock_events[i].name(),
|
QString().sprintf("START_TIME=%d,",QTime().msecsTo(clock_events[i].startTime()))+
|
||||||
QTime().msecsTo(clock_events[i].startTime()),
|
QString().sprintf("LENGTH=%d",clock_events[i].length());
|
||||||
clock_events[i].length());
|
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
@ -307,29 +309,23 @@ bool RDClock::generateLog(int hour,const QString &logname,
|
|||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
RDEventLine eventline;
|
RDEventLine eventline;
|
||||||
|
|
||||||
sql=QString().sprintf("select EVENT_NAME,START_TIME,LENGTH from %s_CLK\
|
sql=QString("select ")+
|
||||||
order by START_TIME",
|
"EVENT_NAME,"+ // 00
|
||||||
(const char *)clock_name_esc);
|
"START_TIME,"+ // 01
|
||||||
|
"LENGTH "+ // 02
|
||||||
|
"from CLOCK_LINES where "+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(clock_name)+"\" "+
|
||||||
|
"order by START_TIME";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
eventline.setName(q->value(0).toString());
|
eventline.setName(q->value(0).toString());
|
||||||
eventline.load();
|
eventline.load();
|
||||||
// eventline.setStartTime(q->value(1).toTime().addSecs(3600*hour));
|
|
||||||
eventline.setStartTime(QTime().addMSecs(q->value(1).toInt()).
|
eventline.setStartTime(QTime().addMSecs(q->value(1).toInt()).
|
||||||
addSecs(3600*hour));
|
addSecs(3600*hour));
|
||||||
eventline.setLength(q->value(2).toInt());
|
eventline.setLength(q->value(2).toInt());
|
||||||
eventline.generateLog(logname,svc_name,errors,artistsep,clock_name_esc);
|
eventline.generateLog(logname,svc_name,errors,artistsep,clock_name);
|
||||||
eventline.clear();
|
eventline.clear();
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QString RDClock::tableName(const QString &name)
|
|
||||||
{
|
|
||||||
QString ret=name;
|
|
||||||
ret.replace(" ","_");
|
|
||||||
|
|
||||||
return ret+"_CLK";
|
|
||||||
}
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// Abstract a Rivendell Log Manager Clock
|
// Abstract a Rivendell Log Manager Clock
|
||||||
//
|
//
|
||||||
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
|
// (C) Copyright 2002-2004,2016-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||||
//
|
//
|
||||||
// This program is free software; you can redistribute it and/or modify
|
// This program is free software; you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU General Public License version 2 as
|
// it under the terms of the GNU General Public License version 2 as
|
||||||
@ -55,11 +55,9 @@ class RDClock
|
|||||||
bool validate(const QTime &start_time,int length,int except_line=-1);
|
bool validate(const QTime &start_time,int length,int except_line=-1);
|
||||||
bool generateLog(int hour,const QString &logname,const QString &svc_name,
|
bool generateLog(int hour,const QString &logname,const QString &svc_name,
|
||||||
QString *errors);
|
QString *errors);
|
||||||
static QString tableName(const QString &name);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString clock_name;
|
QString clock_name;
|
||||||
QString clock_name_esc;
|
|
||||||
QString clock_short_name;
|
QString clock_short_name;
|
||||||
QColor clock_color;
|
QColor clock_color;
|
||||||
QString clock_remarks;
|
QString clock_remarks;
|
||||||
@ -68,4 +66,4 @@ class RDClock
|
|||||||
bool rules_modified;
|
bool rules_modified;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // RDCLOCK_H
|
||||||
|
@ -33,7 +33,7 @@ void RDCreateLogTable(const QString &name,RDConfig *config)
|
|||||||
delete q;
|
delete q;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
QString RDCreateLogTableSql(QString name,RDConfig *config)
|
QString RDCreateLogTableSql(QString name,RDConfig *config)
|
||||||
{
|
{
|
||||||
return QString("create table if not exists `")+name+"`"+
|
return QString("create table if not exists `")+name+"`"+
|
||||||
@ -81,8 +81,8 @@ QString RDCreateLogTableSql(QString name,RDConfig *config)
|
|||||||
"index LABEL_IDX (LABEL))"+
|
"index LABEL_IDX (LABEL))"+
|
||||||
config->createTablePostfix();
|
config->createTablePostfix();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
/*
|
||||||
QString RDCreateClockTableSql(QString name,RDConfig *config)
|
QString RDCreateClockTableSql(QString name,RDConfig *config)
|
||||||
{
|
{
|
||||||
return QString("create table `")+name+"` ("+
|
return QString("create table `")+name+"` ("+
|
||||||
@ -93,7 +93,7 @@ QString RDCreateClockTableSql(QString name,RDConfig *config)
|
|||||||
"INDEX EVENT_NAME_IDX (EVENT_NAME))"+
|
"INDEX EVENT_NAME_IDX (EVENT_NAME))"+
|
||||||
config->createTablePostfix();
|
config->createTablePostfix();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
/*
|
/*
|
||||||
QString RDCreateReconciliationTableSql(QString name,RDConfig *config)
|
QString RDCreateReconciliationTableSql(QString name,RDConfig *config)
|
||||||
{
|
{
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
#define RDCREATE_LOG_H
|
#define RDCREATE_LOG_H
|
||||||
|
|
||||||
//void RDCreateLogTable(const QString &name,RDConfig *config);
|
//void RDCreateLogTable(const QString &name,RDConfig *config);
|
||||||
QString RDCreateLogTableSql(QString name,RDConfig *config);
|
//QString RDCreateLogTableSql(QString name,RDConfig *config);
|
||||||
QString RDCreateClockTableSql(QString name,RDConfig *config);
|
//QString RDCreateClockTableSql(QString name,RDConfig *config);
|
||||||
//QString RDCreateReconciliationTableSql(QString name,RDConfig *config);
|
//QString RDCreateReconciliationTableSql(QString name,RDConfig *config);
|
||||||
QString RDCreateStackTableSql(QString name,RDConfig *config);
|
QString RDCreateStackTableSql(QString name,RDConfig *config);
|
||||||
|
|
||||||
|
@ -499,10 +499,6 @@ void EditClock::saveAsData()
|
|||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
edit_clock->setName(clockname);
|
edit_clock->setName(clockname);
|
||||||
sql=RDCreateClockTableSql(RDClock::tableName(clockname),rda->config());
|
|
||||||
q=new RDSqlQuery(sql);
|
|
||||||
delete q;
|
|
||||||
|
|
||||||
|
|
||||||
Save();
|
Save();
|
||||||
edit_new_clocks->push_back(clockname);
|
edit_new_clocks->push_back(clockname);
|
||||||
@ -766,12 +762,12 @@ void EditClock::AbandonClock(QString name)
|
|||||||
if(name==edit_name) {
|
if(name==edit_name) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QString sql=QString().sprintf("delete from CLOCKS where NAME=\"%s\"",
|
QString sql=QString("delete from CLOCKS where ")+
|
||||||
(const char *)name);
|
"NAME=\""+RDEscapeString(name)+"\"";
|
||||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
RDSqlQuery::apply(sql);
|
||||||
delete q;
|
sql=QString("delete from CLOCK_LINES where ")+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(name)+"\"";
|
||||||
rda->dropTable(RDClock::tableName(name));
|
RDSqlQuery::apply(sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -214,8 +214,7 @@ QSizePolicy ListClocks::sizePolicy() const
|
|||||||
|
|
||||||
void ListClocks::addData()
|
void ListClocks::addData()
|
||||||
{
|
{
|
||||||
QString clockname;
|
QString clockname;
|
||||||
QString clockname_esc;
|
|
||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q;
|
RDSqlQuery *q;
|
||||||
RDSqlQuery *q1;
|
RDSqlQuery *q1;
|
||||||
@ -243,15 +242,11 @@ void ListClocks::addData()
|
|||||||
"ARTISTSEP=15";
|
"ARTISTSEP=15";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
delete q;
|
delete q;
|
||||||
sql=RDCreateClockTableSql(RDClock::tableName(clockname),rda->config());
|
|
||||||
q=new RDSqlQuery(sql);
|
|
||||||
delete q;
|
|
||||||
EditClock *clock_dialog=new EditClock(clockname,true,&new_clocks,this);
|
EditClock *clock_dialog=new EditClock(clockname,true,&new_clocks,this);
|
||||||
if(clock_dialog->exec()<0) {
|
if(clock_dialog->exec()<0) {
|
||||||
clockname_esc=clockname;
|
sql=QString("delete from CLOCK_LINES where ")+
|
||||||
clockname_esc.replace(" ","_");
|
"CLOCK_NAME=\""+RDEscapeString(clockname)+"\"";
|
||||||
clockname_esc+="_CLK";
|
RDSqlQuery::apply(sql);
|
||||||
rda->dropTable(clockname_esc);
|
|
||||||
sql=QString().sprintf("delete from CLOCKS where NAME=\"%s\"",
|
sql=QString().sprintf("delete from CLOCKS where NAME=\"%s\"",
|
||||||
(const char *)clockname);
|
(const char *)clockname);
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
@ -383,15 +378,15 @@ void ListClocks::renameData()
|
|||||||
//
|
//
|
||||||
// Rename Meta Table
|
// Rename Meta Table
|
||||||
//
|
//
|
||||||
|
sql=QString("update CLOCK_LINES set ")+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(new_name)+"\" where "+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(item->text(0))+"\"";
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
delete q;
|
||||||
QString old_name_esc=item->text(0);
|
QString old_name_esc=item->text(0);
|
||||||
old_name_esc.replace(" ","_");
|
old_name_esc.replace(" ","_");
|
||||||
QString new_name_esc=new_name;
|
QString new_name_esc=new_name;
|
||||||
new_name_esc.replace(" ","_");
|
new_name_esc.replace(" ","_");
|
||||||
sql=QString().sprintf("alter table %s_CLK rename to %s_CLK",
|
|
||||||
(const char *)old_name_esc,
|
|
||||||
(const char *)new_name_esc);
|
|
||||||
q=new RDSqlQuery(sql);
|
|
||||||
delete q;
|
|
||||||
sql=QString().sprintf("alter table %s_RULES rename to %s_RULES",
|
sql=QString().sprintf("alter table %s_RULES rename to %s_RULES",
|
||||||
(const char *)old_name_esc,
|
(const char *)old_name_esc,
|
||||||
(const char *)new_name_esc);
|
(const char *)new_name_esc);
|
||||||
@ -629,9 +624,10 @@ void ListClocks::DeleteClock(QString clockname)
|
|||||||
//
|
//
|
||||||
sql=QString().sprintf("delete from CLOCKS where NAME=\"%s\"",
|
sql=QString().sprintf("delete from CLOCKS where NAME=\"%s\"",
|
||||||
(const char *)clockname);
|
(const char *)clockname);
|
||||||
q=new RDSqlQuery(sql);
|
RDSqlQuery::apply(sql);
|
||||||
delete q;
|
sql=QString("delete from CLOCK_LINES where ")+
|
||||||
rda->dropTable(base_name+"_CLK");
|
"CLOCK_NAME=\""+RDEscapeString(clockname)+"\"";
|
||||||
|
RDSqlQuery::apply(sql);
|
||||||
rda->dropTable(base_name+"_RULES");
|
rda->dropTable(base_name+"_RULES");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,11 +345,10 @@ void ListEvents::renameData()
|
|||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
clock_name_esc=q->value(0).toString();
|
clock_name_esc=q->value(0).toString();
|
||||||
clock_name_esc.replace(" ","_");
|
clock_name_esc.replace(" ","_");
|
||||||
sql=QString().sprintf("update %s_CLK set EVENT_NAME=\"%s\"\
|
sql=QString("update CLOCK_LINES set ")+
|
||||||
where EVENT_NAME=\"%s\"",
|
"CLOCK_NAME=\""+RDEscapeString(q->value(0).toString())+"\","+
|
||||||
(const char *)clock_name_esc,
|
"EVENT_NAME=\""+RDEscapeString(new_name)+"\" where "+
|
||||||
(const char *)new_name,
|
"EVENT_NAME=\""+RDEscapeString(item->text(0))+"\"";
|
||||||
(const char *)item->text(0));
|
|
||||||
q1=new RDSqlQuery(sql);
|
q1=new RDSqlQuery(sql);
|
||||||
delete q1;
|
delete q1;
|
||||||
}
|
}
|
||||||
@ -527,16 +526,13 @@ int ListEvents::ActiveEvents(QString event_name,QString *clock_list)
|
|||||||
int n=0;
|
int n=0;
|
||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q,*q1;
|
RDSqlQuery *q,*q1;
|
||||||
QString clockname;
|
|
||||||
|
|
||||||
sql="select NAME from CLOCKS";
|
sql="select NAME from CLOCKS";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
clockname=q->value(0).toString();
|
sql=QString("select EVENT_NAME from CLOCK_LINES where ")+
|
||||||
clockname.replace(" ","_");
|
"CLOCK_NAME=\""+RDEscapeString(q->value(0).toString())+"\" && "+
|
||||||
sql=QString().sprintf("select EVENT_NAME from %s_CLK\
|
"EVENT_NAME=\""+RDEscapeString(event_name)+"\"";
|
||||||
where EVENT_NAME=\"%s\"",(const char *)clockname,
|
|
||||||
(const char *)event_name);
|
|
||||||
q1=new RDSqlQuery(sql);
|
q1=new RDSqlQuery(sql);
|
||||||
if(q1->first()) {
|
if(q1->first()) {
|
||||||
*clock_list+=
|
*clock_list+=
|
||||||
@ -554,7 +550,6 @@ void ListEvents::DeleteEvent(QString event_name)
|
|||||||
{
|
{
|
||||||
QString sql;
|
QString sql;
|
||||||
RDSqlQuery *q,*q1;
|
RDSqlQuery *q,*q1;
|
||||||
QString clockname;
|
|
||||||
QString base_name=event_name;
|
QString base_name=event_name;
|
||||||
base_name.replace(" ","_");
|
base_name.replace(" ","_");
|
||||||
|
|
||||||
@ -564,11 +559,9 @@ void ListEvents::DeleteEvent(QString event_name)
|
|||||||
sql="select NAME from CLOCKS";
|
sql="select NAME from CLOCKS";
|
||||||
q=new RDSqlQuery(sql);
|
q=new RDSqlQuery(sql);
|
||||||
while(q->next()) {
|
while(q->next()) {
|
||||||
clockname=q->value(0).toString();
|
sql=QString("delete from CLOCK_LINES where ")+
|
||||||
clockname.replace(" ","_");
|
"CLOCK_NAME=\""+RDEscapeString(q->value(0).toString())+"\" && "+
|
||||||
sql=QString().sprintf("delete from %s_CLK\
|
"EVENT_NAME=\""+RDEscapeString(event_name)+"\"";
|
||||||
where EVENT_NAME=\"%s\"",(const char *)clockname,
|
|
||||||
(const char *)event_name);
|
|
||||||
q1=new RDSqlQuery(sql);
|
q1=new RDSqlQuery(sql);
|
||||||
delete q1;
|
delete q1;
|
||||||
}
|
}
|
||||||
|
@ -242,6 +242,10 @@ void MainObject::CheckOrphanedTracks() const
|
|||||||
|
|
||||||
void MainObject::CheckClocks() const
|
void MainObject::CheckClocks() const
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
// FIXME: This entire check needs to be rewritten!
|
||||||
|
//
|
||||||
|
/*
|
||||||
QString sql;
|
QString sql;
|
||||||
QSqlQuery *q;
|
QSqlQuery *q;
|
||||||
QSqlQuery *q1;
|
QSqlQuery *q1;
|
||||||
@ -299,11 +303,16 @@ void MainObject::CheckClocks() const
|
|||||||
delete q1;
|
delete q1;
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainObject::CheckEvents() const
|
void MainObject::CheckEvents() const
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
// FIXME: This whole check needs to be rewritten!
|
||||||
|
//
|
||||||
|
/*
|
||||||
QString sql;
|
QString sql;
|
||||||
QSqlQuery *q;
|
QSqlQuery *q;
|
||||||
QSqlQuery *q1;
|
QSqlQuery *q1;
|
||||||
@ -351,6 +360,7 @@ void MainObject::CheckEvents() const
|
|||||||
delete q1;
|
delete q1;
|
||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,6 +38,55 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
|
|||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Revert 291
|
||||||
|
//
|
||||||
|
if((cur_schema==291)&&(set_schema<cur_schema)) {
|
||||||
|
sql=QString("select NAME from CLOCKS");
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
while(q->next()) {
|
||||||
|
QString tablename=q->value(0).toString()+"_CLK";
|
||||||
|
tablename.replace(" ","_");
|
||||||
|
sql=QString("create table `")+tablename+"` ("+
|
||||||
|
"ID int unsigned auto_increment not null primary key,"+
|
||||||
|
"EVENT_NAME char(64) not null,"+
|
||||||
|
"START_TIME int not null,"+
|
||||||
|
"LENGTH int not null,"+
|
||||||
|
"INDEX EVENT_NAME_IDX (EVENT_NAME))"+
|
||||||
|
db_table_create_postfix;
|
||||||
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sql=QString("select ")+
|
||||||
|
"EVENT_NAME,"+ // 00
|
||||||
|
"START_TIME,"+ // 01
|
||||||
|
"LENGTH "+ // 02
|
||||||
|
"from CLOCK_LINES where "+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(q->value(0).toString())+"\" "+
|
||||||
|
"order by START_TIME";
|
||||||
|
q1=new RDSqlQuery(sql);
|
||||||
|
while(q1->next()) {
|
||||||
|
sql=QString("insert into `")+tablename+"` set "+
|
||||||
|
"EVENT_NAME=\""+RDEscapeString(q1->value(0).toString())+"\","+
|
||||||
|
QString().sprintf("START_TIME=%d,",q1->value(1).toInt())+
|
||||||
|
QString().sprintf("LENGTH=%d",q1->value(2).toInt());
|
||||||
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete q1;
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
|
||||||
|
sql=QString("drop table CLOCK_LINES");
|
||||||
|
RDSqlQuery::apply(sql);
|
||||||
|
|
||||||
|
cur_schema--;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Revert 290
|
// Revert 290
|
||||||
//
|
//
|
||||||
@ -202,7 +251,6 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
|
|||||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
cur_schema--;
|
cur_schema--;
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ void MainObject::InitializeSchemaMap() {
|
|||||||
global_version_map["2.17"]=268;
|
global_version_map["2.17"]=268;
|
||||||
global_version_map["2.18"]=272;
|
global_version_map["2.18"]=272;
|
||||||
global_version_map["2.19"]=275;
|
global_version_map["2.19"]=275;
|
||||||
global_version_map["2.20"]=290;
|
global_version_map["2.20"]=291;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7566,6 +7566,51 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
|
|||||||
}
|
}
|
||||||
delete q;
|
delete q;
|
||||||
|
|
||||||
|
cur_schema++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if((cur_schema<291)&&(set_schema>cur_schema)) {
|
||||||
|
sql=QString("create table if not exists CLOCK_LINES (")+
|
||||||
|
"ID int unsigned auto_increment not null primary key,"+
|
||||||
|
"CLOCK_NAME char(64) not null,"+
|
||||||
|
"EVENT_NAME char(64) not null,"+
|
||||||
|
"START_TIME int not null,"+
|
||||||
|
"LENGTH int not null,"+
|
||||||
|
"unique index CLOCK_NAME_START_TIME_IDX (CLOCK_NAME,START_TIME))"+
|
||||||
|
db_table_create_postfix;
|
||||||
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sql=QString("select NAME from CLOCKS");
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
while(q->next()) {
|
||||||
|
QString tablename=q->value(0).toString()+"_CLK";
|
||||||
|
tablename.replace(" ","_");
|
||||||
|
sql=QString("select ")+
|
||||||
|
"EVENT_NAME,"+ // 00
|
||||||
|
"START_TIME,"+ // 01
|
||||||
|
"LENGTH "+ // 02
|
||||||
|
"from `"+tablename+"` "+
|
||||||
|
"order by START_TIME";
|
||||||
|
q1=new RDSqlQuery(sql);
|
||||||
|
while(q1->next()) {
|
||||||
|
sql=QString("insert into CLOCK_LINES set ")+
|
||||||
|
"CLOCK_NAME=\""+RDEscapeString(q->value(0).toString())+"\","+
|
||||||
|
"EVENT_NAME=\""+RDEscapeString(q1->value(0).toString())+"\","+
|
||||||
|
QString().sprintf("START_TIME=%d,",q1->value(1).toInt())+
|
||||||
|
QString().sprintf("LENGTH=%d",q1->value(2).toInt());
|
||||||
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete q1;
|
||||||
|
sql=QString("drop table `")+tablename+"`";
|
||||||
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
|
||||||
cur_schema++;
|
cur_schema++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user