mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-19 14:43:30 +02:00
* Added an image format check to rddbmgr(8) to prevent it from attempting to generate thumbnail images from non-JPEG/PNG images. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
11652 lines
360 KiB
C++
11652 lines
360 KiB
C++
// updateschema.cpp
|
|
//
|
|
// Update Rivendell DB schema.
|
|
//
|
|
// (C) Copyright 2018-2022 Fred Gleason <fredg@paravelsystems.com>
|
|
//
|
|
// 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
|
|
// published by the Free Software Foundation.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public
|
|
// License along with this program; if not, write to the Free Software
|
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
//
|
|
|
|
#include <rdcart.h>
|
|
#include <rdconf.h>
|
|
#include <rddb.h>
|
|
#include <rdescape_string.h>
|
|
#include <rdfeed.h>
|
|
#include <rdimagemagick.h>
|
|
#include <rdpaths.h>
|
|
|
|
#include "rddbmgr.h"
|
|
|
|
bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
|
|
{
|
|
QString sql;
|
|
RDSqlQuery *q;
|
|
RDSqlQuery *q1;
|
|
RDSqlQuery *q2;
|
|
QString tablename;
|
|
RDCart *cart;
|
|
bool length_update_required=false;
|
|
bool ok=false;
|
|
|
|
if(!db_start_datetime.isNull()) {
|
|
QDateTime now=QDateTime::currentDateTime();
|
|
fprintf(stderr,
|
|
"%s : starting\n",
|
|
now.toString("yyyy-MM-dd hh:mm:ss").toUtf8().constData());
|
|
db_start_datetime=now;
|
|
}
|
|
|
|
if((cur_schema<3)&&(set_schema>=3)) {
|
|
//
|
|
// Create RDAIRPLAY Table
|
|
//
|
|
sql=QString("create table if not exists `RDAIRPLAY` (")+
|
|
"`ID` int not null primary key,"+
|
|
"`STATION` char(40) not null,"+
|
|
"`INSTANCE` int unsigned not null,"+
|
|
"`AUTO_CARD0` int default -1,"+
|
|
"`AUTO_STREAM0` int default -1,"+
|
|
"`AUTO_PORT0` int default -1,"+
|
|
"`AUTO_CARD1` int default -1,"+
|
|
"`AUTO_STREAM1` int default -1,"+
|
|
"`AUTO_PORT1` int default -1,"+
|
|
"`PANEL_CARD0` int default -1,"+
|
|
"`PANEL_STREAM0` int default -1,"+
|
|
"`PANEL_PORT0` int default -1,"+
|
|
"`PANEL_CARD1` int default -1,"+
|
|
"`PANEL_STREAM1` int default -1,"+
|
|
"`PANEL_PORT1` int default -1,"+
|
|
"index `STATION_IDX` (`STATION`,`INSTANCE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create Default RDAirPlay Configuration
|
|
//
|
|
sql=QString("insert into `RDAIRPLAY` (`STATION`,`INSTANCE`) ")+
|
|
"values ('`DEFAULT`',0)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
cur_schema=3;
|
|
WriteSchemaVersion(cur_schema);
|
|
}
|
|
|
|
if((cur_schema<4)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` modify `ID` int not null auto_increment");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<5)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("select `NAME` from `LOGS`",false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add `SOURCE` int not null after `COUNT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<6)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Update RDAIRPLAY Structure
|
|
//
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `PORT0` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `PORT1` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `PORT2` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM0` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM1` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM2` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM3` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM4` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM5` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM6` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `STREAM7` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
for(int i=0;i<2;i++) {
|
|
DropColumn("`RDAIRPLAY`",QString::asprintf("`AUTO_CARD%d`",i));
|
|
DropColumn("`RDAIRPLAY`",QString::asprintf("`AUTO_STREAM%d`",i));
|
|
DropColumn("`RDAIRPLAY`",QString::asprintf("`AUTO_PORT%d`",i));
|
|
DropColumn("`RDAIRPLAY`",QString::asprintf("`PANEL_CARD%d`",i));
|
|
DropColumn("`RDAIRPLAY`",QString::asprintf("`PANEL_STREAM%d`",i));
|
|
DropColumn("`RDAIRPLAY`",QString::asprintf("`PANEL_PORT%d`",i));
|
|
}
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<7)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `SEGUE_LENGTH` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<8)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `PORT3` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `OP_MODE` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `START_MODE` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `PIE_COUNT_LENGTH` int default 15000");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `PIE_COUNT_ENDPOINT` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<9)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `PORT4` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` add column `PORT5` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<10)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("select `NAME` from `LOGS`",false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+
|
|
q->value(0).toString()+"_LOG` add `TYPE` int default 0 after `COUNT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+
|
|
q->value(0).toString()+"_LOG` add `COMMENT` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+
|
|
q->value(0).toString()+"_LOG` add `LABEL` char(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+
|
|
q->value(0).toString()+"_LOG` add `POST_TIME` time default '24:00:00'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+
|
|
q->value(0).toString()+"_LOG` add index `LABEL_IDX` (`LABEL`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
|
|
if((cur_schema<11)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("alter table `RDAIRPLAY` add column `CHECK_TIMESYNC` enum('N','Y') default 'N'",false);
|
|
delete q;
|
|
|
|
//
|
|
// Create PANELS Table
|
|
//
|
|
sql=QString("create table if not exists PANELS (")+
|
|
"`ID` int not null primary key,"+
|
|
"`TYPE` int not null,"+
|
|
"`OWNER` char(64) not null,"+
|
|
"`PANEL_NO` int not null,"+
|
|
"`ROW_NO` int not null,"+
|
|
"`COLUMN_NO` int not null,"+
|
|
"`LABEL` char(64),"+
|
|
"`CART` int,"+
|
|
"`DEFAULT_COLOR` char(6),"+
|
|
"index `OWNER_IDX` (`OWNER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<12)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("alter table `RDAIRPLAY` add column `STATION_PANELS` int default 3",false);
|
|
delete q;
|
|
|
|
q=new RDSqlQuery("alter table `RDAIRPLAY` add column `USER_PANELS` int default 3",false);
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<13)&&(set_schema>cur_schema)) {
|
|
if(!DropTable("PANELS",err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `PANELS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`TYPE` int not null,"+
|
|
"`OWNER` char(64) not null,"+
|
|
"`PANEL_NO` int not null,"+
|
|
"`ROW_NO` int not null,"+
|
|
"`COLUMN_NO` int not null,"+
|
|
"`LABEL` char(64),"+
|
|
"`CART` int,"+
|
|
"`DEFAULT_COLOR` char(6),"+
|
|
"index `OWNER_IDX` (`OWNER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<14)&&(set_schema>cur_schema)) {
|
|
if(!DropTable("PANELS",err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `PANELS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`TYPE` int not null,"+
|
|
"`OWNER` char(64) not null,"+
|
|
"`PANEL_NO` int not null,"+
|
|
"`ROW_NO` int not null,"+
|
|
"`COLUMN_NO` int not null,"+
|
|
"`LABEL` char(64),"+
|
|
"`CART` int,"+
|
|
"`DEFAULT_COLOR` char(6),"+
|
|
"index `LOAD_IDX` (`TYPE`,`OWNER`,`PANEL_NO`),"+
|
|
"index `SAVE_IDX` (`TYPE`,`OWNER`,`PANEL_NO`,`ROW_NO`,`COLUMN_NO`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<15)&&(set_schema>cur_schema)) {
|
|
DropColumn("PANELS","DEFAULT_COLOR");
|
|
q=new RDSqlQuery("alter table `PANELS` add column `DEFAULT_COLOR` char(7)",
|
|
false);
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<16)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Create MATRICES Table
|
|
//
|
|
sql=QString("create table if not exists `MATRICES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`NAME` char(64),"+
|
|
"`MATRIX` int not null,"+
|
|
"`TYPE` int not null,"+
|
|
"`PORT` int not null,"+
|
|
"`GPIO_DEVICE` char(255),"+
|
|
"`INPUTS` int not null,"+
|
|
"`OUTPUTS` int not null,"+
|
|
"`GPIS` int not null,"+
|
|
"`GPOS` int not null,"+
|
|
"index `MATRIX_IDX` (`STATION_NAME`,`MATRIX`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create INPUTS Table
|
|
//
|
|
sql=QString("create table if not exists `INPUTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX` int not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`NAME` char(64),"+
|
|
"`FEED_NAME` char(8),"+
|
|
"index `MATRIX_IDX` (`STATION_NAME`,`MATRIX`,`NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create OUTPUTS Table
|
|
//
|
|
sql=QString("create table if not exists `OUTPUTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX` int not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`NAME` char(64),"+
|
|
"index `MATRIX_IDX` (`STATION_NAME`,`MATRIX`,`NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<17)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("alter table `INPUTS` add column `CHANNEL_MODE` int",false);
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<18)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("alter table `STATIONS` add column `IPV4_ADDRESS` char(15)",
|
|
false);
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<19)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `EVENTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`SUN` enum('N','Y') not null,"+
|
|
"`MON` enum('N','Y') not null,"+
|
|
"`TUE` enum('N','Y') not null,"+
|
|
"`WED` enum('N','Y') not null,"+
|
|
"`THU` enum('N','Y') not null,"+
|
|
"`FRI` enum('N','Y') not null,"+
|
|
"`SAT` enum('N','Y') not null,"+
|
|
"`TIME` time not null,"+
|
|
"`DESCRIPTION` char(64),"+
|
|
"`COMMAND` char(255),"+
|
|
"index `STATION_IDX` (`STATION_NAME`),"+
|
|
"index `SUN_IDX` (`STATION_NAME`,`SUN`),"+
|
|
"index `MON_IDX` (`STATION_NAME`,`MON`),"+
|
|
"index `TUE_IDX` (`STATION_NAME`,`TUE`),"+
|
|
"index `WED_IDX` (`STATION_NAME`,`WED`),"+
|
|
"index `THU_IDX` (`STATION_NAME`,`THU`),"+
|
|
"index `FRI_IDX` (`STATION_NAME`,`FRI`),"+
|
|
"index `SAT_IDX` (`STATION_NAME`,`SAT`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<20)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CART` add column `MACROS` text");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<21)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` add column `MACRO_CART` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
if(!DropTable("EVENTS",err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<22)&&(set_schema>cur_schema)) {
|
|
DropColumn("DECKS","SWITCH_TYPE");
|
|
DropColumn("DECKS","TTY_ID");
|
|
sql=QString("alter table `DECKS` add column `SWITCH_STATION` char(64)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DECKS` add column `SWITCH_MATRIX` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DECKS` add column `SWITCH_OUTPUT` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DECKS` add column `SWITCH_DELAY` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<23)&&(set_schema>cur_schema)) {
|
|
DropColumn("RECORDINGS","SOURCE_NAME");
|
|
sql=QString("alter table `RECORDINGS` add column `SWITCH_INPUT` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
if(!DropTable("SOURCES",err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<24)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` add column `TYPE` int default 0 after `STATION_NAME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` add column `SWITCH_OUTPUT` int default -1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("update `RECORDINGS` set `TYPE`=1 where `MACRO_CART`!=-1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<25)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` drop index `SUN_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `MON_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `TUE_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `WED_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `THU_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `FRI_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `SAT_IDX`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` add column `IS_ACTIVE` enum('N','Y') default 'Y' after ID");
|
|
|
|
sql=QString("alter table `RECORDINGS` add index `SUN_IDX` (`STATION_NAME`,`SUN`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add index `MON_IDX` (`STATION_NAME`,`MON`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` add index `TUE_IDX` (`STATION_NAME`,`TUE`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` add index `WED_IDX` (`STATION_NAME`,`WED`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` add index `THU_IDX` (`STATION_NAME`,`THU`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` add index `FRI_IDX` (`STATION_NAME`,`FRI`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add index `SAT_IDX` (`STATION_NAME`,`SAT`,`IS_ACTIVE)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<26)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` drop index `SUN_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `MON_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `TUE_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `WED_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `THU_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `FRI_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` drop index `SAT_IDX");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<27)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `GPIS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX` int not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`MACRO_CART` int default -1,"+
|
|
"index `MATRIX_IDX` (`STATION_NAME`,`MATRIX`,`NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<28)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` alter column `ORIGIN_DATETIME` set default NULL");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` alter column `START_DATETIME` set default NULL");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` alter column `END_DATETIME` set default NULL");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` alter column `START_DAYPART` set default NULL");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` alter column `END_DAYPART` set default NULL");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `CUTS` set `ORIGIN_DATETIME`=NULL where `ORIGIN_DATETIME`='0000-00-00 00:00:00'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `CUTS` set `START_DATETIME`=NULL where `START_DATETIME`='0000-00-00 00:00:00'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `CUTS` set `END_DATETIME`=NULL where `END_DATETIME`='0000-00-00 00:00:00'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"drop index `START_TIME_IDX`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"alter column `START_TIME` set default NULL";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"modify column `START_TIME` int";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"alter column `POST_TIME` set default NULL";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `")+q->value(0).toString()+"_LOG` "+
|
|
"set `START_TIME`=NULL where `START_TIME`='00:00:00'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `")+q->value(0).toString()+"_LOG` "+
|
|
"set `POST_TIME`=NULL where `POST_TIME`='00:00:00'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<29)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` add column `EXIT_CODE` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<30)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` add column `ONE_SHOT` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<31)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column `TIME_OFFSET` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<32)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `GROUPS` add column `DEFAULT_LOW_CART` int unsigned default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS` add column `DEFAULT_HIGH_CART` int unsigned default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<33)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column `SUN` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `MON` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `TUE` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `WED` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `THU` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `FRI` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `SAT` enum('N','Y') default 'Y' after `END_DAYPART`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<34)&&(set_schema>cur_schema)) {
|
|
q=new RDSqlQuery("select `NAME` from `LOGS`",false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add `GRACE_TIME` int default 0 after `START_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<35)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `TRANS_LENGTH` int default 0 after `SEGUE_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<36)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add `POST_POINT` enum('N','Y') default 'N' after `TIME_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<37)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `LOGS` add column `TYPE` int not null default 0 after `NAME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<38)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `EVENTS` (")+
|
|
"`NAME` char(64) not null primary key,"+
|
|
"`PROPERTIES` char(64),"+
|
|
"`DISPLAY_TEXT` char(64),"+
|
|
"`NOTE_TEXT` char(255),"+
|
|
"`PREPOSITION` int default -1,"+
|
|
"`TIME_TYPE` int default 0,"+
|
|
"`GRACE_TIME` int default 0,"+
|
|
"`POST_POINT` enum('N','Y') default 'N',"+
|
|
"`USE_AUTOFILL` enum('N','Y') default 'N',"+
|
|
"`USE_TIMESCALE` enum('N','Y') default 'N',"+
|
|
"`IMPORT_SOURCE` int default 0,"+
|
|
"`START_SLOP` int default 0,"+
|
|
"`END_SLOP` int default 0,"+
|
|
"`FIRST_TRANS_TYPE` int default 0,"+
|
|
"`DEFAULT_TRANS_TYPE` int default 0,"+
|
|
"`COLOR` char(7))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<39)&&(set_schema>cur_schema)) {
|
|
// Transpose RDLogLine::Stop and RDLogLine::Segue
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `")+q->value(0).toString()+"_LOG` set "+
|
|
"`TRANS_TYPE`=100 where `TRANS_TYPE`=1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `")+q->value(0).toString()+"_LOG` set "+
|
|
"`TRANS_TYPE`=1 where `TRANS_TYPE`=2";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `")+q->value(0).toString()+"_LOG` set "+
|
|
"`TRANS_TYPE`=2 where `TRANS_TYPE`=100";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<40)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `CLOCKS` (")+
|
|
"`NAME` char(64) not null primary key,"+
|
|
"`SHORT_NAME` char(8),"+
|
|
"`COLOR` char(7))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<41)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD0` int default -1 after `INSTANCE`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD1` int default -1 after `PORT0`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD2` int default -1 after `PORT1`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD3` int default -1 after `PORT2`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD4` int default -1 after `PORT3`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `CARD5` int default -1 after `PORT4`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<42)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column `CLOCK0` char(64) after DESCRIPTION");
|
|
q=new RDSqlQuery(sql);
|
|
for(int i=1;i<168;i++) {
|
|
sql=QString("alter table `SERVICES` add column ")+
|
|
QString::asprintf("`CLOCK%d` char(64) after `CLOCK%d`",i,i-1);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<43)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `SHOW_AUX_1` enum('N','Y') default 'Y' after `USER_PANELS`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `SHOW_AUX_2` enum('N','Y') default 'Y' after `SHOW_AUX_1`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<44)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column `LOCAL_COUNTER` int unsigned default 0 after `PLAY_COUNTER`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<45)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column `EVERGREEN` enum('N','Y') default 'N' after `CART_NUMBER`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<46)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CART` add column `LENGTH_DEVIATION` int unsigned default 0 after `FORCED_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NUMBER` from `CART` where `TYPE`=1");
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
AverageCuts89(q->value(0).toUInt());
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<47)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column `NAME_TEMPLATE` char(255) after `DESCRIPTION`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_PATH` char(255) after `NAME_TEMPLATE`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_WIN_PATH` char(255) after `TFC_PATH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_CART_OFFSET` int after `TFC_WIN_PATH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_CART_LENGTH` int after `TFC_CART_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_START_OFFSET` int after `TFC_CART_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_START_LENGTH` int after `TFC_START_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_PATH` char(255) after `TFC_START_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_WIN_PATH` char(255) after `MUS_PATH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_CART_OFFSET` int after `MUS_PATH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_CART_LENGTH` int after `MUS_CART_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_START_OFFSET` int after `MUS_CART_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_START_LENGTH` int after `MUS_START_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<48)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column `TFC_LENGTH_OFFSET` int after `TFC_START_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_LENGTH_LENGTH` int after `TFC_LENGTH_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_LENGTH_OFFSET` int after `MUS_START_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_LENGTH_LENGTH` int after `MUS_LENGTH_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<49)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `AUTOFILLS` (")+
|
|
"`ID` int not null primary key auto_increment,"+
|
|
"`SERVICE` char(10),"+
|
|
"`CART_NUMBER` int unsigned,"+
|
|
"index `SERVICE_IDX` (`SERVICE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<50)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `CHAIN_LOG` enum('N','Y') default 'N'"+
|
|
"after `NAME_TEMPLATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<51)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `PASSWORD` char(32)"+
|
|
"after `DESCRIPTION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<52)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `HOSTVARS` (")+
|
|
"`ID` int not null primary key auto_increment,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`NAME` char(32) not null,"+
|
|
"`VARVALUE` char(255),"+
|
|
"`REMARK` char(255),"+
|
|
"index `NAME_IDX` (`STATION_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<53)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column `BACKUP_DIR` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column `BACKUP_LIFE` int default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<54)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `CLEAR_FILTER` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `BAR_ACTION` int unsigned default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<55)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `FLASH_PANEL` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<56)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column `HEARTBEAT_CART` int unsigned default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column `HEARTBEAT_INTERVAL` int unsigned default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<57)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `SERVICE_PERMS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`SERVICE_NAME` char(10),"+
|
|
"index `STATION_IDX` (`STATION_NAME`),"+
|
|
"index `SERVICE_IDX` (`SERVICE_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `SERVICE_PERMS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q1->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<58)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `EXT_START_TIME` time";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `EXT_LENGTH` int";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table '")+q->value(0).toString()+"_LOG` "+
|
|
"add column `EXT_DATA` char(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `EXT_EVENT_ID` char(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<59)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column `TFC_DATA_OFFSET` int after `TFC_LENGTH_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_DATA_LENGTH` int after `TFC_DATA_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_EVENT_ID_OFFSET` int after `TFC_DATA_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `TFC_EVENT_ID_LENGTH` int after `TFC_EVENT_ID_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_DATA_OFFSET` int after `MUS_LENGTH_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_DATA_LENGTH` int after `MUS_DATA_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_EVENT_ID_OFFSET` int after `MUS_DATA_LENGTH`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` add column `MUS_EVENT_ID_LENGTH` int after `MUS_EVENT_ID_OFFSET`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<60)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Version 60 and 61 code removed, as per-log reconciliation data is no
|
|
// longer used. FFG 11/08/2005
|
|
//
|
|
cur_schema+=2;
|
|
}
|
|
|
|
if((cur_schema<62)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `GROUPS` add column `REPORT_TFC` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS` add column `REPORT_MUS` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS` add index `IDX_REPORT_TFC` (`REPORT_TFC`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS' add index `IDX_REPORT_MUS` (`REPORT_MUS`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<63)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `REPORTS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`NAME` char(64) not null unique,"+
|
|
"`DESCRIPTION` char(64),"+
|
|
"`EXPORT_FILTER` int,"+
|
|
"`EXPORT_PATH` char(255),"+
|
|
"`WIN_EXPORT_PATH` char(255),"+
|
|
"index `IDX_NAME` (`NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("create table if not exists `REPORT_SERVICES` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`REPORT_NAME` char(64) not null,"+
|
|
"`SERVICE_NAME` char(10),"+
|
|
"index `IDX_REPORT_NAME` (`REPORT_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("create table if not exists `REPORT_STATIONS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`REPORT_NAME` char(64) not null,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"index `IDX_REPORT_NAME` (`REPORT_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<64)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `REPORTS` add column `EXPORT_TFC` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORTS` add column `EXPORT_MUS` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORTS` add column `EXPORT_GEN` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<65)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `REPORTS` add column `STATION_ID` char(16)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<66)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` alter column `OP_MODE` set default 2");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<67)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `PAUSE_ENABLED` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<68)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_ADDR0` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_PORT0` int unsigned");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_STRING0` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_ADDR1` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_PORT1` int unsigned");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_STRING1` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_ADDR2` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_PORT2` int unsigned");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `UDP_STRING2` char(255)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS` add column `ENABLE_NOW_NEXT` enum('N','Y') default 'N'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<69)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `MATRICES` add column `PORT_TYPE` int default 0 after `TYPE`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` add column `IP_ADDRESS` char(16) after `PORT`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` add column `IP_PORT` int after `IP_ADDRESS`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<70)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_REC`"+
|
|
"add column `PLAY_SOURCE` int default 0 after `EVENT_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_REC` "+
|
|
"add column `CUT_NUMBER` int default 0 after `CART_NUMBER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<71)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` add column `END_LINE` int default -1 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `END_MATRIX` int default -1 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `END_LENGTH` int default 0 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `END_TIME` time after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `END_TYPE` int unsigned default 2 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `START_OFFSET` int default 0 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `START_LINE` int default -1 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `START_MATRIX` int default -1 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `START_LENGTH` int default 0 after `START_TIME`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` add column `START_TYPE` int default 0 after `DESCRIPTION`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<72)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `GROUPS` add column `DEFAULT_CART_TYPE` int unsigned default 1 after `DESCRIPTION`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<73)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `DEFAULT_TRANS_TYPE` int unsigned default 0 after `CLEAR_FILTER`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<74)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Create CLOCK_PERMS Table
|
|
//
|
|
sql=QString("create table if not exists `CLOCK_PERMS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`CLOCK_NAME` char(64),"+
|
|
"`SERVICE_NAME` char(10),"+
|
|
"index CLOCK_IDX (CLOCK_NAME),"+
|
|
"index `SERVICE_IDX` (`SERVICE_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `CLOCKS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `CLOCK_PERMS` set ")+
|
|
"`CLOCK_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q1->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
}
|
|
delete q;
|
|
|
|
//
|
|
// Create EVENT_PERMS Table
|
|
//
|
|
sql=QString("create table if not exists `EVENT_PERMS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`EVENT_NAME` char(64),"+
|
|
"`SERVICE_NAME` char(10),"+
|
|
"index `EVENT_IDX` (`EVENT_NAME`),"+
|
|
"index `SERVICE_IDX` (`SERVICE_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `EVENTS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `EVENT_PERMS` set ")+
|
|
"`EVENT_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q1->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<75)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `MATRICES` add column `CARD` int default -1 after `PORT_TYPE`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<76)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `DECKS` add column `MON_PORT_NUMBER` int default -1 after `PORT_NUMBER`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<77)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Create USER_PERMS table
|
|
//
|
|
sql=QString("create table if not exists `USER_PERMS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`USER_NAME` char(8),"+
|
|
"`GROUP_NAME` char(10),"+
|
|
"index `USER_IDX` (`USER_NAME`),"+
|
|
"index `GROUP_IDX` (`GROUP_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select LOGIN_NAME from USERS");
|
|
q=new RDSqlQuery(sql,false);
|
|
sql=QString("select NAME from GROUPS");
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
q1->seek(-1);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `USER_PERMS` set ")+
|
|
"`USER_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`GROUP_NAME`='"+RDEscapeString(q1->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q1;
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<78)&&(set_schema>cur_schema)) {
|
|
sql="alter table `USERS` add column `MODIFY_TEMPLATE_PRIV` enum('N','Y') not null default 'N' after `ARRANGE_LOG_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="update `USERS` set `MODIFY_TEMPLATE_PRIV`='Y' where `CREATE_LOG_PRIV`='Y'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<79)&&(set_schema>cur_schema)) {
|
|
sql="alter table `GROUPS` add column `ENFORCE_CART_RANGE` enum('N','Y') default 'N' after `DEFAULT_HIGH_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<80)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `TFC_ANNC_TYPE_OFFSET` int after `TFC_EVENT_ID_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_ANNC_TYPE_LENGTH` int after `TFC_ANNC_TYPE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_ANNC_TYPE_OFFSET` int after `MUS_EVENT_ID_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_ANNC_TYPE_LENGTH` int after `MUS_ANNC_TYPE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPORTS` add column `FORCE_TFC` enum('N','Y') default 'N' after `EXPORT_TFC`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `REPORTS` add column `FORCE_MUS` enum('N','Y') default 'N' after `EXPORT_MUS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `GROUPS` alter column `REPORT_TFC` set default 'Y'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `GROUPS` alter column `REPORT_MUS` set default 'Y'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<81)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_REC` "+
|
|
"add column `EVENT_SOURCE` int default 0 after `EVENT_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_REC` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `EVENT_SOURCE` int default 0 after `EVENT_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_POST` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_POST` "+
|
|
"add column `EVENT_SOURCE` int default 0 after `EVENT_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_POST` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<82)&&(set_schema>cur_schema)) {
|
|
sql="alter table `INPUTS` add column `ENGINE_NUM` int default -1 after `CHANNEL_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `INPUTS` add column `DEVICE_NUM` int default -1 after `ENGINE_NUM`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `OUTPUTS` add column `ENGINE_NUM` int default -1 after `NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `OUTPUTS` add column `DEVICE_NUM` int default -1 after `ENGINE_NUM`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `USERNAME` char(32) after `IP_PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `MATRICES` add column `PASSWORD` char(32) after `USERNAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `VGUEST_RESOURCES` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX_NUM` int not null,"+
|
|
"`VGUEST_TYPE` int not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`ENGINE_NUM` int default -1,"+
|
|
"`DEVICE_NUM` int default -1,"+
|
|
"`SURFACE_NUM` int default -1,"+
|
|
"`RELAY_NUM` int default -1,"+
|
|
"`BUSS_NUM` int default -1,"+
|
|
"index `STATION_MATRIX_IDX` (`STATION_NAME`,`MATRIX_NUM`,`VGUEST_TYPE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `FADERS` int default 0 after `GPOS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `MATRICES` add column `DISPLAYS` int default 0 after `FADERS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<83)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` add column `URL` char(255) after `ONE_SHOT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `RECORDINGS` add column `URL_USERNAME` char(64) after `URL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `RECORDINGS` add column `URL_PASSWORD` char(64) after `URL_USERNAME";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<84)&&(set_schema>cur_schema)) {
|
|
sql=
|
|
"alter table `STATIONS` add column `STATION_SCANNED` enum('N','Y') default 'N'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `HPI_VERSION` char(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `JACK_VERSION` char(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `ALSA_VERSION` char(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=
|
|
"alter table `STATIONS` add column `HAVE_OGGENC` enum('N','Y') default 'N'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=
|
|
"alter table `STATIONS` add column `HAVE_OGG123` enum('N','Y') default 'N'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=
|
|
"alter table `STATIONS` add column `HAVE_FLAC` enum('N','Y') default 'N'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=
|
|
"alter table `STATIONS` add column `HAVE_LAME` enum('N','Y') default 'N'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=
|
|
"alter table `STATIONS` add column `HAVE_MPG321` enum('N','Y') default 'N'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD0_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD0_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD0_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD0_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD1_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD1_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD1_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD1_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD2_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD2_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD2_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD2_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD3_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD3_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD3_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD3_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD4_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD4_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD4_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD4_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD5_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD5_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD5_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD5_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD6_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD6_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD6_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD6_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `CARD7_DRIVER` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD7_NAME` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD7_INPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `STATIONS` add column `CARD7_OUTPUTS` int default -1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<85)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` add column `NORMALIZE_LEVEL` int default -1300 after `TRIM_THRESHOLD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RECORDINGS` add column `QUALITY` int default 0 after `BITRATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<86)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` alter column `END_TYPE` set default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<87)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `EXT_CART_NAME` char(32) after `EXT_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_REC` "+
|
|
"add column `EXT_CART_NAME` char(32) after `EXT_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `EXT_CART_NAME` char(32) after `EXT_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_POST` "+
|
|
"add column `EXT_CART_NAME` char(32) after `EXT_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<88)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` add column `ALLOW_MULT_RECS` enum('N','Y') default 'N' after `END_GPI`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RECORDINGS` add column `MAX_GPI_REC_LENGTH` int unsigned default 3600000 after `ALLOW_MULT_RECS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`START_TIME`,"+ // 01
|
|
"`END_TIME`,"+ // 02
|
|
"`END_LENGTH` "+ // 03
|
|
"from `RECORDINGS` where "+
|
|
"`END_TYPE`=1";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString().
|
|
sprintf("update `RECORDINGS` set `MAX_GPI_REC_LENGTH`=%u where `ID`=%u",
|
|
QTime(0,0,0).msecsTo(q->value(2).toTime())+q->value(3).toUInt()-
|
|
QTime(0,0,0).msecsTo(q->value(1).toTime()),q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<89)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `AVERAGE_LENGTH` int unsigned after `FORCED_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add column `ASYNCRONOUS` enum('N','Y') default 'N' after `PRESERVE_PITCH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NUMBER` from `CART` where `TYPE`=1");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
AverageCuts89(q->value(0).toUInt());
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("select `NUMBER` from `CART` where `TYPE`=2");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
TotalMacros89(q->value(0).toUInt());
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<90)&&(set_schema>cur_schema)) {
|
|
sql="alter table `REPORTS` add column `CART_DIGITS` int unsigned default 6 after `STATION_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPORTS` add column `USE_LEADING_ZEROS` enum('N','Y') default 'N' after `CART_DIGITS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<91)&&(set_schema>cur_schema)) {
|
|
sql="alter table `DECKS` add column `DEFAULT_MONITOR_ON` enum('N','Y') default 'N' after `MON_PORT_NUMBER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<92)&&(set_schema>cur_schema)) {
|
|
sql="alter table `EVENTS` add column `AUTOFILL_SLOP` int default -1 after `USE_AUTOFILL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<93)&&(set_schema>cur_schema)) {
|
|
sql="alter table `LOGS` add column `IMPORT_DATE` date after `END_DATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `FADEUP_POINT` int default -1 after `END_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
QString::asprintf("add column `FADEUP_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `FADEUP_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `FADEDOWN_POINT` int default -1 after `FADEUP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
QString::asprintf("add column `FADEDOWN_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `FADEDOWN_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
QString::asprintf("add column `SEGUE_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `SEGUE_END_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `FADEUP_POINT` int default -1 after `END_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
QString::asprintf("add column `FADEUP_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `FADEUP_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `FADEDOWN_POINT` int default -1 after `FADEUP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table '")+tablename+"_PRE' "+
|
|
QString::asprintf("add column `FADEDOWN_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `FADEDOWN_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
QString::asprintf("add column `SEGUE_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `SEGUE_END_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table '")+tablename+"_POST' "+
|
|
"add column `FADEUP_POINT` int default -1 after `END_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table '")+tablename+"_POST' "+
|
|
QString::asprintf("add column `FADEUP_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `FADEUP_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `FADEDOWN_POINT` int default -1 after `FADEUP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
QString::asprintf("add column `FADEDOWN_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `FADEDOWN_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
QString::asprintf("add column `SEGUE_GAIN` int default %d ",
|
|
RD_FADE_DEPTH)+
|
|
"after `SEGUE_END_POINT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<94)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `OWNER` char(64) after `ASYNCRONOUS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add index `OWNER_IDX` (`OWNER`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TRACK_GROUP` char(10) after `CHAIN_LOG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `SCHEDULED_TRACKS` int unsigned default 0 after `IMPORT_DATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `COMPLETED_TRACKS` int unsigned default 0 after `SCHEDULED_TRACKS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<95)&&(set_schema>cur_schema)) {
|
|
sql="alter table `USERS` add column `VOICETRACK_LOG_PRIV` enum('N','Y') not null default 'N' after `ADDTO_LOG_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<96)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `RDLOGEDIT` (")+
|
|
"`ID` int unsigned primary key auto_increment,"+
|
|
"`STATION` char(64) not null,"+
|
|
"`INPUT_CARD` int default -1,"+
|
|
"`INPUT_PORT` int default 0,"+
|
|
"`OUTPUT_CARD` int default -1,"+
|
|
"`OUTPUT_PORT` int default 0,"+
|
|
"`FORMAT` int unsigned default 0,"+
|
|
"`SAMPRATE` int unsigned default 44100,"+
|
|
"`LAYER` int unsigned default 0,"+
|
|
"`BITRATE` int unsigned default 0,"+
|
|
"`DEFAULT_CHANNELS` int unsigned default 2,"+
|
|
"`MAXLENGTH` int default 0,"+
|
|
"`TAIL_PREROLL` int unsigned default 2000,"+
|
|
"`START_CART` int unsigned default 0,"+
|
|
"`END_CART` int unsigned default 0,"+
|
|
"index `STATION_IDX` (`STATION`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `STATIONS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("insert into `RDLOGEDIT` set ")+
|
|
"`STATION`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<97)&&(set_schema>cur_schema)) {
|
|
sql="alter table `LOGS` add column `LOG_EXISTS` enum('N','Y') default 'Y' after `NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `LOGS` add index `NAME_IDX` (`NAME`,`LOG_EXISTS`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `USERS` add column `DELETE_REC_PRIV` enum('N','Y') default 'N' after `DELETE_LOG_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="update `USERS` set `DELETE_REC_PRIV`='Y' where `DELETE_LOG_PRIV`='Y'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<98)&&(set_schema>cur_schema)) {
|
|
QString tablename;
|
|
sql="select `NAME` from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("create table `")+q->value(0).toString()+"_SRT` ("+
|
|
"`ID` int unsigned auto_increment primary key,"+
|
|
"`LENGTH` int,"+
|
|
"`LOG_NAME` char(64),"+
|
|
"`LOG_ID` int,"+
|
|
"`CART_NUMBER` int unsigned,"+
|
|
"`CUT_NUMBER` int,"+
|
|
"`TITLE` char(255),"+
|
|
"`ARTIST` char(255),"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`EVENT_DATETIME` datetime,"+
|
|
"`SCHEDULED_TIME` time,"+
|
|
"`EVENT_TYPE` int,"+
|
|
"`EVENT_SOURCE` int,"+
|
|
"`PLAY_SOURCE` int,"+
|
|
"`START_SOURCE` int default 0,"+
|
|
"`EXT_START_TIME` time,"+
|
|
"`EXT_LENGTH` int,"+
|
|
"`EXT_CART_NAME` char(32),"+
|
|
"`EXT_DATA` char(32),"+
|
|
"`EXT_EVENT_ID` char(8),"+
|
|
"`EXT_ANNC_TYPE` char(8),"+
|
|
"index `EVENT_DATETIME_IDX` (`EVENT_DATETIME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `LOGS` where ")+
|
|
"`SERVICE`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
tablename=q1->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("select ")+
|
|
"`"+tablename+"_REC`.`LENGTH`,"+
|
|
"`"+tablename+"_REC`.`LOG_ID`,"+
|
|
"`"+tablename+"_REC`.`CART_NUMBER`,"+
|
|
"`"+tablename+"_REC`.`CUT_NUMBER`,"+
|
|
"`"+tablename+"_REC`.`STATION_NAME`,"+
|
|
"`"+tablename+"_REC`.`EVENT_DATETIME`,"+
|
|
"`"+tablename+"_REC`.`EVENT_TYPE`,"+
|
|
"`"+tablename+"_REC`.`EVENT_SOURCE`,"+
|
|
"`"+tablename+"_REC`.`PLAY_SOURCE`,"+
|
|
"`"+tablename+"_REC`.`EXT_START_TIME`,"+
|
|
"`"+tablename+"_REC`.`EXT_LENGTH`,"+
|
|
"`"+tablename+"_REC`.`EXT_CART_NAME`,"+
|
|
"`"+tablename+"_REC`.`EXT_DATA`,"+
|
|
"`"+tablename+"_REC`.`EXT_EVENT_ID`,"+
|
|
"`"+tablename+"_REC`.`EXT_ANNC_TYPE`,"+
|
|
"`CART`.`TITLE`,"+
|
|
"`CART`.`ARTIST` "+
|
|
"from `CART` right join `"+tablename+"_REC` on "+
|
|
"`CART`.`NUMBER`=`"+tablename+"_REC`.`CART_NUMBER`";
|
|
q2=new RDSqlQuery(sql,false);
|
|
while(q2->next()) {
|
|
sql=QString("insert into `")+q->value(0).toString()+"_SRT` set "+
|
|
QString::asprintf("`LENGTH`=%d,",q2->value(0).toInt())+
|
|
"`LOG_NAME`='"+RDEscapeString(q1->value(0).toString())+"',"+
|
|
QString::asprintf("`LOG_ID`=%d,",q2->value(1).toInt())+
|
|
QString::asprintf("`CART_NUMBER`=%u,",q2->value(2).toUInt())+
|
|
QString::asprintf("`CUT_NUMBER`=%d,",q2->value(3).toInt())+
|
|
"`TITLE`='"+RDEscapeString(q2->value(15).toString())+"',"+
|
|
"`ARTIST`='"+RDEscapeString(q2->value(16).toString())+"',"+
|
|
"`STATION_NAME`='"+RDEscapeString(q2->value(4).toString())+"',"+
|
|
"`EVENT_DATETIME`='"+RDEscapeString(q2->value(5).toDateTime().
|
|
toString("yyyy-MM-dd hh:mm:ss"))+"',"+
|
|
"`SCHEDULED_TIME`='00:00:00',"+
|
|
QString::asprintf("`EVENT_TYPE`=%d,",q2->value(6).toInt())+
|
|
QString::asprintf("`EVENT_SOURCE`=%d,",q2->value(7).toInt())+
|
|
QString::asprintf("`PLAY_SOURCE`=%d,",q2->value(8).toInt())+
|
|
"`EXT_START_TIME`='"+RDEscapeString(q2->value(9).toTime().
|
|
toString("hh:mm:ss"))+"',"+
|
|
QString::asprintf("`EXT_LENGTH`=%d,",q2->value(10).toInt())+
|
|
"`EXT_CART_NAME`='"+RDEscapeString(q2->value(11).toString())+"',"+
|
|
"`EXT_DATA`='"+RDEscapeString(q2->value(12).toString())+"',"+
|
|
"`EXT_EVENT_ID`='"+RDEscapeString(q2->value(13).toString())+"',"+
|
|
"`EXT_ANNC_TYPE`='"+RDEscapeString(q2->value(14).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q2;
|
|
}
|
|
delete q1;
|
|
}
|
|
delete q;
|
|
|
|
sql="alter table `RDAIRPLAY` add column `DEFAULT_SERVICE` char(10) after `PAUSE_ENABLED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<99)&&(set_schema>cur_schema)) {
|
|
sql="alter table `USERS` add column `CONFIG_PANELS_PRIV` enum('N','Y') default 'N' after `REMOVEFROM_LOG_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="update `USERS` set `CONFIG_PANELS_PRIV`='Y'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<100)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CUTS` add column `ISRC` char(12) after `OUTCUE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="select `NUMBER`,`ISRC` from `CART`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `CUTS` set ")+
|
|
"`ISRC`='"+RDEscapeString(q->value(1).toString())+"' where "+
|
|
QString::asprintf("`CART_NUMBER`=%u",q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<101)&&(set_schema>cur_schema)) {
|
|
for(int i=0;i<RD_MAX_CARDS;i++) {
|
|
sql=QString("alter table `AUDIO_PORTS` ")+
|
|
QString::asprintf("add column `INPUT_%d_MODE` int default 0 ",i)+
|
|
QString::asprintf("after `INPUT_%d_TYPE`",i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<102)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `PUBLISHER` char(64) after `AGENCY`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `CART` add index `PUBLISHER_IDX` (`PUBLISHER`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add column `COMPOSER` char(64) after `PUBLISHER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `CART` add index `COMPOSER_IDX` (`COMPOSER`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<103)&&(set_schema>cur_schema)) {
|
|
// There is no update 103!
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<104)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `USAGE_CODE` int default 0\
|
|
after `USER_DEFINED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPORTS` add column `LINES_PER_PAGE` int default 66\
|
|
after `USE_LEADING_ZEROS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPORTS` add column `STATION_TYPE` int default 0\
|
|
after `LINES_PER_PAGE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPORTS` add column `STATION_FORMAT` char(64)\
|
|
after `STATION_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_SRT` "+
|
|
"add column `PUBLISHER` char(64) after `ARTIST`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_SRT` "+
|
|
"add column `COMPOSER` char(64) after `PUBLISHER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_SRT` "+
|
|
"add column `ISRC` char(12) after `PUBLISHER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_SRT` "+
|
|
"add column `USAGE_CODE` int default 0 after `ISRC`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<105)&&(set_schema>cur_schema)) {
|
|
for(int i=0;i<6;i++) {
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `START_RML%d` char(255) after `PORT%d`",i,i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `STOP_RML%d` char(255) after `START_RML%d`",i,i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<106)&&(set_schema>cur_schema)) {
|
|
for(int i=0;i<3;i++) {
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `LOG_RML%d` char(255) after `UDP_STRING%d`",i,i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<107)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDLOGEDIT` add column `REC_START_CART` int unsigned default 0 after `END_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `RDLOGEDIT` add column `REC_END_CART` int unsigned default 0 after `REC_START_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<108)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `AVERAGE_SEGUE_LENGTH` int unsigned after `LENGTH_DEVIATION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="select `NUMBER` from `CART`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
cart=new RDCart(q->value(0).toUInt());
|
|
cart->updateLength();
|
|
delete cart;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<109)&&(set_schema>cur_schema)) {
|
|
sql="alter table `EVENTS` add column `NESTED_EVENT` char(64) after `COLOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<110)&&(set_schema>cur_schema)) {
|
|
for(unsigned i=6;i<10;i++) {
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `CARD%d` int default -1 after `STOP_RML%d`",i,i-1);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `PORT%d` int default -1 after `CARD%d`",i,i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `START_RML%d` char(255) after `PORT%d`",i,i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
|
|
sql=QString::asprintf("alter table `RDAIRPLAY` add column `STOP_RML%d` char(255) after `START_RML%d`",i,i);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`CARD2`,"+ // 01
|
|
"`PORT2`,"+ // 02
|
|
"`START_RML2`,"+ // 03
|
|
"`STOP_RML2` "+ // 04
|
|
"from `RDAIRPLAY`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `RDAIRPLAY` set ")+
|
|
QString::asprintf("`CARD6`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`PORT6`=%d,",q->value(2).toInt())+
|
|
"`START_RML6`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`STOP_RML6`='"+RDEscapeString(q->value(4).toString())+"',"+
|
|
QString::asprintf("`CARD7`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`PORT7`=%d,",q->value(2).toInt())+
|
|
"`START_RML7`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`STOP_RML7`='"+RDEscapeString(q->value(4).toString())+"',"+
|
|
QString::asprintf("`CARD8`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`PORT8`=%d,",q->value(2).toInt())+
|
|
"`START_RML8`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`STOP_RML8`='"+RDEscapeString(q->value(4).toString())+"',"+
|
|
QString::asprintf("`CARD9`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`PORT9`=%d,",q->value(2).toInt())+
|
|
"`START_RML9`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`STOP_RML9`='"+RDEscapeString(q->value(4).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<111)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `VALIDITY` int unsigned default 2 after `PLAY_ORDER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `CUTS` add column `VALIDITY` int unsigned default 2 after `LOCAL_COUNTER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="select `NUMBER` from `CART`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
cart=new RDCart(q->value(0).toUInt());
|
|
cart->updateLength();
|
|
delete cart;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<112)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDLOGEDIT` add column `TRIM_THRESHOLD` int default -3000 after `REC_END_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `RDLOGEDIT` add column `RIPPER_LEVEL` int default -1300 after `TRIM_THRESHOLD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`STATION`,"+ // 00
|
|
"`TRIM_THRESHOLD`,"+ // 01
|
|
"`RIPPER_LEVEL` "+ // 02
|
|
"from `RDLIBRARY`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `RDLOGEDIT` set ")+
|
|
QString::asprintf("`TRIM_THRESHOLD`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`RIPPER_LEVEL`=%d where ",q->value(2).toInt())+
|
|
"STATION='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="alter table `RDLIBRARY` modify `RIPPER_LEVEL` int default -1300";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDLOGEDIT` modify `DEFAULT_CHANNELS` int unsigned default 1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<113)&&(set_schema>cur_schema)) {
|
|
sql="alter table `VGUEST_RESOURCES` modify `SURFACE_NUM` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_BREAK_STRING` char(64) after `MUS_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_TRACK_STRING` char(64) after `MUS_BREAK_STRING`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<114)&&(set_schema>cur_schema)) {
|
|
sql="alter table `LOGS` add column `MUSIC_LINKS` int default 0 after `COMPLETED_TRACKS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `MUSIC_LINKED` enum('N','Y') default 'N' after `MUSIC_LINKS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `TRAFFIC_LINKS` int default 0 after `MUSIC_LINKED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `TRAFFIC_LINKED` enum('N','Y') default 'N' after `TRAFFIC_LINKS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select NAME from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `LINK_EVENT_NAME` char(64) after `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `LINK_START_TIME` time after `LINK_EVENT_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString::asprintf("alter table `")+tablename+"_LOG` "+
|
|
"add column `LINK_LENGTH` int default 0 after `LINK_START_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `LINK_ID` int default -1 after `LINK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_EVENT_NAME` char(64) after `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_START_TIME` time after `LINK_EVENT_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_LENGTH` int default 0 after `LINK_START_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_ID` int default -1 after `LINK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_EVENT_NAME` char(64) after `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_START_TIME` time after `LINK_EVENT_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_LENGTH` int default 0 after `LINK_START_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_ID` int default -1 after `LINK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<115)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"modify column `LABEL` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"modify column `LABEL` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"modify column `LABEL` char(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="alter table `SERVICES` add column `TRACK_GROUP` char(10) after `CHAIN_LOG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<116)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `LINK_EMBEDDED` enum('N','Y') default 'N' after `LINK_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_EMBEDDED` enum('N','Y') default 'N' after `LINK_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_EMBEDDED` enum('N','Y') default 'N' after `LINK_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<117)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `ORIGIN_USER` char(8) after `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `ORIGIN_DATETIME` datetime after `ORIGIN_USER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
DropColumn(tablename+"_LOG","ORIGIN_NAME");
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `ORIGIN_USER` char(8) after `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `ORIGIN_DATETIME` datetime after `ORIGIN_USER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `ORIGIN_USER` char(8) after `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `ORIGIN_DATETIME` datetime after `ORIGIN_USER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
DropColumn(tablename+"_PRE","ORIGIN_NAME");
|
|
DropColumn(tablename+"_POST","ORIGIN_NAME");
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<118)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `TFC_LABEL_CART` char(32) after `TFC_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_TRACK_CART` char(32) after `TFC_LABEL_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_LABEL_CART` char(32) after `MUS_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_TRACK_CART` char(32) after `MUS_LABEL_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_TITLE_OFFSET` int after `TFC_CART_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_TITLE_LENGTH` int after `TFC_TITLE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_TITLE_OFFSET` int after `MUS_CART_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_TITLE_LENGTH` int after `MUS_TITLE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<119)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `TFC_HOURS_OFFSET` int after `TFC_START_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_HOURS_LENGTH` int after `TFC_HOURS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TFC_MINUTES_OFFSET` int after `TFC_HOURS_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_MINUTES_LENGTH` int after `TFC_MINUTES_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TFC_SECONDS_OFFSET` int after `TFC_MINUTES_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_SECONDS_LENGTH` int after `TFC_SECONDS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME`,`TFC_START_OFFSET` from `SERVICES` where `TFC_START_LENGTH`=8";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `SERVICES` set ")+
|
|
QString::asprintf("`TFC_HOURS_OFFSET`=%d,",q->value(1).toInt())+
|
|
"`TFC_HOURS_LENGTH`=2,"+
|
|
QString::asprintf("`TFC_MINUTES_OFFSET`=%d,",q->value(1).toInt()+3)+
|
|
"`TFC_MINUTES_LENGTH`=2,"+
|
|
QString::asprintf("`TFC_SECONDS_OFFSET`=%d,",q->value(1).toInt()+6)+
|
|
"`TFC_SECONDS_LENGTH`=2 where "+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="alter table `SERVICES` add column `MUS_HOURS_OFFSET` int after `MUS_START_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_HOURS_LENGTH` int after `MUS_HOURS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_MINUTES_OFFSET` int after `MUS_HOURS_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_MINUTES_LENGTH` int after `MUS_MINUTES_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_SECONDS_OFFSET` int after `MUS_MINUTES_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_SECONDS_LENGTH` int after `MUS_SECONDS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME`,`MUS_START_OFFSET` from `SERVICES` where `MUS_START_LENGTH`=8";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `SERVICES` set ")+
|
|
QString::asprintf("`MUS_HOURS_OFFSET`=%d,",q->value(1).toInt())+
|
|
"`MUS_HOURS_LENGTH`=2,"+
|
|
QString::asprintf("`MUS_MINUTES_OFFSET`=%d,",q->value(1).toInt()+3)+
|
|
"`MUS_MINUTES_LENGTH`=2,"+
|
|
QString::asprintf("`MUS_SECONDS_OFFSET`=%d,",q->value(1).toInt()+6)+
|
|
"`MUS_SECONDS_LENGTH`=2 where "+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<120)&&(set_schema>cur_schema)) {
|
|
sql="alter table `GROUPS` add column `COLOR` char(7) default '#000000' after `ENABLE_NOW_NEXT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDLOGEDIT` add column `DEFAULT_TRANS_TYPE` int default 0 after `RIPPER_LEVEL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<121)&&(set_schema>cur_schema)) {
|
|
sql="alter table `LOGS` add column `LINK_DATETIME` datetime not null after `ORIGIN_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `NEXT_ID` int default 0 after `TRAFFIC_LINKED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME`,`ORIGIN_DATETIME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `LOGS` set ")+
|
|
"`LINK_DATETIME`='"+q->value(1).toDateTime().
|
|
toString("yyyy-MM-dd hh:mm:ss")+"' where "+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ID from `")+q->value(0).toString()+"_LOG` "+
|
|
"order by `ID`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
if(q1->last()) {
|
|
sql=QString("update `LOGS` set ")+
|
|
QString::asprintf("`NEXT_ID`=%d where ",q1->value(0).toInt()+1)+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<122)&&(set_schema>cur_schema)) {
|
|
sql="alter table `LOGS` add column `MODIFIED_DATETIME` datetime not null after `LINK_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `AUTO_REFRESH` enum('N','Y') default 'N' after `MODIFIED_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME`,`LINK_DATETIME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `LOGS` set ")+
|
|
"`MODIFIED_DATETIME`='"+RDEscapeString(q->value(1).toDateTime().
|
|
toString("yyyy-MM-dd hh:mm:ss"))+"' where "+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `AUTO_REFRESH` enum('N','Y') default 'N' after `TRACK_GROUP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<123)&&(set_schema>cur_schema)) {
|
|
sql="alter table `REPORTS` add column `FILTER_ONAIR_FLAG` enum('N','Y') default 'N' after `STATION_FORMAT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_SRT` "+
|
|
"add column `ONAIR_FLAG` enum('N','Y') default 'N' after `START_SOURCE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<124)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `TFC_LEN_HOURS_OFFSET` int after `TFC_SECONDS_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_LEN_HOURS_LENGTH` int after `TFC_LEN_HOURS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TFC_LEN_MINUTES_OFFSET` int after `TFC_LEN_HOURS_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_LEN_MINUTES_LENGTH` int after `TFC_LEN_MINUTES_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TFC_LEN_SECONDS_OFFSET` int after `TFC_LEN_MINUTES_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `TFC_LEN_SECONDS_LENGTH` int after `TFC_LEN_SECONDS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`NAME`,"+ // 00
|
|
"`TFC_LENGTH_OFFSET`,"+ // 01
|
|
"`TFC_LENGTH_LENGTH` "+ // 02
|
|
"from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
if(q->value(2).toInt()==5) {
|
|
sql=QString("update `SERVICES` set ")+
|
|
QString::asprintf("`TFC_LEN_MINUTES_OFFSET`=%d,",q->value(1).toInt())+
|
|
"`TFC_LEN_MINUTES_LENGTH`=2,"+
|
|
QString::asprintf("`TFC_LEN_SECONDS_OFFSET`=%d,",q->value(1).toInt()+3)+
|
|
"`TFC_LEN_SECONDS_LENGTH`=2 where "+
|
|
"NAME='"+RDEscapeString(q->value(0).toString())+"'";
|
|
}
|
|
else {
|
|
sql=QString("update `SERVICES` set ")+
|
|
QString::asprintf("`TFC_LEN_SECONDS_OFFSET`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`TFC_LEN_SECONDS_LENGTH`=%d where ",
|
|
q->value(2).toInt())+
|
|
"NAME='"+RDEscapeString(q->value(0).toString())+"'";
|
|
}
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="alter table `SERVICES` add column `MUS_LEN_HOURS_OFFSET` int after `MUS_SECONDS_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_LEN_HOURS_LENGTH` int after `MUS_LEN_HOURS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_LEN_MINUTES_OFFSET` int after `MUS_LEN_HOURS_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_LEN_MINUTES_LENGTH` int after `MUS_LEN_MINUTES_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_LEN_SECONDS_OFFSET` int after `MUS_LEN_MINUTES_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `SERVICES` add column `MUS_LEN_SECONDS_LENGTH` int after `MUS_LEN_SECONDS_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`NAME`,"+ // 00
|
|
"`MUS_LENGTH_OFFSET`,"+ // 01
|
|
"`MUS_LENGTH_LENGTH` "+ // 02
|
|
"from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
if(q->value(2).toInt()==5) {
|
|
sql=QString("update `SERVICES` set ")+
|
|
QString::asprintf("`MUS_LEN_MINUTES_OFFSET`=%d,",q->value(1).toInt())+
|
|
"`MUS_LEN_MINUTES_LENGTH`=2,"+
|
|
QString::asprintf("`MUS_LEN_SECONDS_OFFSET`=%d,",q->value(1).toInt()+3)+
|
|
"`MUS_LEN_SECONDS_LENGTH`=2 where "+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
}
|
|
else {
|
|
sql=QString("update `SERVICES` set ")+
|
|
QString::asprintf("`MUS_LEN_SECONDS_OFFSET`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`MUS_LEN_SECONDS_LENGTH`=%d where ",
|
|
q->value(2).toInt())+
|
|
"NAME='"+RDEscapeString(q->value(0).toString())+"'";
|
|
}
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<125)&&(set_schema>cur_schema)) {
|
|
sql="alter table `REPORTS` add column `SERVICE_NAME` char(64) after `LINES_PER_PAGE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_SRT` "+
|
|
"add column `ALBUM` char(255) after `COMPOSER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+q->value(0).toString()+"_SRT` "+
|
|
"add column `LABEL` char(64) after `ALBUM`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<126)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `LINK_START_SLOP` int default 0 after `LINK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `LINK_END_SLOP` int default 0 after `LINK_START_SLOP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<127)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` add column `PANEL_PAUSE_ENABLED` enum('N','Y') default 'N' after `FLASH_PANEL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<128)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_START_SLOP` int default 0 after `LINK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `LINK_END_SLOP` int default 0 after `LINK_START_SLOP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_START_SLOP` int default 0 after `LINK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `LINK_END_SLOP` int default 0 after `LINK_START_SLOP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<129)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` add column `EXIT_CODE` int default 0 after `LOG_RML2`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `EXIT_PASSWORD` char(41) default '' after `EXIT_CODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_START_MODE` int default 0 after `EXIT_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_AUTO_RESTART` enum('N','Y') default 'N' after `LOG0_START_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_LOG_NAME` char(64) after `LOG0_AUTO_RESTART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_CURRENT_LOG` char(64) after `LOG0_LOG_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_RUNNING` enum('N','Y') default 'N' after `LOG0_CURRENT_LOG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_LOG_ID` int default -1 after `LOG0_RUNNING`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_LOG_LINE` int default -1 after `LOG0_LOG_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_START_MODE` int default 0 after `LOG0_LOG_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_AUTO_RESTART` enum('N','Y') default 'N' after `LOG1_START_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_LOG_NAME` char(64) after `LOG1_AUTO_RESTART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_CURRENT_LOG` char(64) after `LOG1_LOG_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_RUNNING` enum('N','Y') default 'N' after `LOG1_CURRENT_LOG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_LOG_ID` int default -1 after `LOG1_RUNNING`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_LOG_LINE` int default -1 after `LOG1_LOG_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_START_MODE` int default 0 after `LOG1_LOG_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_AUTO_RESTART` enum('N','Y') default 'N' after `LOG2_START_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_LOG_NAME` char(64) after `LOG2_AUTO_RESTART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_CURRENT_LOG` char(64) after `LOG2_LOG_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_RUNNING` enum('N','Y') default 'N' after `LOG2_CURRENT_LOG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_LOG_ID` int default -1 after `LOG2_RUNNING`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_LOG_LINE` int default -1 after `LOG2_LOG_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<130)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `RDCATCH` (")+
|
|
"`ID` int unsigned primary key auto_increment,"+
|
|
"`STATION` char(64) not null,"+
|
|
"`ERROR_RML` char(255),"+
|
|
"index `STATION_IDX` (`STATION`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<131)&&(set_schema>cur_schema)) {
|
|
sql="alter table `EVENTS` add column `SCHED_GROUP` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `EVENTS` add column `TITLE_SEP` int(10) unsigned";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `EVENTS` add column `HAVE_CODE` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `EVENTS` add column `HOR_SEP` int(10) unsigned";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `EVENTS` add column `HOR_DIST` int(10) unsigned";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `CLOCKS` add column `ARTISTSEP` int(10) unsigned";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `CART` add column `SCHED_CODES` varchar( 255 ) NULL default NULL";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("create table if not exists `SCHED_CODES` (")+
|
|
"`CODE` varchar(10) not null primary key,"+
|
|
"`DESCRIPTION` varchar(255))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
if(!DropTable("SCHED_STACK",err_msg)) {
|
|
return false;
|
|
}
|
|
sql="select `NAME` from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
QString svc=q->value(0).toString();
|
|
if(!DropTable(svc.replace(" ","_")+"_STACK",err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `DUCK_UP_GAIN` int default 0 after `SEGUE_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_LOG` "+
|
|
"add column `DUCK_DOWN_GAIN` int default 0 after `DUCK_UP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("alter table `")+q->value(0).toString()+"_PRE` "+
|
|
"add column `DUCK_UP_GAIN` int default 0 after `SEGUE_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_PRE` "+
|
|
"add column `DUCK_DOWN_GAIN` int default 0 after `DUCK_UP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_POST` "+
|
|
"add column `DUCK_UP_GAIN` int default 0 after `SEGUE_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+q->value(0).toString()+"_POST` "+
|
|
"add column `DUCK_DOWN_GAIN` int default 0 after `DUCK_UP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<132)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `DROPBOXES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`GROUP_NAME` char(10),"+
|
|
"`PATH` char(255),"+
|
|
"`NORMALIZATION_LEVEL` int default 1,"+
|
|
"`AUTOTRIM_LEVEL` int default 1,"+
|
|
"`SINGLE_CART` enum('N','Y') default 'N',"+
|
|
"`TO_CART` int unsigned default 0,"+
|
|
"`USE_CARTCHUNK_ID` enum('N','Y') default 'N',"+
|
|
"`DELETE_CUTS` enum('N','Y') default 'N',"+
|
|
"`METADATA_PATTERN` char(64),"+
|
|
"`FIX_BROKEN_FORMATS` enum('N','Y') default 'N',"+
|
|
"`LOG_PATH` char(255),"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<133)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `DUCK_UP_GAIN` int default 0 after `SEGUE_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_LOG` "+
|
|
"add column `DUCK_DOWN_GAIN` int default 0 after `DUCK_UP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `DUCK_UP_GAIN` int default 0 after `SEGUE_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_PRE` "+
|
|
"add column `DUCK_DOWN_GAIN` int default 0 after `DUCK_UP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `DUCK_UP_GAIN` int default 0 after `SEGUE_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `DUCK_DOWN_GAIN` int default 0 after `DUCK_UP_GAIN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<134)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `RDPANEL` (")+
|
|
"`ID` int not null primary key auto_increment,"+
|
|
"`STATION` char(40) not null,"+
|
|
"`CARD2` int default -1,"+
|
|
"`PORT2` int default -1,"+
|
|
"`START_RML2` char(255),"+
|
|
"`STOP_RML2` char(255),"+
|
|
"`CARD6` int default -1,"+
|
|
"`PORT6` int default -1,"+
|
|
"`START_RML6` char(255),"+
|
|
"`STOP_RML6` char(255),"+
|
|
"`CARD7` int default -1,"+
|
|
"`PORT7` int default -1,"+
|
|
"`START_RML7` char(255),"+
|
|
"`STOP_RML7` char(255),"+
|
|
"`CARD8` int default -1,"+
|
|
"`PORT8` int default -1,"+
|
|
"`START_RML8` char(255),"+
|
|
"`STOP_RML8` char(255),"+
|
|
"`CARD9` int default -1,"+
|
|
"`PORT9` int default -1,"+
|
|
"`START_RML9` char(255),"+
|
|
"`STOP_RML9` char(255),"+
|
|
"`STATION_PANELS` int default 3,"+
|
|
"`USER_PANELS` int default 3,"+
|
|
"`CLEAR_FILTER` enum('N','Y') default 'N',"+
|
|
"`FLASH_PANEL` enum('N','Y') default 'N',"+
|
|
"`PANEL_PAUSE_ENABLED` enum('N','Y') default 'N',"+
|
|
"`DEFAULT_SERVICE` char(10),"+
|
|
"index `STATION_IDX` (`STATION`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create EXTENDED_PANELS Table
|
|
//
|
|
sql=QString("create table if not exists `EXTENDED_PANELS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`TYPE` int not null,"+
|
|
"`OWNER` char(64) not null,"+
|
|
"`PANEL_NO` int not null,"+
|
|
"`ROW_NO` int not null,"+
|
|
"`COLUMN_NO` int not null,"+
|
|
"`LABEL` char(64),"+
|
|
"`CART` int,"+
|
|
"`DEFAULT_COLOR` char(7),"+
|
|
"index `LOAD_IDX` (`TYPE`,`OWNER`,`PANEL_NO`),"+
|
|
"index `SAVE_IDX` (`TYPE`,`OWNER`,`PANEL_NO`,`ROW_NO`,`COLUMN_NO`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<135)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `STARTUP_CART` int unsigned default 0 after `HEARTBEAT_INTERVAL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<136)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Create PANEL_NAMES Table
|
|
//
|
|
sql=QString("create table if not exists `PANEL_NAMES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`TYPE` int not null,"+
|
|
"`OWNER` char(64) not null,"+
|
|
"`PANEL_NO` int not null,"+
|
|
"`NAME` char(64),"+
|
|
"index `LOAD_IDX` (`TYPE`,`OWNER`,`PANEL_NO`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create EXTENDED_PANEL_NAMES Table
|
|
//
|
|
sql=QString("create table if not exists `EXTENDED_PANEL_NAMES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`TYPE` int not null,"+
|
|
"`OWNER` char(64) not null,"+
|
|
"`PANEL_NO` int not null,"+
|
|
"`NAME` char(64),"+
|
|
"index `LOAD_IDX` (`TYPE`,`OWNER`,`PANEL_NO`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<137)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `AVERAGE_HOOK_LENGTH` int unsigned default 0 after `AVERAGE_SEGUE_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NUMBER` from `CART`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
cart=new RDCart(q->value(0).toUInt());
|
|
cart->updateLength();
|
|
delete cart;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<138)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"add column `BUTTON_LABEL_TEMPLATE` char(32) "+
|
|
"default '%t' after `PANEL_PAUSE_ENABLED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDPANEL` add column `BUTTON_LABEL_TEMPLATE` char(32) default '%t' after `PANEL_PAUSE_ENABLED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<139)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` modify `EXIT_PASSWORD` char(41) default ''";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<140)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `TFC_BREAK_STRING` char(64) after `TFC_TRACK_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TFC_TRACK_STRING` char(64) after `TFC_TRACK_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<141)&&(set_schema>cur_schema)) {
|
|
sql="alter table `DROPBOXES` add column `TITLE_FROM_CARTCHUNK_ID` enum('N','Y') default 'N' after `USE_CARTCHUNK_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<142)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `FEEDS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`KEY_NAME` char(8) unique not null,"+
|
|
"`CHANNEL_TITLE` char(255),"+
|
|
"`CHANNEL_DESCRIPTION` text,"+
|
|
"`CHANNEL_CATEGORY` char(64),"+
|
|
"`CHANNEL_LINK` char(255),"+
|
|
"`CHANNEL_COPYRIGHT` char(64),"+
|
|
"`CHANNEL_WEBMASTER` char(64),"+
|
|
"`CHANNEL_LANGUAGE` char(5) default 'en-us',"+
|
|
"`BASE_URL` char(255),"+
|
|
"`PURGE_URL` char(255),"+
|
|
"`PURGE_USERNAME` char(64),"+
|
|
"`PURGE_PASSWORD` char(64),"+
|
|
"`HEADER_XML` text,"+
|
|
"`CHANNEL_XML` text,"+
|
|
"`ITEM_XML` text,"+
|
|
"`MAX_SHELF_LIFE` int,"+
|
|
"`LAST_BUILD_DATETIME` datetime,"+
|
|
"`ORIGIN_DATETIME` datetime,"+
|
|
"`ENABLE_AUTOPOST` enum('N','Y') default 'N',"+
|
|
"index `KEY_NAME_IDX` (`KEY_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `PODCASTS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`FEED_ID` int unsigned not null,"+
|
|
"`STATUS` int unsigned default 0,"+
|
|
"`ITEM_TITLE` char(255),"+
|
|
"`ITEM_DESCRIPTION` text,"+
|
|
"`ITEM_CATEGORY` char(64),"+
|
|
"`ITEM_LINK` char(255),"+
|
|
"`AUDIO_FILENAME` char(255),"+
|
|
"`AUDIO_LENGTH` int unsigned,"+
|
|
"`SHELF_LIFE` int,"+
|
|
"`ORIGIN_DATETIME` datetime,"+
|
|
"index `FEED_ID_IDX` (`FEED_ID`,`ORIGIN_DATETIME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RECORDINGS` add column `FEED_ID` int default -1 after `URL_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `VERSION` add column `LAST_MAINT_DATETIME` datetime default '1970-01-01 00:00:00' after `DB`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<143)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `AUX_METADATA` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`FEED_ID` int unsigned,"+
|
|
"`VAR_NAME` char(16),"+
|
|
"`CAPTION` char(64),"+
|
|
"index `FEED_ID_IDX` (`FEED_ID`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `KEY_NAME` from `FEEDS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
CreateAuxFieldsTable143(q->value(0).toString());
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<144)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `UPLOAD_FORMAT` int default 2 after `ENABLE_AUTOPOST`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `FEEDS` add column `UPLOAD_CHANNELS` int default 2 after `UPLOAD_FORMAT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `FEEDS` add column `UPLOAD_SAMPRATE` int default 44100 after `UPLOAD_CHANNELS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `FEEDS` add column `UPLOAD_BITRATE` int default 32000 after `UPLOAD_CHANNELS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `FEEDS` add column `UPLOAD_QUALITY` int default 0 after `UPLOAD_BITRATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `FEEDS` add column `NORMALIZE_LEVEL` int default -100 after `UPLOAD_QUALITY`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `PODCASTS` add column `ITEM_COMMENTS` char(255) after `ITEM_LINK`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `PODCASTS` add column `ITEM_AUTHOR` char(255) after `ITEM_COMMENTS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `PODCASTS` add column `ITEM_SOURCE_TEXT` char(64) after `ITEM_AUTHOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `PODCASTS` add column `ITEM_SOURCE_URL` char(255) after `ITEM_SOURCE_TEXT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<145)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `FEED_PERMS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`USER_NAME` char(8),"+
|
|
"`KEY_NAME` char(8),"+
|
|
"index `USER_IDX` (`USER_NAME`),"+
|
|
"index `KEYNAME_IDX` (`KEY_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `LOGIN_NAME` from `USERS` where ")+
|
|
"(`ADMIN_USERS_PRIV`='N')&&(`ADMIN_CONFIG_PRIV`='N')";
|
|
q=new RDSqlQuery(sql,false);
|
|
sql="select `KEY_NAME` from `FEEDS`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
while(q1->next()) {
|
|
sql=QString("insert into `FEED_PERMS` set ")+
|
|
"`USER_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`KEY_NAME`='"+RDEscapeString(q1->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
q1->seek(-1);
|
|
}
|
|
delete q1;
|
|
delete q;
|
|
|
|
sql="alter table `USERS` add column `ADD_PODCAST_PRIV` enum('N','Y') not null default 'N' after `EDIT_CATCHES_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `USERS` add column `EDIT_PODCAST_PRIV` enum('N','Y') not null default 'N' after `ADD_PODCAST_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `USERS` add column `DELETE_PODCAST_PRIV` enum('N','Y') not null default 'N' after `EDIT_PODCAST_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("update `USERS` set ")+
|
|
"`ADD_PODCAST_PRIV`='Y',"+
|
|
"`EDIT_PODCAST_PRIV`='Y',"+
|
|
"`DELETE_PODCAST_PRIV`='Y' "+
|
|
"where "+
|
|
"(`ADMIN_CONFIG_PRIV`='N')&&"+
|
|
"(`ADMIN_USERS_PRIV`='N')";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<146)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `EXT_CART_NAME` char(32) after `EXT_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `EVENT_SOURCE` int default 0 after `EVENT_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `")+tablename+"_POST` "+
|
|
"add column `EXT_ANNC_TYPE` char(8) after `EXT_EVENT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<147)&&(set_schema>cur_schema)) {
|
|
sql="alter table `USERS` add column `ENABLE_WEB` enum('N','Y') default 'N' after `PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `WEB_CONNECTIONS` (")+
|
|
"`SESSION_ID` int unsigned not null primary key,"+
|
|
"`LOGIN_NAME` char(8),"+
|
|
"`IP_ADDRESS` char(16),"+
|
|
"`TIME_STAMP` datetime)"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<148)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column ")+
|
|
QString::asprintf("`SEGUE_GAIN` int default %d after `SEGUE_END_POINT`",
|
|
RD_FADE_DEPTH);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `PODCASTS` add column `AUDIO_TIME` int unsigned after `AUDIO_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
|
|
if((cur_schema<149)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `SWITCHER_NODES` (")+
|
|
"`ID` int not null auto_increment primary key,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`MATRIX` int,"+
|
|
"`BASE_OUTPUT` int default 0,"+
|
|
"`HOSTNAME` char(64),"+
|
|
"`PASSWORD` char(64),"+
|
|
"`TCP_PORT` int,"+
|
|
"`DESCRIPTION` char(255),"+
|
|
"index `STATION_IDX` (`STATION_NAME`,`MATRIX`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `INPUTS` add column `NODE_HOSTNAME` char(255) after `DEVICE_NUM`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `INPUTS` add column `NODE_TCP_PORT` int after `NODE_HOSTNAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `INPUTS` add column `NODE_SLOT` int after `NODE_TCP_PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table add index `NODE_IDX` (`STATION_NAME`,`MATRIX`,`NUMBER`,`NODE_HOSTNAME`,`NODE_TCP_PORT`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `OUTPUTS` add column `NODE_HOSTNAME` char(255) after `DEVICE_NUM`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `OUTPUTS` add column `NODE_TCP_PORT` int after `NODE_HOSTNAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `OUTPUTS` add column `NODE_SLOT` int after `NODE_TCP_PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table add index `NODE_IDX` (`STATION_NAME`,`MATRIX`,`NUMBER`,`NODE_HOSTNAME`,`NODE_TCP_PORT`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<150)&&(set_schema>cur_schema)) {
|
|
sql="alter table `MATRICES` add column `PORT_2` int not null after `PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `PORT_TYPE_2` int default 0 after `PORT_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `IP_ADDRESS_2` char(16) after `IP_ADDRESS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `IP_PORT_2` int after `IP_PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `USERNAME_2` char(32) after `USERNAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `PASSWORD_2` char(32) after `PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<151)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `KEEP_METADATA` enum('N','Y') default 'Y' after `ENABLE_AUTOPOST`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `KEY_NAME` from `FEEDS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
CreateFeedLog151(q->value(0).toString());
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<152)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `EDITOR_PATH` char(255) default ''\
|
|
after `STARTUP_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDPANEL` add column `CARD3` int default -1 after `STOP_RML2`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDPANEL` add column `PORT3` int default -1 after `CARD3`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDPANEL` add column `START_RML3` char(255) after `PORT3`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDPANEL` add column `STOP_RML3` char(255) after `START_RML3`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<153)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `FILTER_MODE` int default 0 after `EDITOR_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<154)&&(set_schema>cur_schema)) {
|
|
sql=QString::asprintf("alter table `CUTS` add column `SEGUE_GAIN` int default %d after `SEGUE_END_POINT`",RD_FADE_DEPTH);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<155)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDLIBRARY` add column `ENABLE_EDITOR` enum('N','Y') default 'N' after `CDDB_SERVER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<156)&&(set_schema>cur_schema)) {
|
|
sql="alter table `MATRICES` add column `LAYER` int default 86 after `TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<157)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `BROADCAST_SECURITY` int unsigned default 0 after `BACKUP_LIFE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<158)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`;";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("update `")+tablename+"_LOG` set `TRANS_TYPE`=1,`SEGUE_GAIN`=0 where `TRANS_TYPE`=3";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<159)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` add column `SKIN_PATH` char(255) default '";
|
|
sql+=RD_DEFAULT_RDAIRPLAY_SKIN;
|
|
sql+="' after `EXIT_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDPANEL` add column `SKIN_PATH` char(255) default '";
|
|
sql+=RD_DEFAULT_RDPANEL_SKIN;
|
|
sql+="' after `DEFAULT_SERVICE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<160)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Create ENCODERS Table
|
|
//
|
|
sql=QString("create table if not exists `ENCODERS` (")+
|
|
"`ID` int not null auto_increment primary key,"+
|
|
"`NAME` char(32) not null,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`COMMAND_LINE` char(255),"+
|
|
"`DEFAULT_EXTENSION` char(16),"+
|
|
"index `NAME_IDX` (`NAME`,`STATION_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
// Ensure that dynamic format IDs start after 100
|
|
sql="insert into `ENCODERS` set `ID`=100,`NAME`='dummy'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="delete from `ENCODERS` where `ID`=100";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create ENCODER_BITRATES Table
|
|
//
|
|
sql=QString("create table if not exists `ENCODER_BITRATES` (")+
|
|
"`ID` int not null auto_increment primary key,"+
|
|
"`ENCODER_ID` int not null,"+
|
|
"`BITRATES` int not null,"+
|
|
"index `ENCODER_ID_IDX` (`ENCODER_ID`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create ENCODER_CHANNELS Table
|
|
//
|
|
sql=QString("create table if not exists `ENCODER_CHANNELS` (")+
|
|
"`ID` int not null auto_increment primary key,"+
|
|
"`ENCODER_ID` int not null,"+
|
|
"`CHANNELS` int not null,"+
|
|
"index `ENCODER_ID_IDX` (`ENCODER_ID`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create ENCODER_SAMPLERATES Table
|
|
//
|
|
sql=QString("create table if not exists `ENCODER_SAMPLERATES` (")+
|
|
"`ID` int not null auto_increment primary key,"+
|
|
"`ENCODER_ID` int not null,"+
|
|
"`SAMPLERATES` int not null,"+
|
|
"index `ENCODER_ID_IDX` (`ENCODER_ID`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<161)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `UPLOAD_EXTENSION` char(16) default 'mp3' after `UPLOAD_QUALITY`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<162)&&(set_schema>cur_schema)) {
|
|
sql="alter table `GPIS` alter column `MACRO_CART` set default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `GPOS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX` int not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`MACRO_CART` int default 0,"+
|
|
"index `MATRIX_IDX` (`STATION_NAME`,`MATRIX`,`NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`STATION_NAME`,"+ // 00
|
|
"`MATRIX`,"+ // 01
|
|
"`GPOS` "+ // 02
|
|
"from `MATRICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=0;i<q->value(2).toInt();i++) {
|
|
sql=QString("insert into `GPOS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`MATRIX`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`NUMBER`=%d,",i+1)+
|
|
"`MACRO_CART`=0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<163)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` add column `EVENTDATE_OFFSET` int default 0 after `ENDDATE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<164)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `NOWNEXT_PLUGINS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`LOG_MACHINE` int unsigned not null default 0,"+
|
|
"`PLUGIN_PATH` char(255),"+
|
|
"`PLUGIN_ARG` char(255),"+
|
|
"index `STATION_IDX` (`STATION_NAME`,`LOG_MACHINE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<165)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `DROPBOX_PATHS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`DROPBOX_ID` int not null,"+
|
|
"`FILE_PATH` char(255) not null,"+
|
|
"`FILE_DATETIME` datetime,"+
|
|
"index `FILE_PATH_IDX` (`DROPBOX_ID`,`FILE_PATH`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `DROPBOXES` add `DELETE_SOURCE` enum('N','Y') default 'Y' after `DELETE_CUTS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `DROPBOXES` add column `STARTDATE_OFFSET` int default 0 after `METADATA_PATTERN`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `DROPBOXES` add column `ENDDATE_OFFSET` int default 0 after `STARTDATE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<166)&&(set_schema>cur_schema)) {
|
|
sql="alter table `GROUPS` add column `CUT_SHELFLIFE` int default -1 after `DEFAULT_HIGH_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `GROUPS` add column `DEFAULT_TITLE` char(255) default 'Imported from %f.%e' after `CUT_SHELFLIFE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `SYSTEM_MAINT` enum('N','Y') default 'Y' after `FILTER_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `ELR_SHELFLIFE` int default -1 after `AUTO_REFRESH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `EVENTS` add column `REMARKS` char(255) after `NESTED_EVENT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CLOCKS` add column `REMARKS` char(255) after `COLOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<167)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_NOW_CART` int unsigned default 0 after `LOG0_LOG_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG0_NEXT_CART` int unsigned default 0 after `LOG0_NOW_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_NOW_CART` int unsigned default 0 after `LOG1_LOG_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG1_NEXT_CART` int unsigned default 0 after `LOG1_NOW_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_NOW_CART` int unsigned default 0 after `LOG2_LOG_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `LOG2_NEXT_CART` int unsigned default 0 after `LOG2_NOW_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<168)&&(set_schema>cur_schema)) {
|
|
sql="alter table `GPIS` add column `OFF_MACRO_CART` int default 0 after `MACRO_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `GPOS` add column `OFF_MACRO_CART` int default 0 after `MACRO_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<169)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `DEFAULT_LOG_SHELFLIFE` int default -1 after `AUTO_REFRESH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` add column `PURGE_DATE` date after `END_DATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<170)&&(set_schema>cur_schema)) {
|
|
sql="alter table `USERS` modify column `LOGIN_NAME` char(255) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `USERS` modify column `FULL_NAME` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `FEED_PERMS` modify column `USER_NAME` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `LOGS` modify column `ORIGIN_USER` char(255) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString().
|
|
sprintf("alter table `%s_LOG` modify column `ORIGIN_USER` char(255)",
|
|
tablename.toUtf8().constData());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString().
|
|
sprintf("alter table `%s_PRE` modify column `ORIGIN_USER` char(255)",
|
|
tablename.toUtf8().constData());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString().
|
|
sprintf("alter table `%s_POST` modify column `ORIGIN_USER` char(255)",
|
|
tablename.toUtf8().constData());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="alter table `STATIONS` modify column `USER_NAME` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` modify column `DEFAULT_NAME` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `USER_PERMS` modify column `USER_NAME` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `WEB_CONNECTIONS` modify column `LOGIN_NAME` char(255)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<171)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `CAST_ORDER` enum('N','Y') default 'N' after `ITEM_XML`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `PODCASTS` add column `EFFECTIVE_DATETIME` datetime after `ORIGIN_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `ID`,`ORIGIN_DATETIME` from `PODCASTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `PODCASTS` set ")+
|
|
"`EFFECTIVE_DATETIME`='"+q->value(1).toDateTime().
|
|
toString("yyyy-MM-dd hh:mm:ss")+"' where "+
|
|
QString::asprintf("`ID`=%u",q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<172)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `REDIRECT_PATH` char(255) after `NORMALIZE_LEVEL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<173)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `BASE_PREAMBLE` char(255) after `BASE_URL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<174)&&(set_schema>cur_schema)) {
|
|
sql="alter table `MATRICES` add column `START_CART` int unsigned after `PASSWORD_2`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `STOP_CART` int unsigned after `START_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `START_CART_2` int unsigned after `STOP_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `MATRICES` add column `STOP_CART_2` int unsigned after `START_CART_2`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<175)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `SYSTEM` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`DUP_CART_TITLES` enum('N','Y') not null default 'Y')"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="insert into `SYSTEM` set `DUP_CART_TITLES`='Y'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<176)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` add column `SHOW_COUNTERS` enum('N','Y') default 'N' after `SKIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `RDAIRPLAY` add column `AUDITION_PREROLL` int default 10000 after `SHOW_COUNTERS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<177)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDPANEL` ")+
|
|
"add column `SKIN_PATH` char(255) default '"+RD_DEFAULT_RDPANEL_SKIN+"' "+
|
|
"after `DEFAULT_SERVICE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
DropColumn("PANELS","SKIN_PATH");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<178)&&(set_schema>cur_schema)) {
|
|
sql="alter table `PODCASTS` modify column `STATUS` int unsigned default 1";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `MAX_POST_LENGTH` "+
|
|
QString::asprintf("int unsigned default %u after `DUP_CART_TITLES`",
|
|
RD_DEFAULT_MAX_POST_LENGTH);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<179)&&(set_schema>cur_schema)) {
|
|
sql="alter table `FEEDS` add column `MEDIA_LINK_MODE` int default 0 after `REDIRECT_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<180)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDLIBRARY` add column `SRC_CONVERTER` int default 1 after `ENABLE_EDITOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<181)&&(set_schema>cur_schema)) {
|
|
length_update_required=true;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<182)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `NOTES` text after `MACROS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<183)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `IMPORT_TEMPLATES` (")+
|
|
"`NAME` char(64) not null primary key,"+
|
|
"`CART_OFFSET` int,"+
|
|
"`CART_LENGTH` int,"+
|
|
"`TITLE_OFFSET` int,"+
|
|
"`TITLE_LENGTH` int,"+
|
|
"`HOURS_OFFSET` int,"+
|
|
"`HOURS_LENGTH` int,"+
|
|
"`MINUTES_OFFSET` int,"+
|
|
"`MINUTES_LENGTH` int,"+
|
|
"`SECONDS_OFFSET` int,"+
|
|
"`SECONDS_LENGTH` int,"+
|
|
"`LEN_HOURS_OFFSET` int,"+
|
|
"`LEN_HOURS_LENGTH` int,"+
|
|
"`LEN_MINUTES_OFFSET` int,"+
|
|
"`LEN_MINUTES_LENGTH` int,"+
|
|
"`LEN_SECONDS_OFFSET` int,"+
|
|
"`LEN_SECONDS_LENGTH` int,"+
|
|
"`LENGTH_OFFSET` int,"+
|
|
"`LENGTH_LENGTH` int,"+
|
|
"`DATA_OFFSET` int,"+
|
|
"`DATA_LENGTH` int,"+
|
|
"`EVENT_ID_OFFSET` int,"+
|
|
"`EVENT_ID_LENGTH` int,"+
|
|
"`ANNC_TYPE_OFFSET` int,"+
|
|
"`ANNC_TYPE_LENGTH` int)"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
InsertImportFormats(err_msg);
|
|
|
|
sql="alter table `SERVICES` add column `TFC_IMPORT_TEMPLATE` char(64) default 'Rivendell Standard Import' after `TFC_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_IMPORT_TEMPLATE` char(64) default 'Rivendell Standard Import' after `MUS_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="update `SERVICES` set `TFC_IMPORT_TEMPLATE`=''";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="update `SERVICES` set `MUS_IMPORT_TEMPLATE`=''";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<184)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Removed as redundant with update 183 [call to InsertImportFormats()].
|
|
//
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<185)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `TFC_PREIMPORT_CMD` text after `TFC_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `TFC_WIN_PREIMPORT_CMD` text after `TFC_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_PREIMPORT_CMD` text after `MUS_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SERVICES` add column `MUS_WIN_PREIMPORT_CMD` text after `MUS_WIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<186)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
if(!UpdateLogTable186(tablename+"_LOG",err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
if(!UpdateLogTable186(tablename+"_PRE",err_msg)) {
|
|
return false;
|
|
}
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
if(!UpdateLogTable186(tablename+"_POST",err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
sql="select `NAME` from `CLOCKS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
if(!ConvertTimeField186(tablename+"_CLK","START_TIME",err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<187)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CUTS` add column `ISCI` char(32) after `ISRC`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_SRT` "+
|
|
"add column `ISCI` char(32) after `ISRC`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<188)&&(set_schema>cur_schema)) {
|
|
// Nothing to be done here
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<189)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CUTS` add column `UPLOAD_DATETIME` datetime after `LAST_PLAY_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<190)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `HAVE_TWOLAME` enum('N','Y') default 'N' after `HAVE_FLAC`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<191)&&(set_schema>cur_schema)) {
|
|
sql="alter table `SERVICES` add column `PROGRAM_CODE` char(255) after `NAME_TEMPLATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<192)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` add column `EXIT_TEXT` text after `EXIT_CODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<193)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` alter column `IPV4_ADDRESS` set default '127.0.0.2'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<194)&&(set_schema>cur_schema)) {
|
|
sql=QString::asprintf("alter table `SYSTEM` ")+
|
|
"add column `SAMPLE_RATE` "+
|
|
QString::asprintf("int unsigned default %d after `ID`",
|
|
RD_DEFAULT_SAMPLE_RATE);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="select `DEFAULT_SAMPRATE` from `RDLIBRARY`";
|
|
q=new RDSqlQuery(sql,false);
|
|
if(q->first()) {
|
|
sql=QString::asprintf("update `SYSTEM` set `SAMPLE_RATE`=%u",
|
|
q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<195)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RECORDINGS` add column `ENABLE_METADATA` enum('N','Y') default 'N' after `URL_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<196)&&(set_schema>cur_schema)) {
|
|
sql="alter table `DROPBOXES` add column `IMPORT_CREATE_DATES` enum('N','Y') default 'N' after `LOG_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `DROPBOXES` add column `CREATE_STARTDATE_OFFSET` int default 0 after `IMPORT_CREATE_DATES`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `DROPBOXES` add column `CREATE_ENDDATE_OFFSET` int default 0 after `CREATE_STARTDATE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<197)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `REPLICATORS` (")+
|
|
"`NAME` char(32) not null primary key,"+
|
|
"`DESCRIPTION` char(64),"+
|
|
"`TYPE_ID` int unsigned not null,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`FORMAT` int unsigned default 0,"+
|
|
"`CHANNELS` int unsigned default 2,"+
|
|
QString::asprintf("`SAMPRATE` int unsigned default %u,",
|
|
RD_DEFAULT_SAMPLE_RATE)+
|
|
"`BITRATE` int unsigned default 0,"+
|
|
"`QUALITY` int unsigned default 0,"+
|
|
"`URL` char(255),"+
|
|
"`URL_USERNAME` char(64),"+
|
|
"`URL_PASSWORD` char(64),"+
|
|
"`ENABLE_METADATA` enum('N','Y') default 'N',"+
|
|
"`NORMALIZATION_LEVEL` int unsigned default 0,"+
|
|
"index `TYPE_ID_IDX` (`TYPE_ID`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `REPLICATOR_MAP` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`REPLICATOR_NAME` char(32) not null,"+
|
|
"`GROUP_NAME` char(10) not null,"+
|
|
"index `REPLICATOR_NAME_IDX` (`REPLICATOR_NAME`),"+
|
|
"index `GROUP_NAME_IDX` (`GROUP_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add column `METADATA_DATETIME` datetime after `NOTES`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="update `CART` set `METADATA_DATETIME`=now()";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create REPL_CART_STATE Table
|
|
//
|
|
sql=QString("create table if not exists `REPL_CART_STATE` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`REPLICATOR_NAME` char(32) not null,"+
|
|
"`CART_NUMBER` int unsigned not null,"+
|
|
"`ITEM_DATETIME` datetime not null,"+
|
|
"unique `REPLICATOR_NAME_IDX` (`REPLICATOR_NAME`,`CART_NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Create REPL_CUT_STATE Table
|
|
//
|
|
sql=QString("create table if not exists `REPL_CUT_STATE` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`REPLICATOR_NAME` char(32) not null,"+
|
|
"`CUT_NAME` char(12) not null,"+
|
|
"`ITEM_DATETIME` datetime not null,"+
|
|
"index `REPLICATOR_NAME_IDX` (`REPLICATOR_NAME`),"+
|
|
"index `CUT_NAME_IDX` (`CUT_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<198)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `ISCI_XREFERENCE` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`CART_NUMBER` int unsigned not null,"+
|
|
"`ISCI` char(32) not null,"+
|
|
"`FILENAME` char(64) not null,"+
|
|
"`LATEST_DATE` date not null,"+
|
|
"`TYPE` char(1) not null,"+
|
|
"`ADVERTISER_NAME` char(30),"+
|
|
"`PRODUCT_NAME` char(35),"+
|
|
"`CREATIVE_TITLE` char(30),"+
|
|
"`REGION_NAME` char(80),"+
|
|
"index `CART_NUMBER_IDX` (`CART_NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `VERSION` add column `LAST_ISCI_XREFERENCE` datetime default '1970-01-01 00:00:00' after `LAST_MAINT_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `SYSTEM` add column `ISCI_XREFERENCE_PATH` char(255) after `MAX_POST_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
if((cur_schema<199)&&(set_schema>cur_schema)) {
|
|
sql="create index `TYPE_IDX` on `ISCI_XREFERENCE` (`TYPE`,`LATEST_DATE`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="create index `LATEST_DATE_IDX` on `ISCI_XREFERENCE` (`LATEST_DATE`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<200)&&(set_schema>cur_schema)) {
|
|
// Nothing to be done here
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<201)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `HTTP_STATION` char(64) default 'localhost' after `IPV4_ADDRESS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column `CAE_STATION` char(64) ")+
|
|
"default 'localhost' after `HTTP_STATION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<202)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `RDHOTKEYS` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`MODULE_NAME` char(64),"+
|
|
"`KEY_ID` int,"+
|
|
"`KEY_VALUE` char(64),"+
|
|
"`KEY_LABEL` char(64))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="select `NAME` from `STATIONS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
if (!InsertRDAirplayHotkeys(q->value(0).toString().toUtf8().constData(),
|
|
err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<203)&&(set_schema>cur_schema)) {
|
|
DropColumn("REPLICATORS","NORMALIZATION_LEVEL");
|
|
sql=
|
|
"alter table `REPLICATORS` add column `NORMALIZATION_LEVEL` int default 0 after `ENABLE_METADATA`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPL_CART_STATE` add column `REPOST` enum('N','Y') default 'N' after `ITEM_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPL_CART_STATE` add column `POSTED_FILENAME` char(255) after `CART_NUMBER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="drop index `REPLICATOR_NAME_IDX` on `REPL_CART_STATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="create unique index `REPLICATOR_NAME_IDX` on `REPL_CART_STATE` (`REPLICATOR_NAME`,`CART_NUMBER`,`POSTED_FILENAME`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="delete from `REPL_CART_STATE` where `POSTED_FILENAME` is null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<204)&&(set_schema>cur_schema)) {
|
|
sql=QString("insert into `IMPORT_TEMPLATES` set ")+
|
|
"`NAME`='The Traffic Light',"+
|
|
"`CART_OFFSET`=10,"+
|
|
"`CART_LENGTH`=6,"+
|
|
"`TITLE_OFFSET`=25,"+
|
|
"`TITLE_LENGTH`=34,"+
|
|
"`HOURS_OFFSET`=0,"+
|
|
"`HOURS_LENGTH`=2,"+
|
|
"`MINUTES_OFFSET`=3,"+
|
|
"`MINUTES_LENGTH`=2,"+
|
|
"`SECONDS_OFFSET`=6,"+
|
|
"`SECONDS_LENGTH`=2,"+
|
|
"`LEN_HOURS_OFFSET`=60,"+
|
|
"`LEN_HOURS_LENGTH`=2,"+
|
|
"`LEN_MINUTES_OFFSET`=63,"+
|
|
"`LEN_MINUTES_LENGTH`=2,"+
|
|
"`LEN_SECONDS_OFFSET`=66,"+
|
|
"`LEN_SECONDS_LENGTH`=2,"+
|
|
"`DATA_OFFSET`=69,"+
|
|
"`DATA_LENGTH`=32";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<205)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `START_JACK` enum('N','Y') default 'N' after `FILTER_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `STATIONS` add column `JACK_SERVER_NAME` char(64) after `START_JACK`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<206)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `REPORT_GROUPS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`REPORT_NAME` char(64) not null,"+
|
|
"`GROUP_NAME` char(10),"+
|
|
"index `IDX_REPORT_NAME` (`REPORT_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `REPORTS` add column `FILTER_GROUPS` enum('N','Y') default 'N' after `FILTER_ONAIR_FLAG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<207)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Removed as redundant with update 183 [call to InsertImportFormats()].
|
|
//
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<208)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDAIRPLAY` add column `HOUR_SELECTOR_ENABLED` enum('N','Y') default 'N' after `DEFAULT_SERVICE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<209)&&(set_schema>cur_schema)) {
|
|
sql="alter table `STATIONS` add column `JACK_COMMAND_LINE` char(255) after `JACK_SERVER_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `JACK_CLIENTS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`DESCRIPTION` char(64),"+
|
|
"`COMMAND_LINE` char(255) not null,"+
|
|
"index `IDX_STATION_NAME` (`STATION_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<210)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `CARTSLOTS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`SLOT_NUMBER` int unsigned not null,"+
|
|
"`MODE` int not null default 0,"+
|
|
"`DEFAULT_MODE` int not null default -1,"+
|
|
"`STOP_ACTION` int not null default 0,"+
|
|
"`DEFAULT_STOP_ACTION` int not null default -1,"+
|
|
"`CART_NUMBER` int default 0,"+
|
|
"`DEFAULT_CART_NUMBER` int not null default 0,"+
|
|
"`SERVICE_NAME` char(10),"+
|
|
"`CARD` int not null default 0,"+
|
|
"`INPUT_PORT` int not null default 0,"+
|
|
"`OUTPUT_PORT` int not null default 0,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`SLOT_NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<211)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` add column `TEMP_CART_GROUP` char(10) ")+
|
|
"default 'TEMP' after `ISCI_XREFERENCE_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<212)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CARTSLOTS` add column `HOOK_MODE` int default 0 ")+
|
|
"after `DEFAULT_CART_NUMBER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CARTSLOTS` add column `DEFAULT_HOOK_MODE` int ")+
|
|
"default -1 after `HOOK_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<213)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column `CUE_CARD` int default 0 ")+
|
|
"after `JACK_COMMAND_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column `CUE_PORT` int default 0 ")+
|
|
"after `CUE_CARD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column `CARTSLOT_COLUMNS` int ")+
|
|
"default 1 after `CUE_PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column `CARTSLOT_ROWS` int ")+
|
|
"default 8 after `CARTSLOT_COLUMNS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`STATION_NAME`,"+ // 00
|
|
"`CARD_NUMBER`,"+ // 01
|
|
"`PORT_NUMBER` "+ // 02
|
|
"from `DECKS` where "+
|
|
"`CHANNEL`=0";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `STATIONS` set ")+
|
|
QString::asprintf("`CUE_CARD`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`CUE_PORT`=%d ",q->value(2).toInt())+
|
|
"where `NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<214)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column `AUTOSPOT_GROUP` char(10) ")+
|
|
"after `TRACK_GROUP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<215)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `GROUPS` add column `DELETE_EMPTY_CARTS` ")+
|
|
"enum('N','Y') default 'N' after `CUT_SHELFLIFE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<216)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CUTS` add index `ISCI_IDX` (`ISCI`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CUTS` add index `ISRC_IDX` (`ISRC`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<217)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `LIVEWIRE_GPIO_SLOTS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX` int not null,"+
|
|
"`SLOT` int not null,"+
|
|
"`SOURCE_NUMBER` int,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`MATRIX`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<218)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `LIVEWIRE_GPIO_SLOTS` ")+
|
|
"add column `IP_ADDRESS` char(15) after `SLOT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<219)&&(set_schema>cur_schema)) {
|
|
//
|
|
// RDAirPlay Channels
|
|
//
|
|
sql=QString("create table if not exists `RDAIRPLAY_CHANNELS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`INSTANCE` int unsigned not null,"+
|
|
"`CARD` int not null default 0,"+
|
|
"`PORT` int not null default 0,"+
|
|
"`START_RML` char(255),"+
|
|
"`STOP_RML` char(255),"+
|
|
"`START_GPI_MATRIX` int not null default -1,"+
|
|
"`START_GPI_LINE` int not null default -1,"+
|
|
"`START_GPO_MATRIX` int not null default -1,"+
|
|
"`START_GPO_LINE` int not null default -1,"+
|
|
"`STOP_GPI_MATRIX` int not null default -1,"+
|
|
"`STOP_GPI_LINE` int not null default -1,"+
|
|
"`STOP_GPO_MATRIX` int not null default -1,"+
|
|
"`STOP_GPO_LINE` int not null default -1,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`INSTANCE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
for(unsigned i=0;i<10;i++) {
|
|
sql=QString().
|
|
sprintf("select `STATION`,`CARD%u`,`PORT%u`,`START_RML%u`,`STOP_RML%u` ",
|
|
i,i,i,i)+
|
|
"from `RDAIRPLAY`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("insert into `RDAIRPLAY_CHANNELS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`INSTANCE`=%u,",i)+
|
|
QString::asprintf("`CARD`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`PORT`=%d,",q->value(2).toInt())+
|
|
"`START_RML`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`STOP_RML`='"+RDEscapeString(q->value(4).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
}
|
|
|
|
//
|
|
// RDPanel Channels
|
|
//
|
|
sql=QString("create table if not exists `RDPANEL_CHANNELS` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`INSTANCE` int unsigned not null,"+
|
|
"`CARD` int not null default 0,"+
|
|
"`PORT` int not null default 0,"+
|
|
"`START_RML` char(255),"+
|
|
"`STOP_RML` char(255),"+
|
|
"`START_GPI_MATRIX` int not null default -1,"+
|
|
"`START_GPI_LINE` int not null default -1,"+
|
|
"`START_GPO_MATRIX` int not null default -1,"+
|
|
"`START_GPO_LINE` int not null default -1,"+
|
|
"`STOP_GPI_MATRIX` int not null default -1,"+
|
|
"`STOP_GPI_LINE` int not null default -1,"+
|
|
"`STOP_GPO_MATRIX` int not null default -1,"+
|
|
"`STOP_GPO_LINE` int not null default -1,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`INSTANCE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
for(unsigned i=0;i<10;i++) {
|
|
if((i==2)||(i==3)||(i==6)||(i==7)||(i==8)||(i==9)) {
|
|
sql=QString().
|
|
sprintf("select `STATION`,`CARD%u`,`PORT%u`,`START_RML%u`,`STOP_RML%u` ",
|
|
i,i,i,i)+
|
|
"from `RDPANEL`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("insert into `RDPANEL_CHANNELS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`INSTANCE`=%u,",i)+
|
|
QString::asprintf("`CARD`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`PORT`=%d,",q->value(2).toInt())+
|
|
"`START_RML`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`STOP_RML`='"+RDEscapeString(q->value(4).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Clean Up RDAirPlay
|
|
//
|
|
DropColumn("RDAIRPLAY","INSTANCE");
|
|
for(unsigned i=0;i<10;i++) {
|
|
DropColumn("RDAIRPLAY",QString::asprintf("CARD%u",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("PORT%u",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("START_RML%u",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("STOP%u",i));
|
|
}
|
|
|
|
//
|
|
// Clean Up RDPanel
|
|
//
|
|
DropColumn("RDPANEL","INSTANCE");
|
|
for(unsigned i=0;i<10;i++) {
|
|
if((i==2)||(i==3)||(i==6)||(i==7)||(i==8)||(i==9)) {
|
|
DropColumn("RDPANEL",QString::asprintf("CARD%u",i));
|
|
DropColumn("RDPANEL",QString::asprintf("PORT%u",i));
|
|
DropColumn("RDPANEL",QString::asprintf("START_RML%u",i));
|
|
DropColumn("RDPANEL",QString::asprintf("STOP_RML%u",i));
|
|
}
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<220)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY_CHANNELS` add column `GPIO_TYPE` ")+
|
|
"int unsigned default 0 after `STOP_RML`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDPANEL_CHANNELS` add column `GPIO_TYPE` ")+
|
|
"int unsigned default 0 after `STOP_RML`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<221)&&(set_schema>cur_schema)) {
|
|
sql="alter table `RDLIBRARY` modify column `TRIM_THRESHOLD` int default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<222)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Removed as redundant with update 183 [call to InsertImportFormats()].
|
|
//
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<223)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `CONDUCTOR` char(64) after `LABEL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add index `CONDUCTOR_IDX` (`CONDUCTOR`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add column `SONG_ID` char(32) after `USER_DEFINED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add index `SONG_ID_IDX` (`SONG_ID`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `CART` add column `BPM` int unsigned default 0 after `SONG_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<224)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `DROPBOXES` add column `SET_USER_DEFINED` char(255) ")+
|
|
"after `CREATE_ENDDATE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<225)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column `TITLE_TEMPLATE` char(64) ")+
|
|
"default '%t' after `HOUR_SELECTOR_ENABLED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `ARTIST_TEMPLATE` char(64) ")+
|
|
"default '%a' after `TITLE_TEMPLATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `OUTCUE_TEMPLATE` char(64) ")+
|
|
"default '%o' after `ARTIST_TEMPLATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` add column `DESCRIPTION_TEMPLATE` char(64) ")+
|
|
"default '%i' after `HOUR_SELECTOR_ENABLED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<226)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLOGEDIT` add column ")+
|
|
"`ENABLE_SECOND_START` enum('N','Y') default 'Y' after `BITRATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<227)&&(set_schema>cur_schema)) {
|
|
sql="alter table `LOGS` add index `TYPE_IDX` (`TYPE`,`LOG_EXISTS`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<228)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLIBRARY` add column ")+
|
|
"`LIMIT_SEARCH` int default 1 after `SRC_CONVERTER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDLIBRARY` add column ")+
|
|
"`SEARCH_LIMITED` enum('N','Y') default 'Y' after `LIMIT_SEARCH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<229)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column ")+
|
|
"`DESCRIPTION_TEMPLATE` char(255) after `NAME_TEMPLATE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select NAME from SERVICES");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `SERVICES` set `DESCRIPTION_TEMPLATE`='")+
|
|
RDEscapeString(q->value(0).toString())+" log for %m/%d/%Y' "+
|
|
"where `NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<230)&&(set_schema>cur_schema)) {
|
|
sql="select `NAME` from `LOGS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql="alter table `"+tablename+"_LOG`"+
|
|
" add column `EVENT_LENGTH` int default -1 after `ORIGIN_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql="select `NAME` from `EVENTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql="alter table `"+tablename+"_PRE`"+
|
|
" add column `EVENT_LENGTH` int default -1 after `ORIGIN_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="alter table `"+tablename+"_POST`"+
|
|
" add column `EVENT_LENGTH` int default -1 after `ORIGIN_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<231)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CART` add column ")+
|
|
"`USE_EVENT_LENGTH` enum('N','Y') default 'N' after `METADATA_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<232)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`ENABLE_DRAGDROP` enum('N','Y') default 'Y' after `CARTSLOT_ROWS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`ENFORCE_PANEL_SETUP` enum('N','Y') default 'N' after `ENABLE_DRAGDROP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<233)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column ")+
|
|
"`LOG_MODE_STYLE` int default 0 after `START_MODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `LOG_MODES` (")+
|
|
"`ID` int unsigned auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MACHINE` int unsigned not null,"+
|
|
"`START_MODE` int not null default 0,"+
|
|
"`OP_MODE` int not null default 2,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`MACHINE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`STATION`,"+ // 00
|
|
"`START_MODE`,"+ // 01
|
|
"`OP_MODE` "+ // 02
|
|
"from `RDAIRPLAY`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(unsigned i=0;i<3;i++) {
|
|
sql=QString("insert into `LOG_MODES` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`MACHINE`=%u,",i)+
|
|
QString::asprintf("`START_MODE`=%d,",q->value(1).toInt())+
|
|
QString::asprintf("`OP_MODE`=%d",q->value(2).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<234)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`CUE_START_CART` int unsigned after `CUE_PORT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`CUE_STOP_CART` int unsigned after `CUE_START_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<235)&&(set_schema>cur_schema)) {
|
|
// Lock Locking Changes, Superceded
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<236)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_SRT`"+
|
|
" add column `CONDUCTOR` char(64) after `LABEL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_SRT`"+
|
|
" add column `USER_DEFINED` char(255) after `COMPOSER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_SRT`"+
|
|
" add column `SONG_ID` char(32) after `USER_DEFINED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<237)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `REPORTS` add column ")+
|
|
"`START_TIME` time after `FILTER_GROUPS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORTS` add column ")+
|
|
"`END_TIME` time after `START_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<238)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CART` add column ")+
|
|
"`PENDING_STATION` char(64) after `USE_EVENT_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CART` add column ")+
|
|
"`PENDING_PID` int after `PENDING_STATION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CART` add column ")+
|
|
"`PENDING_DATETIME` datetime after `PENDING_PID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CART` add index ")+
|
|
"`PENDING_STATION_IDX` (`PENDING_STATION`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CART` add index ")+
|
|
"`PENDING_PID_IDX` (`PENDING_STATION`,`PENDING_PID`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CART` add index ")+
|
|
"`PENDING_DATETIME_IDX` (`PENDING_DATETIME`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<239)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `DROPBOX_SCHED_CODES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`DROPBOX_ID` int not null,"+
|
|
"`SCHED_CODE` char(11) not null,"
|
|
"index `DROPBOX_ID_IDX` (`DROPBOX_ID`),"+
|
|
"index `SCHED_CODE_IDX` (`SCHED_CODE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<240)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `GPIO_EVENTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MATRIX` int not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`TYPE` int not null,"+
|
|
"`EDGE` int not null,"+
|
|
"`EVENT_DATETIME` datetime not null,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`MATRIX`,`TYPE`,`EVENT_DATETIME`,`EDGE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<241)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `EVENTS` add column ")+
|
|
"`HAVE_CODE2` varchar(10) after `HAVE_CODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<242)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `REPORTS` add column ")+
|
|
"`POST_EXPORT_CMD` text after `EXPORT_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORTS` add column ")+
|
|
"`WIN_POST_EXPORT_CMD` text after `WIN_EXPORT_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<243)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`HAVE_MP4_DECODE` enum('N','Y') default 'N' after `HAVE_MPG321`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<244)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `JACK_CLIENTS` modify column ")+
|
|
"`COMMAND_LINE` text not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<245)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLIBRARY` add column ")+
|
|
"`READ_ISRC` enum('N','Y') default 'Y' after `CDDB_SERVER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<246)&&(set_schema>cur_schema)) {
|
|
// Versions 246 - 253 are reserved
|
|
|
|
cur_schema+=8;
|
|
}
|
|
|
|
if((cur_schema<254)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CART` add column ")+
|
|
"`USE_WEIGHTING` enum('N','Y') default 'Y' after `ENFORCE_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `PLAY_ORDER` int after `WEIGHT`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `CUT_NAME` from `CUTS` order by `CUT_NAME`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `CUTS` set ")+
|
|
"`PLAY_ORDER`="+q->value(0).toString().right(3)+" "+
|
|
"where `CUT_NAME`='"+q->value(0).toString()+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<255)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table `")+tablename+"_SRT`"+
|
|
" add column `DESCRIPTION` char(64) after `USAGE_CODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `")+tablename+"_SRT`"+
|
|
" add column `OUTCUE` char(64) after `DESCRIPTION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<256)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `CUT_EVENTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`CUT_NAME` char(12) not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`POINT` int not null,"+
|
|
"index `CUT_NAME_IDX` (`CUT_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `DECK_EVENTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`CHANNEL` int unsigned not null,"+
|
|
"`NUMBER` int not null,"+
|
|
"`CART_NUMBER` int unsigned not null default 0,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`CHANNEL`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(unsigned i=0;i<RD_CUT_EVENT_ID_QUAN;i++) {
|
|
for(unsigned j=0;j<MAX_DECKS;j++) {
|
|
sql=QString("insert into `DECK_EVENTS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`CHANNEL`=%u,",j+129)+
|
|
QString::asprintf("`NUMBER`=%u",i+1);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<257)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `LOGS` modify column `LINK_DATETIME` datetime");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` modify column `START_DATE` date");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` modify column `END_DATE` date");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<258)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("alter table ")+
|
|
"`"+tablename+"_LOG` "+
|
|
"modify column `CART_NUMBER` int unsigned not null default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<259)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `SERVICE_CLOCKS`(")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`SERVICE_NAME` char(10) not null,"+
|
|
"`HOUR` int not null,"+
|
|
"`CLOCK_NAME` char(64) default null,"+
|
|
"index `SERVICE_NAME_IDX` (`SERVICE_NAME`,`HOUR`),"+
|
|
"index `CLOCK_NAME_IDX` (`CLOCK_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME`,");
|
|
for(int i=0;i<168;i++) {
|
|
sql+=QString::asprintf("`CLOCK%i`,",i);
|
|
}
|
|
sql=sql.left(sql.length()-1);
|
|
sql+=" from `SERVICES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=0;i<168;i++) {
|
|
sql=QString("insert into `SERVICE_CLOCKS` set ")+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`HOUR`=%d,",i);
|
|
if(q->value(i+1).isNull()) {
|
|
sql+="`CLOCK_NAME`=null";
|
|
}
|
|
else {
|
|
sql+="`CLOCK_NAME`='"+RDEscapeString(q->value(i+1).toString())+"'";
|
|
}
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
for(int i=0;i<168;i++) {
|
|
DropColumn("SERVICES",QString::asprintf("CLOCK%d",i));
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<260)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `WEBAPI_AUTHS` (")+
|
|
"`TICKET` char(41) not null primary key,"+
|
|
"`LOGIN_NAME` char(255) not null,"+
|
|
"`IPV4_ADDRESS` char(16) not null,"+
|
|
"`EXPIRATION_DATETIME` datetime not null,"+
|
|
"index `TICKET_IDX` (`TICKET`,`IPV4_ADDRESS`,`EXPIRATION_DATETIME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `USERS` add column ")+
|
|
"`WEBAPI_AUTH_TIMEOUT` int not null default 3600 after `PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<261)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column ")+
|
|
"`SHA1_HASH` char(40) after `LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql="create index `SHA1_HASH_IDX` on `CUTS` (`SHA1_HASH`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<262)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `USERS` add column ")+
|
|
"`LOCAL_AUTH` enum('N','Y') default 'Y' after `ENABLE_WEB`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `USERS` add column ")+
|
|
"`PAM_SERVICE` char(32) default 'rivendell' after `LOCAL_AUTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create index `IPV4_ADDRESS_IDX` on `STATIONS` (`IPV4_ADDRESS`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<263)&&(set_schema>cur_schema)) {
|
|
// Add missing LOG_MODES records
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=0;i<3;i++) {
|
|
sql=QString("select `ID` from `LOG_MODES` where ")+
|
|
"(`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"')&&"+
|
|
QString::asprintf("(`MACHINE`=%d)",i);
|
|
q1=new RDSqlQuery(sql,false);
|
|
if(!q1->first()) {
|
|
sql=QString("insert into `LOG_MODES` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`MACHINE`=%d",i);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<264)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` add column ")+
|
|
"`FIX_DUP_CART_TITLES` enum('N','Y') not null default 'Y' after "+
|
|
"`DUP_CART_TITLES`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<265)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` add column ")+
|
|
"`SHOW_USER_LIST` enum('N','Y') not null default 'Y' "+
|
|
"after `TEMP_CART_GROUP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<266)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
tablename=q->value(0).toString();
|
|
tablename.replace(" ","_");
|
|
sql=QString("select `")+tablename+"_LOG`"+
|
|
".`ID` from "+
|
|
"`"+tablename+"_LOG` left join `CART` "+
|
|
"on `"+tablename+"_LOG`"+
|
|
".`CART_NUMBER`=`CART`.`NUMBER` where "+
|
|
"`CART`.`OWNER` is not null";
|
|
q1=new RDSqlQuery(sql,false);
|
|
int completed=q1->size();
|
|
delete q1;
|
|
|
|
sql=QString("select `ID` from `")+tablename+"_LOG` where `TYPE`=6";
|
|
q1=new RDSqlQuery(sql,false);
|
|
int scheduled=q1->size()+completed;
|
|
delete q1;
|
|
|
|
sql=QString("update `LOGS` set ")+
|
|
QString::asprintf("`SCHEDULED_TRACKS`=%d,",scheduled)+
|
|
QString::asprintf("`COMPLETED_TRACKS`=%u ",completed)+
|
|
"where `NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<267)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column `ORIGIN_LOGIN_NAME` char(255) ")+
|
|
"after `ORIGIN_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column `SOURCE_HOSTNAME` char(255) ")+
|
|
"after `ORIGIN_LOGIN_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<268)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `DROPBOXES` add column ")+
|
|
"`FORCE_TO_MONO` enum('N','Y') default 'N' after `TO_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<269)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `GROUPS` add column ")+
|
|
"`DEFAULT_CUT_LIFE` int default -1 after `DEFAULT_HIGH_CART`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<270)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`SHORT_NAME` char(64) after `NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `STATIONS` set ")+
|
|
"`SHORT_NAME`='"+RDEscapeString(q->value(0).toString())+"' where "+
|
|
"`NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<271)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"add column `SEGUE_LEVEL` int(11) default 1 after `FORCE_TO_MONO`, "+
|
|
"add column `SEGUE_LENGTH` int(11) default 0 after `SEGUE_LEVEL`";
|
|
q=new RDSqlQuery(sql);
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<272)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `USER_SERVICE_PERMS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`USER_NAME` char(255) not null,"+
|
|
"`SERVICE_NAME` char(10) not null,"+
|
|
"index `USER_NAME_IDX` (`USER_NAME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `LOGIN_NAME` from `USERS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `USER_SERVICE_PERMS` set ")+
|
|
"`USER_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q1->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<273)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `LOCK_USER_NAME` char(255) after `NEXT_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `LOCK_STATION_NAME` char(64) after `LOCK_USER_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `LOCK_IPV4_ADDRESS` char(16) after `LOCK_STATION_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `LOCK_DATETIME` datetime after `LOCK_IPV4_ADDRESS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<274)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `LOCK_GUID` char(82) after `LOCK_DATETIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` add index `LOCK_GUID_IDX` (`LOCK_GUID`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<275)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `LOG_SHELFLIFE_ORIGIN` int default 0 "+
|
|
"after `DEFAULT_LOG_SHELFLIFE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<276)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `NOTIFICATION_ADDRESS` char(15) default '"+
|
|
RD_NOTIFICATION_ADDRESS+"' after `SHOW_USER_LIST`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<277)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `USERS` ")+
|
|
"add column `WEBGET_LOGIN_PRIV` enum('N','Y') not null default 'N' "+
|
|
"after `EDIT_AUDIO_PRIV`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<278)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `LOG_MACHINES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`MACHINE` int not null,"+
|
|
"`START_MODE` int not null default 0,"+
|
|
"`AUTO_RESTART` enum('N','Y') not null default 'N',"+
|
|
"`LOG_NAME` char(64),"+
|
|
"`CURRENT_LOG` char(64),"+
|
|
"`RUNNING` enum('N','Y') not null default 'N',"+
|
|
"`LOG_ID` int not null default -1,"+
|
|
"`LOG_LINE` int not null default -1,"+
|
|
"`NOW_CART` int unsigned not null default 0,"+
|
|
"`NEXT_CART` int unsigned not null default 0,"+
|
|
"`UDP_ADDR` char(255),"+
|
|
"`UDP_PORT` int unsigned,"+
|
|
"`UDP_STRING` char(255),"+
|
|
"`LOG_RML` char(255),"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`,`MACHINE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
for(int i=0;i<3;i++) {
|
|
sql=QString("select ")+
|
|
"`STATION`,"+ // 00
|
|
QString::asprintf("`LOG%d_START_MODE`,",i)+ // 01
|
|
QString::asprintf("`LOG%d_AUTO_RESTART`,",i)+ // 02
|
|
QString::asprintf("`LOG%d_LOG_NAME`,",i)+ // 03
|
|
QString::asprintf("`LOG%d_CURRENT_LOG`,",i)+ // 04
|
|
QString::asprintf("`LOG%d_RUNNING`,",i)+ // 05
|
|
QString::asprintf("`LOG%d_LOG_ID`,",i)+ // 06
|
|
QString::asprintf("`LOG%d_LOG_LINE`,",i)+ // 07
|
|
QString::asprintf("`LOG%d_NOW_CART`,",i)+ // 08
|
|
QString::asprintf("`LOG%d_NEXT_CART`,",i)+ // 09
|
|
QString::asprintf("`UDP_ADDR%d`,",i)+ // 10
|
|
QString::asprintf("`UDP_PORT%d`,",i)+ // 11
|
|
QString::asprintf("`UDP_STRING%d`,",i)+ // 12
|
|
QString::asprintf("`LOG_RML%d` ",i)+ // 13
|
|
"from `RDAIRPLAY` order by `STATION`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("insert into `LOG_MACHINES` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`MACHINE`=%d,",i)+
|
|
QString::asprintf("`START_MODE`=%d,",q->value(1).toInt())+
|
|
"`AUTO_RESTART`='"+q->value(2).toString()+"',"+
|
|
"`LOG_NAME`='"+RDEscapeString(q->value(3).toString())+"',"+
|
|
"`CURRENT_LOG`='"+RDEscapeString(q->value(4).toString())+"',"+
|
|
"`RUNNING`='"+q->value(5).toString()+"',"+
|
|
QString::asprintf("`LOG_ID`=%d,",q->value(6).toInt())+
|
|
QString::asprintf("`LOG_LINE`=%d,",q->value(7).toInt())+
|
|
QString::asprintf("`NOW_CART`=%u,",q->value(8).toUInt())+
|
|
QString::asprintf("`NEXT_CART`=%u,",q->value(9).toUInt())+
|
|
"`UDP_ADDR`='"+RDEscapeString(q->value(10).toString())+"',"+
|
|
QString::asprintf("`UDP_PORT`=%u,",q->value(11).toUInt())+
|
|
"`UDP_STRING`='"+RDEscapeString(q->value(12).toString())+"',"+
|
|
"`LOG_RML`='"+RDEscapeString(q->value(13).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=RD_RDVAIRPLAY_LOG_BASE;i<(RD_RDVAIRPLAY_LOG_BASE+RD_RDVAIRPLAY_LOG_QUAN);i++) {
|
|
sql=QString("insert into `LOG_MACHINES` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`MACHINE`=%d",i);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
for(int i=0;i<3;i++) {
|
|
DropColumn("RDAIRPLAY",QString::asprintf("UDP_ADDR%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("UDP_PORT%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("UDP_STRING%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG_RML%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_START_MODE",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_AUTO_RESTART",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_LOG_NAME",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_CURRENT_LOG",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_RUNNING",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_LOG_ID",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_LOG_LINE",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_NOW_CART",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("LOG%d_NEXT_CART",i));
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<279)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(unsigned i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
|
|
sql=QString("insert into `RDAIRPLAY_CHANNELS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`INSTANCE`=%u",i+RD_RDVAIRPLAY_LOG_BASE);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<280)&&(set_schema>cur_schema)) {
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(unsigned i=0;i<RD_RDVAIRPLAY_LOG_QUAN;i++) {
|
|
sql=QString("insert into `LOG_MODES` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`MACHINE`=%u",i+RD_RDVAIRPLAY_LOG_BASE);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<281)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` add column ")+
|
|
"`VIRTUAL_EXIT_CODE` int default 0 after `EXIT_CODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<282)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `AUDIO_CARDS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`CARD_NUMBER` int not null,"+
|
|
"`DRIVER` int not null default 0,"+
|
|
"`NAME` char(64),"+
|
|
"`INPUTS` int not null default -1,"+
|
|
"`OUTPUTS` int not null default -1,"+
|
|
"unique index `STATION_NAME_IDX` (`STATION_NAME`,`CARD_NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=0;i<RD_MAX_CARDS;i++) {
|
|
sql=QString("insert into `AUDIO_CARDS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`CARD_NUMBER`=%d",i);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
for(int i=0;i<8;i++) {
|
|
DropColumn("STATIONS",QString::asprintf("CARD%d_DRIVER",i));
|
|
DropColumn("STATIONS",QString::asprintf("CARD%d_NAME",i));
|
|
DropColumn("STATIONS",QString::asprintf("CARD%d_INPUTS",i));
|
|
DropColumn("STATIONS",QString::asprintf("CARD%d_OUTPUTS",i));
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<283)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `AUDIO_CARDS` add column ")+
|
|
"`CLOCK_SOURCE` int not null default 0 after `OUTPUTS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select ")+
|
|
"`STATION_NAME`,"+ // 00
|
|
"`CARD_NUMBER`,"+ // 01
|
|
"`CLOCK_SOURCE` "+ // 02
|
|
"from `AUDIO_PORTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `AUDIO_CARDS` set ")+
|
|
QString::asprintf("`CLOCK_SOURCE`=%d where ",q->value(2).toInt())+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d",q->value(1).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
sql=QString("create table if not exists `AUDIO_INPUTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`CARD_NUMBER` int not null,"+
|
|
"`PORT_NUMBER` int not null,"+
|
|
"`LEVEL` int not null default 0,"+
|
|
"`TYPE` int not null default 0,"
|
|
"`MODE` int not null default 0,"+
|
|
"unique index `STATION_NAME_IDX` (`STATION_NAME`,`CARD_NUMBER`,`PORT_NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=0;i<24;i++) {
|
|
for(int j=0;j<24;j++) {
|
|
sql=QString("insert into `AUDIO_INPUTS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`CARD_NUMBER`=%d,",i)+
|
|
QString::asprintf("`PORT_NUMBER`=%d",j);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
for(int i=0;i<8;i++) {
|
|
sql=QString("select ")+
|
|
"`STATION_NAME`,"+ // 00
|
|
"`CARD_NUMBER`,"+ // 01
|
|
QString::asprintf("`INPUT_%d_LEVEL`,",i)+ // 02
|
|
QString::asprintf("`INPUT_%d_TYPE`,",i)+ // 03
|
|
QString::asprintf("`INPUT_%d_MODE` ",i)+ // 04
|
|
"from `AUDIO_PORTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `AUDIO_INPUTS` set ")+
|
|
QString::asprintf("`LEVEL`=%d,",q->value(2).toInt())+
|
|
QString::asprintf("`TYPE`=%d,",q->value(3).toInt())+
|
|
QString::asprintf("`MODE`=%d where ",q->value(4).toInt())+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d && ",q->value(1).toInt())+
|
|
QString::asprintf("`PORT_NUMBER`=%d",i);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
}
|
|
|
|
sql=QString("create table if not exists `AUDIO_OUTPUTS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`CARD_NUMBER` int not null,"+
|
|
"`PORT_NUMBER` int not null,"+
|
|
"`LEVEL` int not null default 0,"+
|
|
"unique index `STATION_NAME_IDX` (`STATION_NAME`,`CARD_NUMBER`,`PORT_NUMBER`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
for(int i=0;i<24;i++) {
|
|
for(int j=0;j<24;j++) {
|
|
sql=QString("insert into `AUDIO_OUTPUTS` set ")+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`CARD_NUMBER`=%d,",i)+
|
|
QString::asprintf("`PORT_NUMBER`=%d",j);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for(int i=0;i<8;i++) {
|
|
sql=QString("select ")+
|
|
"`STATION_NAME`,"+ // 00
|
|
"`CARD_NUMBER`,"+ // 01
|
|
QString::asprintf("`OUTPUT_%d_LEVEL` ",i)+ // 02
|
|
"from `AUDIO_PORTS`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
sql=QString("update `AUDIO_OUTPUTS` set ")+
|
|
QString::asprintf("`LEVEL`=%d where ",q->value(2).toInt())+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d && ",q->value(1).toInt())+
|
|
QString::asprintf("`PORT_NUMBER`=%d",i);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
}
|
|
|
|
if(!DropTable("AUDIO_PORTS",err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<284)&&(set_schema>cur_schema)) {
|
|
for(int i=0;i<10;i++) {
|
|
DropColumn("RDAIRPLAY",QString::asprintf("CARD%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("PORT%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("START_RML%d",i));
|
|
DropColumn("RDAIRPLAY",QString::asprintf("STOP_RML%d",i));
|
|
}
|
|
DropColumn("RDAIRPLAY","OP_MODE");
|
|
DropColumn("RDAIRPLAY","START_MODE");
|
|
DropColumn("RDPANEL","INSTANCE");
|
|
for(int i=2;i<4;i++) {
|
|
DropColumn("RDPANEL",QString::asprintf("CARD%d",i));
|
|
DropColumn("RDPANEL",QString::asprintf("PORT%d",i));
|
|
DropColumn("RDPANEL",QString::asprintf("START_RML%d",i));
|
|
DropColumn("RDPANEL",QString::asprintf("STOP_RML%d",i));
|
|
}
|
|
|
|
for(int i=6;i<10;i++) {
|
|
DropColumn("RDPANEL",QString::asprintf("CARD%d",i));
|
|
DropColumn("RDPANEL",QString::asprintf("PORT%d",i));
|
|
DropColumn("RDPANEL",QString::asprintf("START_RML%d",i));
|
|
DropColumn("RDPANEL",QString::asprintf("STOP_RML%d",i));
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` alter column `PORT` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` alter column `PORT_2` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` alter column `INPUTS` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` alter column `OUTPUTS` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` alter column `GPIS` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` alter column `GPOS` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPLICATORS` alter column `TYPE_ID` set default 0");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<285)&&(set_schema>cur_schema)) {
|
|
DropColumn("CART","ISRC");
|
|
DropColumn("DECKS","DEFAULT_SAMPRATE");
|
|
DropColumn("RDLIBRARY","INPUT_STREAM");
|
|
DropColumn("RDLIBRARY","OUTPUT_STREAM");
|
|
DropColumn("RDLIBRARY","RECORD_GPI");
|
|
DropColumn("RDLIBRARY","PLAY_GPI");
|
|
DropColumn("RDLIBRARY","STOP_GPI");
|
|
DropColumn("RDLIBRARY","DEFAULT_SAMPRATE");
|
|
DropColumn("RDLOGEDIT","SAMPRATE");
|
|
DropColumn("SERVICES","TFC_START_OFFSET");
|
|
DropColumn("SERVICES","TFC_START_LENGTH");
|
|
DropColumn("SERVICES","MUS_START_OFFSET");
|
|
DropColumn("SERVICES","MUS_START_LENGTH");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<286)&&(set_schema>cur_schema)) {
|
|
DropColumn("SERVICES","TFC_LENGTH_OFFSET");
|
|
DropColumn("SERVICES","TFC_LENGTH_LENGTH");
|
|
DropColumn("SERVICES","MUS_LENGTH_OFFSET");
|
|
DropColumn("SERVICES","MUS_LENGTH_LENGTH");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<287)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`JACK_PORTS` int not null default 8 after `JACK_COMMAND_LINE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<288)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `LOG_LINES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`LOG_NAME` char(64) not null,"+
|
|
"`LINE_ID` int not null,"+
|
|
"`COUNT` int not null,"+
|
|
"`TYPE` int default 0,"+
|
|
"`SOURCE` int not null,"+
|
|
"`START_TIME` int,"+
|
|
"`GRACE_TIME` int default 0,"+
|
|
"`CART_NUMBER` int UNSIGNED not null default 0,"+
|
|
"`TIME_TYPE` int not null,"+
|
|
"`POST_POINT` enum('N','Y') default 'N',"+
|
|
"`TRANS_TYPE` int not null,"+
|
|
"`START_POINT` int not null default -1,"+
|
|
"`END_POINT` int not null default -1,"+
|
|
"`FADEUP_POINT` int default -1,"+
|
|
QString::asprintf("`FADEUP_GAIN` int default %d,",RD_FADE_DEPTH)+
|
|
"`FADEDOWN_POINT` int default -1,"+
|
|
QString::asprintf("`FADEDOWN_GAIN` int default %d,",RD_FADE_DEPTH)+
|
|
"`SEGUE_START_POINT` int not null default -1,"+
|
|
"`SEGUE_END_POINT` int not null default -1,"+
|
|
QString::asprintf("`SEGUE_GAIN` int default %d,",RD_FADE_DEPTH)+
|
|
"`DUCK_UP_GAIN` int default 0,"+
|
|
"`DUCK_DOWN_GAIN` int default 0,"+
|
|
"`COMMENT` CHAR(255),"+
|
|
"`LABEL` CHAR(64),"+
|
|
"`ORIGIN_USER` char(255),"+
|
|
"`ORIGIN_DATETIME` datetime,"+
|
|
"`EVENT_LENGTH` int default -1,"+
|
|
"`LINK_EVENT_NAME` char(64),"+
|
|
"`LINK_START_TIME` int,"+
|
|
"`LINK_LENGTH` int default 0,"+
|
|
"`LINK_START_SLOP` int default 0,"+
|
|
"`LINK_END_SLOP` int default 0,"+
|
|
"`LINK_ID` int default -1,"+
|
|
"`LINK_EMBEDDED` enum('N','Y') default 'N',"+
|
|
"`EXT_START_TIME` time,"+
|
|
"`EXT_LENGTH` int,"+
|
|
"`EXT_CART_NAME` char(32),"+
|
|
"`EXT_DATA` char(32),"+
|
|
"`EXT_EVENT_ID` char(32),"+
|
|
"`EXT_ANNC_TYPE` char(8),"+
|
|
"unique index `LOG_NAME_IDX` (`LOG_NAME`,`COUNT`),"+
|
|
"index `CART_NUMBER_IDX` (`CART_NUMBER`),"+
|
|
"index `LABEL_IDX` (`LABEL`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `LOGS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
QString tablename=q->value(0).toString()+"_LOG";
|
|
tablename.replace(" ","_");
|
|
if(!TableExists(tablename)) {
|
|
fprintf(stderr,"rddbmgr: missing LOG table for log '%s'\n",
|
|
(const char *)q->value(0).toString().toUtf8());
|
|
}
|
|
else {
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`COUNT`,"+ // 01
|
|
"`TYPE`,"+ // 02
|
|
"`SOURCE`,"+ // 03
|
|
"`START_TIME`,"+ // 04
|
|
"`GRACE_TIME`,"+ // 05
|
|
"`CART_NUMBER`,"+ // 06
|
|
"`TIME_TYPE`,"+ // 07
|
|
"`POST_POINT`,"+ // 08
|
|
"`TRANS_TYPE`,"+ // 09
|
|
"`START_POINT`,"+ // 10
|
|
"`END_POINT`,"+ // 11
|
|
"`FADEUP_POINT`,"+ // 12
|
|
"`FADEUP_GAIN`,"+ // 13
|
|
"`FADEDOWN_POINT`,"+ // 14
|
|
"`FADEDOWN_GAIN`,"+ // 15
|
|
"`SEGUE_START_POINT`,"+ // 16
|
|
"`SEGUE_END_POINT`,"+ // 17
|
|
"`SEGUE_GAIN`,"+ // 18
|
|
"`DUCK_UP_GAIN`,"+ // 19
|
|
"`DUCK_DOWN_GAIN`,"+ // 20
|
|
"`COMMENT`,"+ // 21
|
|
"`LABEL`,"+ // 22
|
|
"`ORIGIN_USER`,"+ // 23
|
|
"`ORIGIN_DATETIME`,"+ // 24
|
|
"`EVENT_LENGTH`,"+ // 25
|
|
"`LINK_EVENT_NAME`,"+ // 26
|
|
"`LINK_START_TIME`,"+ // 27
|
|
"`LINK_LENGTH`,"+ // 28
|
|
"`LINK_START_SLOP`,"+ // 29
|
|
"`LINK_END_SLOP`,"+ // 30
|
|
"`LINK_ID`,"+ // 31
|
|
"`LINK_EMBEDDED`,"+ // 32
|
|
"`EXT_START_TIME`,"+ // 33
|
|
"`EXT_LENGTH`,"+ // 34
|
|
"`EXT_CART_NAME`,"+ // 35
|
|
"`EXT_DATA`,"+ // 36
|
|
"`EXT_EVENT_ID`,"+ // 37
|
|
"`EXT_ANNC_TYPE` "+ // 38
|
|
"from `"+tablename+"` order by `COUNT`";
|
|
q1=new RDSqlQuery(sql);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `LOG_LINES` set ")+
|
|
"`LOG_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`LINE_ID`=%d,",q1->value(0).toInt())+
|
|
QString::asprintf("`COUNT`=%d,",q1->value(1).toInt())+
|
|
QString::asprintf("`TYPE`=%d,",q1->value(2).toInt())+
|
|
QString::asprintf("`SOURCE`=%d,",q1->value(3).toInt())+
|
|
QString::asprintf("`START_TIME`=%d,",q1->value(4).toInt())+
|
|
QString::asprintf("`GRACE_TIME`=%d,",q1->value(5).toInt())+
|
|
QString::asprintf("`CART_NUMBER`=%u,",q1->value(6).toUInt())+
|
|
QString::asprintf("`TIME_TYPE`=%d,",q1->value(7).toInt())+
|
|
"`POST_POINT`='"+RDEscapeString(q1->value(8).toString())+"',"+
|
|
QString::asprintf("`TRANS_TYPE`=%d,",q1->value(9).toInt())+
|
|
QString::asprintf("`START_POINT`=%d,",q1->value(10).toInt())+
|
|
QString::asprintf("`END_POINT`=%d,",q1->value(11).toInt())+
|
|
QString::asprintf("`FADEUP_POINT`=%d,",q1->value(12).toInt())+
|
|
QString::asprintf("`FADEUP_GAIN`=%d,",q1->value(13).toInt())+
|
|
QString::asprintf("`FADEDOWN_POINT`=%d,",q1->value(14).toInt())+
|
|
QString::asprintf("`FADEDOWN_GAIN`=%d,",q1->value(15).toInt())+
|
|
QString::asprintf("`SEGUE_START_POINT`=%d,",q1->value(16).toInt())+
|
|
QString::asprintf("`SEGUE_END_POINT`=%d,",q1->value(17).toInt())+
|
|
QString::asprintf("`SEGUE_GAIN`=%d,",q1->value(18).toInt())+
|
|
QString::asprintf("`DUCK_UP_GAIN`=%d,",q1->value(19).toInt())+
|
|
QString::asprintf("`DUCK_DOWN_GAIN`=%d,",q1->value(20).toInt())+
|
|
"`COMMENT`='"+RDEscapeString(q1->value(21).toString())+"',"+
|
|
"`LABEL`='"+RDEscapeString(q1->value(22).toString())+"',"+
|
|
"`ORIGIN_USER`='"+RDEscapeString(q1->value(23).toString())+"',"+
|
|
"`ORIGIN_DATETIME`="+RDCheckDateTime(q1->value(24).toDateTime(),
|
|
"yyyy-MM-dd hh:mm:ss")+","+
|
|
QString::asprintf("`EVENT_LENGTH`=%d,",q1->value(25).toInt())+
|
|
"`LINK_EVENT_NAME`='"+RDEscapeString(q1->value(26).toString())+"',"+
|
|
QString::asprintf("`LINK_START_TIME`=%d,",q1->value(27).toInt())+
|
|
QString::asprintf("`LINK_LENGTH`=%d,",q1->value(28).toInt())+
|
|
QString::asprintf("`LINK_START_SLOP`=%d,",q1->value(29).toInt())+
|
|
QString::asprintf("`LINK_END_SLOP`=%d,",q1->value(30).toInt())+
|
|
QString::asprintf("`LINK_ID`=%d,",q1->value(31).toInt())+
|
|
"`LINK_EMBEDDED`='"+RDEscapeString(q1->value(32).toString())+"',"+
|
|
"`EXT_START_TIME`="+
|
|
RDCheckDateTime(q1->value(33).toTime(),"hh:mm:ss")+","+
|
|
QString::asprintf("`EXT_LENGTH`=%d,",q1->value(34).toInt())+
|
|
"`EXT_CART_NAME`='"+RDEscapeString(q1->value(35).toString())+"',"+
|
|
"`EXT_DATA`='"+RDEscapeString(q1->value(36).toString())+"',"+
|
|
"`EXT_EVENT_ID`='"+RDEscapeString(q1->value(37).toString())+"',"+
|
|
"`EXT_ANNC_TYPE`='"+RDEscapeString(q1->value(38).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
//
|
|
// Delete orphaned log tables
|
|
//
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_LOG'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned LOG table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<289)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `ELR_LINES` (")+
|
|
"`ID` int unsigned auto_increment primary key,"+
|
|
"`SERVICE_NAME` char(10) not null,"+
|
|
"`EVENT_DATETIME` datetime not null,"+
|
|
"`LENGTH` int,"+
|
|
"`LOG_NAME` char(64),"+
|
|
"`LOG_ID` int,"+
|
|
"`CART_NUMBER` int unsigned,"+
|
|
"`CUT_NUMBER` int,"+
|
|
"`TITLE` char(255),"+
|
|
"`ARTIST` char(255),"+
|
|
"`PUBLISHER` char(64),"+
|
|
"`COMPOSER` char(64),"+
|
|
"`USER_DEFINED` char(255),"+
|
|
"`SONG_ID` char(32),"+
|
|
"`ALBUM` char(255),"+
|
|
"`LABEL` char(64),"+
|
|
"`CONDUCTOR` char(64),"+
|
|
"`USAGE_CODE` int,"+
|
|
"`DESCRIPTION` char(64),"+
|
|
"`OUTCUE` char(64),"+
|
|
"`ISRC` char(12),"+
|
|
"`ISCI` char(32),"+
|
|
"`STATION_NAME` char(64),"+
|
|
"`SCHEDULED_TIME` time,"+
|
|
"`EVENT_TYPE` int,"+
|
|
"`EVENT_SOURCE` int,"+
|
|
"`PLAY_SOURCE` int,"+
|
|
"`START_SOURCE` int default 0,"+
|
|
"`ONAIR_FLAG` enum('N','Y') default 'N',"+
|
|
"`EXT_START_TIME` time,"+
|
|
"`EXT_LENGTH` int,"+
|
|
"`EXT_CART_NAME` char(32),"+
|
|
"`EXT_DATA` char(32),"+
|
|
"`EXT_EVENT_ID` char(8),"+
|
|
"`EXT_ANNC_TYPE` char(8),"+
|
|
"index `SERVICE_NAME_EVENT_DATETIME_IDX` (`SERVICE_NAME`,`EVENT_DATETIME`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
QString tablename=q->value(0).toString()+"_SRT";
|
|
tablename.replace(" ","_");
|
|
sql=QString("select ")+
|
|
"`LENGTH`,"+ // 00
|
|
"`LOG_NAME`,"+ // 01
|
|
"`LOG_ID`,"+ // 02
|
|
"`CART_NUMBER`,"+ // 03
|
|
"`CUT_NUMBER`,"+ // 04
|
|
"`TITLE`,"+ // 05
|
|
"`ARTIST`,"+ // 06
|
|
"`PUBLISHER`,"+ // 07
|
|
"`COMPOSER`,"+ // 08
|
|
"`USER_DEFINED`,"+ // 09
|
|
"`SONG_ID`,"+ // 10
|
|
"`ALBUM`,"+ // 11
|
|
"`LABEL`,"+ // 12
|
|
"`CONDUCTOR`,"+ // 13
|
|
"`USAGE_CODE`,"+ // 14
|
|
"`DESCRIPTION`,"+ // 15
|
|
"`OUTCUE`,"+ // 16
|
|
"`ISRC`,"+ // 17
|
|
"`ISCI`,"+ // 18
|
|
"`STATION_NAME`,"+ // 19
|
|
"`EVENT_DATETIME`,"+ // 20
|
|
"`SCHEDULED_TIME`,"+ // 21
|
|
"`EVENT_TYPE`,"+ // 22
|
|
"`EVENT_SOURCE`,"+ // 23
|
|
"`PLAY_SOURCE`,"+ // 24
|
|
"`START_SOURCE`,"+ // 25
|
|
"`ONAIR_FLAG`,"+ // 26
|
|
"`EXT_START_TIME`,"+ // 27
|
|
"`EXT_LENGTH`,"+ // 28
|
|
"`EXT_CART_NAME`,"+ // 29
|
|
"`EXT_DATA`,"+ // 30
|
|
"`EXT_EVENT_ID`,"+ // 31
|
|
"`EXT_ANNC_TYPE` "+ // 32
|
|
"from `"+tablename+"`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `ELR_LINES` set ")+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`LENGTH`=%d,",q1->value(0).toInt())+
|
|
"`LOG_NAME`='"+RDEscapeString(q1->value(1).toString())+"',"+
|
|
QString::asprintf("`LOG_ID`=%d,",q1->value(2).toInt())+
|
|
QString::asprintf("`CART_NUMBER`=%u,",q1->value(3).toUInt())+
|
|
QString::asprintf("`CUT_NUMBER`=%d,",q1->value(4).toInt())+
|
|
"`TITLE`='"+RDEscapeString(q1->value(5).toString())+"',"+
|
|
"`ARTIST`='"+RDEscapeString(q1->value(6).toString())+"',"+
|
|
"`PUBLISHER`='"+RDEscapeString(q1->value(7).toString())+"',"+
|
|
"`COMPOSER`='"+RDEscapeString(q1->value(8).toString())+"',"+
|
|
"`USER_DEFINED`='"+RDEscapeString(q1->value(9).toString())+"',"+
|
|
"`SONG_ID`='"+RDEscapeString(q1->value(10).toString())+"',"+
|
|
"`ALBUM`='"+RDEscapeString(q1->value(11).toString())+"',"+
|
|
"`LABEL`='"+RDEscapeString(q1->value(12).toString())+"',"+
|
|
"`CONDUCTOR`='"+RDEscapeString(q1->value(13).toString())+"',"+
|
|
"`USAGE_CODE`='"+RDEscapeString(q1->value(14).toString())+"',"+
|
|
"`DESCRIPTION`='"+RDEscapeString(q1->value(15).toString())+"',"+
|
|
"`OUTCUE`='"+RDEscapeString(q1->value(16).toString())+"',"+
|
|
"`ISRC`='"+RDEscapeString(q1->value(17).toString())+"',"+
|
|
"`ISCI`='"+RDEscapeString(q1->value(18).toString())+"',"+
|
|
"`STATION_NAME`='"+RDEscapeString(q1->value(19).toString())+"',"+
|
|
"`EVENT_DATETIME`='"+RDEscapeString(q1->value(20).toDateTime().
|
|
toString("yyyy-MM-dd hh:mm:ss"))+"',"+
|
|
"`SCHEDULED_TIME`="+
|
|
RDCheckDateTime(q1->value(21).toTime(),"hh:mm:ss")+","+
|
|
QString::asprintf("`EVENT_TYPE`=%d,",q1->value(22).toInt())+
|
|
QString::asprintf("`EVENT_SOURCE`=%d,",q1->value(23).toInt())+
|
|
QString::asprintf("`PLAY_SOURCE`=%d,",q1->value(24).toInt())+
|
|
QString::asprintf("`START_SOURCE`=%d,",q1->value(25).toInt())+
|
|
"`ONAIR_FLAG`='"+RDEscapeString(q1->value(26).toString())+"',"+
|
|
"`EXT_START_TIME`="+
|
|
RDCheckDateTime(q1->value(27).toTime(),"hh:mm:ss")+","+
|
|
QString::asprintf("`EXT_LENGTH`=%d,",q1->value(28).toInt())+
|
|
"`EXT_CART_NAME`='"+RDEscapeString(q1->value(29).toString())+"',"+
|
|
"`EXT_DATA`='"+RDEscapeString(q1->value(30).toString())+"',"+
|
|
"`EXT_EVENT_ID`='"+RDEscapeString(q1->value(31).toString())+"',"+
|
|
"`EXT_ANNC_TYPE`='"+RDEscapeString(q1->value(32).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
//
|
|
// Delete orphaned elr tables
|
|
//
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_SRT'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned SRT table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<290)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `EVENT_LINES` (")+
|
|
"`ID` int unsigned auto_increment primary key,"+
|
|
"`EVENT_NAME` char(64) not null,"+
|
|
"`TYPE` int not null,"+
|
|
"`COUNT` int not null,"+
|
|
"`EVENT_TYPE` int not null,"+
|
|
"`CART_NUMBER` int unsigned,"+
|
|
"`TRANS_TYPE` int not null,"+
|
|
"`MARKER_COMMENT` char(255),"+
|
|
"unique index `EVENT_NAME_TYPE_COUNT_IDX` (`EVENT_NAME`,`TYPE`,`COUNT`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `NAME` from `EVENTS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
//
|
|
// PreImport Events
|
|
//
|
|
QString tablename=q->value(0).toString()+"_PRE";
|
|
tablename.replace(" ","_");
|
|
if(!TableExists(tablename)) {
|
|
fprintf(stderr,"rddbmgr: missing PRE table for event '%s'\n",
|
|
(const char *)q->value(0).toString().toUtf8());
|
|
}
|
|
else {
|
|
sql=QString("select ")+
|
|
"`COUNT`,"+ // 00
|
|
"`TYPE`,"+ // 01
|
|
"`CART_NUMBER`,"+ // 02
|
|
"`TRANS_TYPE`,"+ // 03
|
|
"`COMMENT` "+ // 05
|
|
"from `"+tablename+"`"+
|
|
"order by `COUNT`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `EVENT_LINES` set ")+
|
|
"`EVENT_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`TYPE`=0,"+
|
|
QString::asprintf("`COUNT`=%d,",q1->value(0).toInt())+
|
|
QString::asprintf("`EVENT_TYPE`=%d,",q1->value(1).toInt())+
|
|
QString::asprintf("`CART_NUMBER`=%u,",q1->value(2).toUInt())+
|
|
QString::asprintf("`TRANS_TYPE`=%d,",q1->value(3).toInt())+
|
|
"`MARKER_COMMENT`='"+RDEscapeString(q1->value(4).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//
|
|
// PostImport Events
|
|
//
|
|
tablename=q->value(0).toString()+"_POST";
|
|
tablename.replace(" ","_");
|
|
if(!TableExists(tablename)) {
|
|
fprintf(stderr,"rddbmgr: missing POST table for event '%s'\n",
|
|
(const char *)q->value(0).toString().toUtf8());
|
|
}
|
|
else {
|
|
sql=QString("select ")+
|
|
"`COUNT`,"+ // 00
|
|
"`TYPE`,"+ // 01
|
|
"`CART_NUMBER`,"+ // 02
|
|
"`TRANS_TYPE`,"+ // 03
|
|
"`COMMENT` "+ // 05
|
|
"from `"+tablename+"`"+
|
|
"order by `COUNT`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `EVENT_LINES` set ")+
|
|
"`EVENT_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`TYPE`=1,"+
|
|
QString::asprintf("`COUNT`=%d,",q1->value(0).toInt())+
|
|
QString::asprintf("`EVENT_TYPE`=%d,",q1->value(1).toInt())+
|
|
QString::asprintf("`CART_NUMBER`=%u,",q1->value(2).toUInt())+
|
|
QString::asprintf("`TRANS_TYPE`=%d,",q1->value(3).toInt())+
|
|
"`MARKER_COMMENT`='"+RDEscapeString(q1->value(4).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
//
|
|
// Delete orphaned event tables
|
|
//
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_PRE'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned PRE table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_POST'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned POST table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++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`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
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(" ","_");
|
|
if(!TableExists(tablename)) {
|
|
fprintf(stderr,"rddbmgr: missing CLK table for clock '%s'\n",
|
|
(const char *)q->value(0).toString().toUtf8());
|
|
}
|
|
else {
|
|
/* *** HACK WARNING *** HACK WARNING ***
|
|
*
|
|
* This check works around a bug in Rivendell v2.x that permitted
|
|
* clocks to have events with the same start time. It deletes all
|
|
* such 'conflicting' events except the one with the lowest ID number.
|
|
*/
|
|
QList<unsigned> deleted_ids;
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`EVENT_NAME`,"+ // 01
|
|
"`START_TIME`,"+ // 02
|
|
"`LENGTH` "+ // 03
|
|
"from `"+tablename+"` "+
|
|
"order by `ID`";
|
|
q1=new RDSqlQuery(sql);
|
|
while(q1->next()) {
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`EVENT_NAME` "+ // 01
|
|
"from `"+tablename+"` where "+
|
|
QString::asprintf("`START_TIME`=%d && ",q1->value(2).toInt())+
|
|
QString::asprintf("`ID`!=%u ",q1->value(0).toUInt())+
|
|
"order by `ID`";
|
|
q2=new RDSqlQuery(sql);
|
|
while(q2->next()) {
|
|
if(!deleted_ids.contains(q1->value(0).toUInt())) {
|
|
fprintf(stderr,
|
|
"WARNING: deleted conflicting event '%s' from clock '%s'\n",
|
|
q2->value(1).toString().toUtf8().constData(),
|
|
q->value(0).toString().toUtf8().constData());
|
|
sql=QString("delete ")+
|
|
"from `"+tablename+"` where "+
|
|
QString::asprintf("`ID`=%u",q2->value(0).toUInt());
|
|
RDSqlQuery::apply(sql);
|
|
deleted_ids.push_back(q2->value(0).toUInt());
|
|
}
|
|
}
|
|
delete q2;
|
|
}
|
|
delete q1;
|
|
/* *** END OF HACK WARNING *** END OF HACK WARNING ***/
|
|
|
|
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::asprintf("`START_TIME`=%d,",q1->value(1).toInt())+
|
|
QString::asprintf("`LENGTH`=%d",q1->value(2).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_CLK'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned CLK table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<292)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `RULE_LINES` (")+
|
|
"`ID` int unsigned auto_increment primary key,"+
|
|
"`CLOCK_NAME` char(64) not null,"+
|
|
"`CODE` varchar(10) not null,"+
|
|
"`MAX_ROW` int unsigned,"+
|
|
"`MIN_WAIT` int unsigned,"+
|
|
"`NOT_AFTER` varchar(10),"+
|
|
"`OR_AFTER` varchar(10),"+
|
|
"`OR_AFTER_II` varchar(10),"+
|
|
"unique index `CLOCK_NAME_CODE_IDX` (`CLOCK_NAME`,`CODE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
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()+"_RULES";
|
|
tablename.replace(" ","_");
|
|
if(!TableExists(tablename)) {
|
|
fprintf(stderr,"rddbmgr: missing RULES table for clock '%s'\n",
|
|
(const char *)q->value(0).toString().toUtf8());
|
|
}
|
|
else {
|
|
sql=QString("select ")+
|
|
"`CODE`,"+ // 00
|
|
"`MAX_ROW`,"+ // 01
|
|
"`MIN_WAIT`,"+ // 02
|
|
"`NOT_AFTER`,"+ // 03
|
|
"`OR_AFTER`,"+ // 04
|
|
"`OR_AFTER_II` "+ // 05
|
|
"from `"+tablename+"` "+
|
|
"order by `CODE`";
|
|
q1=new RDSqlQuery(sql);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `RULE_LINES` set ")+
|
|
"`CLOCK_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
"`CODE`='"+RDEscapeString(q1->value(0).toString())+"',"+
|
|
QString::asprintf("`MAX_ROW`=%u,",q1->value(1).toUInt())+
|
|
QString::asprintf("`MIN_WAIT`=%u,",q1->value(2).toUInt())+
|
|
"`NOT_AFTER`='"+RDEscapeString(q1->value(3).toString())+"',"+
|
|
"`OR_AFTER`='"+RDEscapeString(q1->value(4).toString())+"',"+
|
|
"`OR_AFTER_II`='"+RDEscapeString(q1->value(5).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_RULES'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned RULES table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<293)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `STACK_LINES` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`SCHED_STACK_ID` int unsigned not null,"+
|
|
"`SERVICE_NAME` char(10) not null,"+
|
|
"`CART` int unsigned not null,"+
|
|
"`ARTIST` varchar(255),"+
|
|
"`SCHED_CODES` varchar(255),"+
|
|
"`SCHEDULED_AT` datetime default '1752-09-14 00:00:00',"+
|
|
"index `SERVICE_NAME_IDX` (`SERVICE_NAME`),"+
|
|
"index `SCHED_STACK_ID_IDX` (`SERVICE_NAME`,`SCHED_STACK_ID`,`SCHED_CODES`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `SERVICES`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
QString tablename=q->value(0).toString()+"_STACK";
|
|
tablename.replace(" ","_");
|
|
|
|
if(TableExists(tablename)) {
|
|
//
|
|
// 9/14/1752 is the earliest valid QDate
|
|
//
|
|
sql=QString("update `")+tablename+"` set "+
|
|
"`SCHEDULED_AT`='1752-09-14 00:00:00' where "+
|
|
"`SCHEDULED_AT`<'1752-09-14 00:00:00'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`SCHED_STACK_ID`,"+ // 00
|
|
"`CART`,"+ // 01
|
|
"`ARTIST`,"+ // 02
|
|
"`SCHED_CODES`,"+ // 03
|
|
"`SCHEDULED_AT` "+ // 04
|
|
"from `"+tablename+"` "+
|
|
"order by `SCHEDULED_AT`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `STACK_LINES` set ")+
|
|
"`SERVICE_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`SCHED_STACK_ID`=%u,",q1->value(0).toUInt())+
|
|
QString::asprintf("`CART`=%u,",q1->value(1).toUInt())+
|
|
"`ARTIST`='"+RDEscapeString(q1->value(2).toString())+"',"+
|
|
"`SCHED_CODES`='"+RDEscapeString(q1->value(3).toString())+"',"+
|
|
"`SCHEDULED_AT`='"+RDEscapeString(q1->value(4).toDateTime().
|
|
toString("yyyy-MM-dd hh:mm:ss"))+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("show tables where ")+
|
|
"`Tables_in_"+db_config->mysqlDbname()+"` like '%_STACK'";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(DropTable(q->value(0).toString(),err_msg)) {
|
|
fprintf(stderr,"rddbmgr: dropping orphaned STACK table '%s'\n",
|
|
q->value(0).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<294)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `CAST_DOWNLOADS` (")+
|
|
"`ID` int unsigned not null auto_increment primary key,"+
|
|
"`FEED_KEY_NAME` char(8) not null,"+
|
|
"`CAST_ID` int unsigned not null,"+
|
|
"`ACCESS_DATE` date not null,"+
|
|
"`ACCESS_COUNT` int unsigned not null default 0,"+
|
|
"unique index `KEY_NAME_CAST_ID_DATE_IDX` (`FEED_KEY_NAME`,`CAST_ID`,`ACCESS_DATE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("select `KEY_NAME` from `FEEDS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
QString tablename=q->value(0).toString()+"_FLG";
|
|
tablename.replace(" ","_");
|
|
if(!TableExists(tablename)) {
|
|
fprintf(stderr,"rddbmgr: missing FLG table for feed '%s'\n",
|
|
(const char *)q->value(0).toString().toUtf8());
|
|
}
|
|
else {
|
|
sql=QString("select ")+
|
|
"`CAST_ID`,"+ // 00
|
|
"`ACCESS_DATE`,"+ // 01
|
|
"`ACCESS_COUNT` "+ // 02
|
|
"from `"+tablename+"` "+
|
|
"order by `ACCESS_DATE`";
|
|
q1=new RDSqlQuery(sql,false);
|
|
while(q1->next()) {
|
|
sql=QString("insert into `CAST_DOWNLOADS` set ")+
|
|
"`FEED_KEY_NAME`='"+RDEscapeString(q->value(0).toString())+"',"+
|
|
QString::asprintf("`CAST_ID`=%u,",q1->value(0).toUInt())+
|
|
"`ACCESS_DATE`='"+
|
|
RDEscapeString(q1->value(1).toDate().toString("yyyy-MM-dd"))+"',"+
|
|
QString::asprintf("`ACCESS_COUNT`=%u",q1->value(2).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q1;
|
|
if(!DropTable(tablename,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<295)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table `IMPORTER_LINES` (")+
|
|
"`ID` int not null primary key auto_increment,"+
|
|
"`STATION_NAME` char(64) not null,"+
|
|
"`PROCESS_ID` int unsigned not null,"
|
|
"`LINE_ID` int unsigned not null,"+
|
|
"`START_HOUR` int not null,"+
|
|
"`START_SECS` int not null,"+
|
|
"`CART_NUMBER` int unsigned,"+
|
|
"`TITLE` char(255),"+
|
|
"`LENGTH` int,"+
|
|
"`INSERT_BREAK` enum('N','Y') default 'N',"+
|
|
"`INSERT_TRACK` enum('N','Y') default 'N',"+
|
|
"`INSERT_FIRST` int unsigned default 0,"+
|
|
"`TRACK_STRING` char(255),"+
|
|
"`EXT_DATA` char(32),"+
|
|
"`EXT_EVENT_ID` char(32),"+
|
|
"`EXT_ANNC_TYPE` char(8),"+
|
|
"`EXT_CART_NAME` char(32),"+
|
|
"`LINK_START_TIME` time default NULL,"+
|
|
"`LINK_LENGTH` int default NULL,"+
|
|
"`EVENT_USED` enum('N','Y') default 'N',"+
|
|
"index `STATION_NAME_PROCESS_ID_IDX` (`STATION_NAME`,`PROCESS_ID`),"+
|
|
"unique index `START_TIME_IDX` (`STATION_NAME`,`PROCESS_ID`,`START_HOUR`,`START_SECS`,`LINE_ID`)) "+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<296)&&(set_schema>cur_schema)) {
|
|
DropColumn("STATIONS","BACKUP_DIR");
|
|
DropColumn("STATIONS","BACKUP_LIFE");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<297)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `AUDIO_CARDS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `AUDIO_CARDS` ")+
|
|
"modify column `NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `AUDIO_INPUTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `AUDIO_OUTPUTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `AUDIO_PERMS` ")+
|
|
"modify column `GROUP_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `AUDIO_PERMS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `AUTOFILLS` ")+
|
|
"modify column `SERVICE` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `AUX_METADATA` ")+
|
|
"modify column `VAR_NAME` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `AUX_METADATA` ")+
|
|
"modify column `CAPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `GROUP_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `TITLE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `ARTIST` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `ALBUM` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `CONDUCTOR` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `LABEL` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `CLIENT` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `AGENCY` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `PUBLISHER` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `COMPOSER` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `USER_DEFINED` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `SONG_ID` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `OWNER` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CART` ")+
|
|
"modify column `PENDING_STATION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CARTSLOTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CARTSLOTS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CAST_DOWNLOADS` ")+
|
|
"modify column `FEED_KEY_NAME` varchar(8) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CLIPBOARD` ")+
|
|
"modify column `CUT_NAME` varchar(12) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLIPBOARD` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLIPBOARD` ")+
|
|
"modify column `OUTCUE` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLIPBOARD` ")+
|
|
"modify column `ORIGIN_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CLOCKS` ")+
|
|
"modify column `NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLOCKS` ")+
|
|
"modify column `SHORT_NAME` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLOCKS` ")+
|
|
"modify column `COLOR` varchar(7)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLOCKS` ")+
|
|
"modify column `REMARKS` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CLOCK_LINES` ")+
|
|
"modify column `CLOCK_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLOCK_LINES` ")+
|
|
"modify column `EVENT_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CLOCK_PERMS` ")+
|
|
"modify column `CLOCK_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CLOCK_PERMS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `CUT_NAME` varchar(12) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `OUTCUE` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `ISRC` varchar(12)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `ISCI` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `SHA1_HASH` varchar(40)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `ORIGIN_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `ORIGIN_LOGIN_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `CUTS` ")+
|
|
"modify column `SOURCE_HOSTNAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUT_EVENTS` ")+
|
|
"modify column `CUT_NAME` varchar(12) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DECKS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DECKS` ")+
|
|
"modify column `SWITCH_STATION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DECK_EVENTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"modify column `GROUP_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"modify column `PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"modify column `METADATA_PATTERN` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"modify column `LOG_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `DROPBOXES` ")+
|
|
"modify column `SET_USER_DEFINED` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DROPBOX_PATHS` ")+
|
|
"modify column `FILE_PATH` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `DROPBOX_SCHED_CODES` ")+
|
|
"modify column `SCHED_CODE` varchar(11) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `SERVICE_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `LOG_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `TITLE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `ARTIST` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `PUBLISHER` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `COMPOSER` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `USER_DEFINED` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `SONG_ID` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `ALBUM` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `LABEL` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `CONDUCTOR` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `OUTCUE` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `ISRC` varchar(12)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `ISCI` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `EXT_CART_NAME` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `EXT_DATA` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `EXT_EVENT_ID` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ELR_LINES` ")+
|
|
"modify column `EXT_ANNC_TYPE` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `ENCODERS` ")+
|
|
"modify column `NAME` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ENCODERS` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ENCODERS` ")+
|
|
"modify column `COMMAND_LINE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ENCODERS` ")+
|
|
"modify column `DEFAULT_EXTENSION` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `PROPERTIES` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `DISPLAY_TEXT` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `NOTE_TEXT` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `COLOR` varchar(7)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `SCHED_GROUP` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `HAVE_CODE` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `HAVE_CODE2` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `NESTED_EVENT` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENTS` ")+
|
|
"modify column `REMARKS` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `EVENT_LINES` ")+
|
|
"modify column `EVENT_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENT_LINES` ")+
|
|
"modify column `MARKER_COMMENT` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `EVENT_PERMS` ")+
|
|
"modify column `EVENT_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EVENT_PERMS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `EXTENDED_PANELS` ")+
|
|
"modify column `OWNER` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EXTENDED_PANELS` ")+
|
|
"modify column `LABEL` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EXTENDED_PANELS` ")+
|
|
"modify column `DEFAULT_COLOR` varchar(7)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `EXTENDED_PANEL_NAMES` ")+
|
|
"modify column `OWNER` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `EXTENDED_PANEL_NAMES` ")+
|
|
"modify column `NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `KEY_NAME` varchar(8) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_TITLE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_DESCRIPTION` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_CATEGORY` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_LINK` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_COPYRIGHT` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_WEBMASTER` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_LANGUAGE` varchar(5) default 'en-us'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `BASE_URL` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `BASE_PREAMBLE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `PURGE_URL` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `PURGE_USERNAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `PURGE_PASSWORD` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `UPLOAD_EXTENSION` varchar(16) default 'mp3'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `REDIRECT_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `FEED_PERMS` ")+
|
|
"modify column `USER_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEED_PERMS` ")+
|
|
"modify column `KEY_NAME` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GPIO_EVENTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GPIS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GPOS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS` ")+
|
|
"modify column `NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `GROUPS` ")+
|
|
"modify column `DESCRIPTION` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `GROUPS` ")+
|
|
"modify column `DEFAULT_TITLE` varchar(191) default 'Imported from %f.%e'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `GROUPS` ")+
|
|
"modify column `COLOR` varchar(7)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `HOSTVARS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `HOSTVARS` ")+
|
|
"modify column `NAME` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `HOSTVARS` ")+
|
|
"modify column `VARVALUE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `HOSTVARS` ")+
|
|
"modify column `REMARK` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `TITLE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `TRACK_STRING` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `EXT_DATA` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `EXT_EVENT_ID` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `EXT_ANNC_TYPE` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `EXT_CART_NAME` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `IMPORT_TEMPLATES` ")+
|
|
"modify column `NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `INPUTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `INPUTS` ")+
|
|
"modify column `NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `INPUTS` ")+
|
|
"modify column `FEED_NAME` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `INPUTS` ")+
|
|
"modify column `NODE_HOSTNAME` varchar(176)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `ISCI` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `FILENAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `TYPE` varchar(1) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `ADVERTISER_NAME` varchar(30)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `PRODUCT_NAME` varchar(35)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `CREATIVE_TITLE` varchar(30)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `ISCI_XREFERENCE` ")+
|
|
"modify column `REGION_NAME` varchar(80)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `JACK_CLIENTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `JACK_CLIENTS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `JACK_CLIENTS` ")+
|
|
"modify column `COMMAND_LINE` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LIVEWIRE_GPIO_SLOTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LIVEWIRE_GPIO_SLOTS` ")+
|
|
"modify column `IP_ADDRESS` varchar(15)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `SERVICE` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `ORIGIN_USER` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `LOCK_USER_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `LOCK_STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `LOCK_IPV4_ADDRESS` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"modify column `LOCK_GUID` varchar(82)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `LOG_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `COMMENT` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `LABEL` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `ORIGIN_USER` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `LINK_EVENT_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `EXT_CART_NAME` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `EXT_DATA` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `EXT_EVENT_ID` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_LINES` ")+
|
|
"modify column `EXT_ANNC_TYPE` varchar(8)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOG_MACHINES` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_MACHINES` ")+
|
|
"modify column `LOG_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_MACHINES` ")+
|
|
"modify column `CURRENT_LOG` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_MACHINES` ")+
|
|
"modify column `UDP_ADDR` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_MACHINES` ")+
|
|
"modify column `UDP_STRING` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOG_MACHINES` ")+
|
|
"modify column `LOG_RML` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOG_MODES` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `IP_ADDRESS` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `IP_ADDRESS_2` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `USERNAME` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `USERNAME_2` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `PASSWORD` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `PASSWORD_2` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `GPIO_DEVICE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `NOWNEXT_PLUGINS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `NOWNEXT_PLUGINS` ")+
|
|
"modify column `PLUGIN_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `NOWNEXT_PLUGINS` ")+
|
|
"modify column `PLUGIN_ARG` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `OUTPUTS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `OUTPUTS` ")+
|
|
"modify column `NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `OUTPUTS` ")+
|
|
"modify column `NODE_HOSTNAME` varchar(176)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `PANELS` ")+
|
|
"modify column `OWNER` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PANELS` ")+
|
|
"modify column `LABEL` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PANELS` ")+
|
|
"modify column `DEFAULT_COLOR` varchar(7)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `PANEL_NAMES` ")+
|
|
"modify column `OWNER` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PANEL_NAMES` ")+
|
|
"modify column `NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_TITLE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_DESCRIPTION` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_CATEGORY` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_LINK` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_COMMENTS` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_AUTHOR` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_SOURCE_TEXT` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `ITEM_SOURCE_URL` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"modify column `AUDIO_FILENAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `STATION` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `BUTTON_LABEL_TEMPLATE` varchar(32) default '%t'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `DEFAULT_SERVICE` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `TITLE_TEMPLATE` varchar(64) default '%t'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `ARTIST_TEMPLATE` varchar(64) default '%a'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `OUTCUE_TEMPLATE` varchar(64) default '%o'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `DESCRIPTION_TEMPLATE` varchar(64) default '%i'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `EXIT_PASSWORD` varchar(41)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column `SKIN_PATH` varchar(191) default '/usr/share/pixmaps/rivendell/rdairplay_skin.png'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDAIRPLAY_CHANNELS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY_CHANNELS` ")+
|
|
"modify column `START_RML` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDAIRPLAY_CHANNELS` ")+
|
|
"modify column `STOP_RML` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDCATCH` ")+
|
|
"modify column `STATION` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDCATCH` ")+
|
|
"modify column `ERROR_RML` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDHOTKEYS` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDHOTKEYS` ")+
|
|
"modify column `MODULE_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDHOTKEYS` ")+
|
|
"modify column `KEY_VALUE` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDHOTKEYS` ")+
|
|
"modify column `KEY_LABEL` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDLIBRARY` ")+
|
|
"modify column `STATION` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDLIBRARY` ")+
|
|
"modify column `RIPPER_DEVICE` varchar(64) default '/dev/cdrom'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDLIBRARY` ")+
|
|
"modify column `CDDB_SERVER` varchar(64) default 'freedb.freedb.org'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDLOGEDIT` ")+
|
|
"modify column `STATION` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDPANEL` ")+
|
|
"modify column `STATION` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDPANEL` ")+
|
|
"modify column `BUTTON_LABEL_TEMPLATE` varchar(32) default '%t'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDPANEL` ")+
|
|
"modify column `DEFAULT_SERVICE` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDPANEL` ")+
|
|
"modify column `SKIN_PATH` varchar(191) default '/usr/share/pixmaps/rivendell/rdpanel_skin.png'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDPANEL_CHANNELS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDPANEL_CHANNELS` ")+
|
|
"modify column `START_RML` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RDPANEL_CHANNELS` ")+
|
|
"modify column `STOP_RML` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"modify column `CUT_NAME` varchar(12) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"modify column `URL` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"modify column `URL_USERNAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"modify column `URL_PASSWORD` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `NAME` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `URL` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `URL_USERNAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `URL_PASSWORD` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPLICATOR_MAP` ")+
|
|
"modify column `REPLICATOR_NAME` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPLICATOR_MAP` ")+
|
|
"modify column `GROUP_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPL_CART_STATE` ")+
|
|
"modify column `REPLICATOR_NAME` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPL_CART_STATE` ")+
|
|
"modify column `POSTED_FILENAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPL_CUT_STATE` ")+
|
|
"modify column `REPLICATOR_NAME` varchar(32) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPL_CUT_STATE` ")+
|
|
"modify column `CUT_NAME` varchar(12) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `EXPORT_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `WIN_EXPORT_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `STATION_ID` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `SERVICE_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORTS` ")+
|
|
"modify column `STATION_FORMAT` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORT_GROUPS` ")+
|
|
"modify column `REPORT_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORT_GROUPS` ")+
|
|
"modify column `GROUP_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORT_SERVICES` ")+
|
|
"modify column `REPORT_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORT_SERVICES` ")+
|
|
"modify column `SERVICE_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORT_SERVICES` ")+
|
|
"modify column `REPORT_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORT_SERVICES` ")+
|
|
"modify column `SERVICE_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `REPORT_STATIONS` ")+
|
|
"modify column `REPORT_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `REPORT_STATIONS` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `DESCRIPTION` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `NAME_TEMPLATE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `DESCRIPTION_TEMPLATE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `PROGRAM_CODE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TRACK_GROUP` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `AUTOSPOT_GROUP` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_WIN_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_IMPORT_TEMPLATE` varchar(64) default 'Rivendell Standard Import'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_LABEL_CART` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_TRACK_CART` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_BREAK_STRING` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `TFC_TRACK_STRING` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_WIN_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_IMPORT_TEMPLATE` varchar(64) default 'Rivendell Standard Import'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_LABEL_CART` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_TRACK_CART` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_BREAK_STRING` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"modify column `MUS_TRACK_STRING` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICE_CLOCKS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICE_CLOCKS` ")+
|
|
"modify column `CLOCK_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SERVICE_PERMS` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICE_PERMS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STACK_LINES` ")+
|
|
"modify column `SERVICE_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STACK_LINES` ")+
|
|
"modify column `ARTIST` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STACK_LINES` ")+
|
|
"modify column `SCHED_CODES` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `SHORT_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `DESCRIPTION` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `USER_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `DEFAULT_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `IPV4_ADDRESS` varchar(15) default '127.0.0.2'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `HTTP_STATION` varchar(64) default 'localhost'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `CAE_STATION` varchar(64) default 'localhost'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `EDITOR_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `JACK_SERVER_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `JACK_COMMAND_LINE` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `HPI_VERSION` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `JACK_VERSION` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `STATIONS` ")+
|
|
"modify column `ALSA_VERSION` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SWITCHER_NODES` ")+
|
|
"modify column `STATION_NAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SWITCHER_NODES` ")+
|
|
"modify column `HOSTNAME` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SWITCHER_NODES` ")+
|
|
"modify column `PASSWORD` varchar(64)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SWITCHER_NODES` ")+
|
|
"modify column `DESCRIPTION` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"modify column `ISCI_XREFERENCE_PATH` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"modify column `TEMP_CART_GROUP` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"modify column `NOTIFICATION_ADDRESS` varchar(15) default '"+
|
|
RD_NOTIFICATION_ADDRESS+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `TRIGGERS` ")+
|
|
"modify column `CUT_NAME` varchar(12)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `TTYS` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `TTYS` ")+
|
|
"modify column `PORT` varchar(20)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `LOGIN_NAME` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `FULL_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `PHONE_NUMBER` varchar(20)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `DESCRIPTION` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `PASSWORD` varchar(32)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `PAM_SERVICE` varchar(32) default 'rivendell'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `USER_PERMS` ")+
|
|
"modify column `USER_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USER_PERMS` ")+
|
|
"modify column `GROUP_NAME` varchar(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `USER_SERVICE_PERMS` ")+
|
|
"modify column `USER_NAME` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USER_SERVICE_PERMS` ")+
|
|
"modify column `SERVICE_NAME` varchar(10) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `VGUEST_RESOURCES` ")+
|
|
"modify column `STATION_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `WEBAPI_AUTHS` ")+
|
|
"modify column `TICKET` varchar(41) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `WEBAPI_AUTHS` ")+
|
|
"modify column `LOGIN_NAME` varchar(191) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `WEBAPI_AUTHS` ")+
|
|
"modify column `IPV4_ADDRESS` varchar(16) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `WEB_CONNECTIONS` ")+
|
|
"modify column `LOGIN_NAME` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `WEB_CONNECTIONS` ")+
|
|
"modify column `IP_ADDRESS` varchar(16)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
ModifyCharset("utf8mb4",db_config->mysqlCollation());
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
//
|
|
// Maintainer's Note:
|
|
//
|
|
// All tables created below this point should use a character set
|
|
// of 'utf8mb4' and the collation returned by 'RDConfig::mysqlCollation()'.
|
|
//
|
|
|
|
if((cur_schema<298)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLOGEDIT` ")+
|
|
"modify column `INPUT_CARD` int(11) default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDLOGEDIT` ")+
|
|
"modify column `OUTPUT_CARD` int(11) default 0";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<299)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `CART_SCHED_CODES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`CART_NUMBER` int unsigned not null default 0,"+
|
|
"`SCHED_CODE` varchar(11) not null,"+
|
|
"index `SCHED_CODE_IDX` (`CART_NUMBER`,`SCHED_CODE`))"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
q=new RDSqlQuery("select `NUMBER`,`SCHED_CODES` from `CART` where `TYPE`=1",false);
|
|
while(q->next()) {
|
|
for(int i=0;i<255;i+=11) {
|
|
QString code=q->value(1).toString().mid(i,11).trimmed();
|
|
if((!code.isEmpty())&&(code!=".")) {
|
|
sql=QString("insert into `CART_SCHED_CODES` set ")+
|
|
"`CART_NUMBER`="+q->value(0).toString()+","+
|
|
"`SCHED_CODE`='"+code+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
DropColumn("CART","SCHED_CODES");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<300)&&(set_schema>cur_schema)) {
|
|
DropColumn("SERVICES","MUS_WIN_PATH");
|
|
DropColumn("SERVICES","MUS_WIN_PREIMPORT_CMD");
|
|
DropColumn("SERVICES","TFC_WIN_PATH");
|
|
DropColumn("SERVICES","TFC_WIN_PREIMPORT_CMD");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<301)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` add column ")+
|
|
"`INCLUDE_IMPORT_MARKERS` enum('N','Y') default 'Y' after `ELR_SHELFLIFE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `LOGS` add column ")+
|
|
"`INCLUDE_IMPORT_MARKERS` enum('N','Y') default 'Y' after `COMPLETED_TRACKS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<302)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`REPORT_EDITOR_PATH` varchar(191) after `EDITOR_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<303)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `PYPAD_INSTANCES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STATION_NAME` varchar(64) not null,"+
|
|
"`SCRIPT_PATH` varchar(191) not null,"+
|
|
"`DESCRIPTION` varchar(191) default '[new]',"+
|
|
"`CONFIG` text not null,"+
|
|
"index `STATION_NAME_IDX` (`STATION_NAME`))"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<304)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `PYPAD_INSTANCES` add column ")+
|
|
"`IS_RUNNING` enum('N','Y') not null default 'N' after `CONFIG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PYPAD_INSTANCES` add column ")+
|
|
"`EXIT_CODE` int not null default 0 after `IS_RUNNING`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PYPAD_INSTANCES` add column ")+
|
|
"`ERROR_TEXT` text after `EXIT_CODE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<305)&&(set_schema>cur_schema)) {
|
|
DropTable("NOWNEXT_PLUGINS");
|
|
DropColumn("LOG_MACHINES","UDP_ADDR");
|
|
DropColumn("LOG_MACHINES","UDP_PORT");
|
|
DropColumn("LOG_MACHINES","UDP_STRING");
|
|
DropColumn("LOG_MACHINES","LOG_RML");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<306)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLIBRARY` drop index `STATION_IDX`");
|
|
RDSqlQuery::apply(sql);
|
|
DropColumn("RDLIBRARY","INSTANCE");
|
|
sql=QString("create index `STATION_IDX` on `RDLIBRARY` (`STATION`)");
|
|
RDSqlQuery::apply(sql);
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<307)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `EVENTS` add column ")+
|
|
"`ARTIST_SEP` int(10) after `SCHED_GROUP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `EVENTS` modify column `TITLE_SEP` int(10)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
if (!ConvertArtistSep307(err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<308)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `STACK_SCHED_CODES` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`STACK_LINES_ID` int unsigned,"+
|
|
"`SCHED_CODE` varchar(10),"+
|
|
"index `SCHED_CODE_IDX` (`SCHED_CODE`))"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`SCHED_CODES` " // 01
|
|
"from `STACK_LINES`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
QStringList f0=q->value(1).toString().split(" ",QString::SkipEmptyParts);
|
|
for(int i=0;i<f0.size();i++) {
|
|
if((!f0.at(i).trimmed().isEmpty())&&(f0.at(i).trimmed()!=".")) {
|
|
sql=QString("insert into `STACK_SCHED_CODES` set ")+
|
|
QString::asprintf("`STACK_LINES_ID`=%u,",q->value(0).toUInt())+
|
|
"`SCHED_CODE`='"+RDEscapeString(f0.at(i).trimmed())+"'";
|
|
RDSqlQuery::apply(sql,err_msg);
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
DropColumn("STACK_LINES","SCHED_CODES",err_msg);
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<309)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `DROPBOXES` add column ")+
|
|
"`LOG_TO_SYSLOG` enum('N','Y') not null "+
|
|
"default 'Y' after `FIX_BROKEN_FORMATS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `DROPBOXES` set `LOG_TO_SYSLOG`='N' where ")+
|
|
"`LOG_PATH` is not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<310)&&(set_schema>cur_schema)) {
|
|
sql="alter table `CART` add column `MINIMUM_TALK_LENGTH` int unsigned default 0 after `AVERAGE_HOOK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql="alter table `CART` add column `MAXIMUM_TALK_LENGTH` int unsigned default 0 after `MINIMUM_TALK_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `NEXUS_FIELDS` (")+
|
|
"`STATION` varchar(255) NOT NULL,"+
|
|
"`RD_NAME` varchar(255),"+
|
|
"`NEXUS_NAME` varchar(255),"+
|
|
"`NEXUS_ID` int(11))"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `NEXUS_QUEUE` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`NOTIFICATION` varchar(255),"+
|
|
"`ERROR` varchar(255),"+
|
|
"`CREATED` timestamp default current_timestamp)"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `NEXUS_SERVER` (")+
|
|
"`ENABLED` enum('N','Y') default 'N',"+
|
|
"`ADDRESS` varchar(50) NOT NULL,"+
|
|
"`PORT` int(11) NOT NULL DEFAULT 8080,"+
|
|
"`STATION_NAME` varchar(64))"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table if not exists `NEXUS_STATIONS` (")+
|
|
"`STATION` varchar(255) not null,"+
|
|
"`CATEGORY` varchar(10) not null,"+
|
|
"`AUTO_MERGE` enum('N','Y') default 'N',"+
|
|
"`RD_SERVICE` varchar(10) not null,"+
|
|
"`RD_GROUP_NAME` varchar(10) not null,"+
|
|
"`RD_SCHED_CODE` varchar(11) not null)"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
// q=new RDSqlQuery("select `NAME` from `SERVICES`",false);
|
|
// while(q->next()) {
|
|
// sql=QString("insert into `NEXUS_STATIONS` set ")+
|
|
// "`RD_SERVICE`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
// if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
// return false;
|
|
// }
|
|
// }
|
|
// delete q;
|
|
|
|
sql=QString("insert into `IMPORT_TEMPLATES` set ")+
|
|
"`NAME`='MusicMaster Nexus',"+
|
|
"`HOURS_OFFSET`=0,"+
|
|
"`HOURS_LENGTH`=2,"+
|
|
"`MINUTES_OFFSET`=3,"+
|
|
"`MINUTES_LENGTH`=2,"+
|
|
"`SECONDS_OFFSET`=6,"+
|
|
"`SECONDS_LENGTH`=2,"+
|
|
"`DATA_OFFSET`=10,"+
|
|
"`DATA_LENGTH`=6,"+
|
|
"`CART_OFFSET`=20,"+
|
|
"`CART_LENGTH`=6,"+
|
|
"`TITLE_OFFSET`=30,"+
|
|
"`TITLE_LENGTH`=60,"+
|
|
"`LEN_HOURS_OFFSET`=0,"+
|
|
"`LEN_HOURS_LENGTH`=0,"+
|
|
"`LEN_MINUTES_OFFSET`=95,"+
|
|
"`LEN_MINUTES_LENGTH`=2,"+
|
|
"`LEN_SECONDS_OFFSET`=98,"+
|
|
"`LEN_SECONDS_LENGTH`=2,"+
|
|
"`EVENT_ID_OFFSET`=101,"+
|
|
"`EVENT_ID_LENGTH`=10";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
length_update_required=true;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<311)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLOGEDIT` add column ")+
|
|
"`WAVEFORM_CAPTION` varchar(64) not null default '%t - %a' "+
|
|
"after `TAIL_PREROLL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<312)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDLIBRARY` add column ")+
|
|
"`CD_SERVER_TYPE` int unsigned not null default 2 after `RIPPER_LEVEL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `RDLIBRARY` set `CD_SERVER_TYPE`=1");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RDLIBRARY` add column ")+
|
|
"`MB_SERVER` varchar(64) default 'musicbrainz.org' after `CDDB_SERVER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<313)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `CUTS` add column ")+
|
|
"`RECORDING_MBID` varchar(40) after `ISCI`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `CUTS` add column ")+
|
|
"`RELEASE_MBID` varchar(40) after `RECORDING_MBID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<314)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add column ")+
|
|
"`BROWSER_PATH` varchar(191) default 'firefox' after `REPORT_EDITOR_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<315)&&(set_schema>cur_schema)) {
|
|
DropColumn("EVENTS","POST_POINT");
|
|
DropColumn("LOG_LINES","POST_POINT");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<316)&&(set_schema>cur_schema)) {
|
|
DropColumn("EVENTS","PROPERTIES");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<316)&&(set_schema>cur_schema)) {
|
|
DropColumn("EVENTS","PROPERTIES");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<317)&&(set_schema>cur_schema)) {
|
|
sql=QString("create index `STACK_LINES_ID_IDX` on ")+
|
|
"`STACK_SCHED_CODES` (`STACK_LINES_ID`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<318)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` add column ")+
|
|
"`IS_SUPERFEED` enum('N','Y') default 'N' after `KEY_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` add index `IS_SUPERFEED_IDX` (`IS_SUPERFEED`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create table `SUPERFEED_MAPS` (")+
|
|
"`ID` int unsigned primary key auto_increment,"+
|
|
"`FEED_ID` int unsigned not null,"+
|
|
"`MEMBER_FEED_ID` int unsigned not null,"+
|
|
"`KEY_NAME` varchar(8) not null,"+
|
|
"`MEMBER_KEY_NAME` varchar(8) not null,"+
|
|
"index `FEED_ID_IDX` (`FEED_ID`),"+
|
|
"index `MEMBER_FEED_ID_IDX` (`MEMBER_FEED_ID`),"+
|
|
"index `KEY_NAME_IDX` (`KEY_NAME`),"+
|
|
"index `MEMBER_KEY_NAME_IDX` (`MEMBER_KEY_NAME`)) "+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<319)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` add column ")+
|
|
"`AUDIENCE_METRICS` enum('N','Y') default 'N' after `IS_SUPERFEED`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("update `FEEDS` set `AUDIENCE_METRICS`='Y'");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
///
|
|
if((cur_schema<320)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `USERS` add column ")+
|
|
"`EMAIL_ADDRESS` varchar(191) after `FULL_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<321)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` add column ")+
|
|
"`CHANNEL_EDITOR` varchar(64) after `CHANNEL_COPYRIGHT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<322)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table `RSS_SCHEMAS` (")+
|
|
"`ID` int unsigned primary key,"+
|
|
"`NAME` varchar(64) unique not null,"+
|
|
"`HEADER_XML` text,"+
|
|
"`CHANNEL_XML` text,"+
|
|
"`ITEM_XML` text,"+
|
|
"index `NAME_IDX` (`NAME`)) "+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `FEEDS` add column ")+
|
|
"`RSS_SCHEMA` int unsigned not null default 0 after `PURGE_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<323)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table `FEED_IMAGES` (")+
|
|
"`ID` int unsigned primary key auto_increment,"+
|
|
"`FEED_ID` int unsigned not null,"+
|
|
"`FEED_KEY_NAME` varchar(8) not null,"+
|
|
"`WIDTH` int not null,"+\
|
|
"`HEIGHT` int not null,"+
|
|
"`DEPTH` int not null,"+
|
|
"`DESCRIPTION` varchar(191) not null,"+
|
|
"`FILE_EXTENSION` varchar(10) not null,"+
|
|
"`DATA` mediumblob not null,"+
|
|
"index `FEED_ID_IDX` (`FEED_ID`),"+
|
|
"index `FEED_KEY_NAME_IDX` (`FEED_KEY_NAME`)) "+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<324)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` add column `CHANNEL_IMAGE_ID` ")+
|
|
"int not null default -1 after `CHANNEL_LANGUAGE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` add column `DEFAULT_ITEM_IMAGE_ID` ")+
|
|
"int not null default -1 after `KEEP_METADATA`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` add column `ITEM_IMAGE_ID` ")+
|
|
"int not null default -1 after `ITEM_SOURCE_URL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<325)&&(set_schema>cur_schema)) {
|
|
DropTable("RSS_SCHEMAS");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<326)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` add column `CHANNEL_AUTHOR` varchar(64) ")+
|
|
"after `CHANNEL_EDITOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` add column `CHANNEL_OWNER_NAME` varchar(64) ")+
|
|
"after `CHANNEL_AUTHOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` add column ")+
|
|
"`CHANNEL_OWNER_EMAIL` varchar(64) after `CHANNEL_OWNER_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` add column `CHANNEL_EXPLICIT` enum('N','Y') ")+
|
|
"not null default 'N' after `CHANNEL_LANGUAGE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` add column `ITEM_EXPLICIT` enum('N','Y') ")+
|
|
"not null default 'N' after `ITEM_SOURCE_URL`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<327)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"add column `CHANNEL_SUB_CATEGORY` varchar(64) "+
|
|
"after `CHANNEL_CATEGORY`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<328)&&(set_schema>cur_schema)) {
|
|
DropColumn("FEEDS","AUDIENCE_METRICS");
|
|
DropColumn("FEEDS","KEEP_METADATA");
|
|
DropColumn("FEEDS","MEDIA_LINK_MODE");
|
|
DropColumn("FEEDS","REDIRECT_PATH");
|
|
DropTable("CAST_DOWNLOADS");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<329)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `RSS_PROCESSOR_STATION` varchar(64) "+
|
|
"after `NOTIFICATION_ADDRESS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select `NAME` from `STATIONS` where `SYSTEM_MAINT`='Y'");
|
|
q=new RDSqlQuery(sql);
|
|
if(q->first()) {
|
|
sql=QString("update `SYSTEM` set ")+
|
|
"`RSS_PROCESSOR_STATION`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"add column `EXPIRATION_DATETIME` datetime after EFFECTIVE_DATETIME";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`ORIGIN_DATETIME`,"+ // 01
|
|
"`SHELF_LIFE` "+ // 02
|
|
"from `PODCASTS` where "+
|
|
"`SHELF_LIFE`>0";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("update `PODCASTS` set ")+
|
|
"`EXPIRATION_DATETIME`='"+
|
|
q->value(1).toDateTime().addDays(q->value(2).toInt()).
|
|
toString("yyyy-MM-dd hh:mm:ss")+"' where "+
|
|
QString::asprintf("`ID`=%u",q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
DropColumn("PODCASTS","SHELF_LIFE");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<330)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"add column `ORIGIN_LOGIN_NAME` varchar(191) after `AUDIO_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"add column `ORIGIN_STATION` varchar(64) after `ORIGIN_LOGIN_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<331)&&(set_schema>cur_schema)) {
|
|
DropTable("ENCODER_SAMPLERATES");
|
|
DropTable("ENCODER_BITRATES");
|
|
DropTable("ENCODER_CHANNELS");
|
|
DropTable("ENCODERS");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<332)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"add column `CHANNEL_AUTHOR_IS_DEFAULT` enum('N','Y') default 'N' "+
|
|
"after `CHANNEL_AUTHOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<333)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STATIONS` add ")+
|
|
"`SSH_IDENTITY_FILE` text after `BROWSER_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `RECORDINGS` ")+
|
|
"add column `URL_USE_ID_FILE` enum('N','Y') default 'N' after `URL_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `FEEDS` add ")+
|
|
"column `PURGE_USE_ID_FILE` enum('N','Y') default 'N' after `PURGE_PASSWORD`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<334)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` modify column ")+
|
|
"`PURGE_PASSWORD` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`KEY_NAME`,"+ // 00
|
|
"`PURGE_PASSWORD` "+ // 01
|
|
"from `FEEDS`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("update `FEEDS` set ")+
|
|
"`PURGE_PASSWORD`='"+
|
|
RDEscapeString(q->value(1).toString().toUtf8().toBase64())+"' where "+
|
|
"`KEY_NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<335)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `PODCASTS` add column ")+
|
|
"`SHA1_HASH` varchar(40) after `AUDIO_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` add index `SHA1_HASH_IDX` (`SHA1_HASH`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<336)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEED_IMAGES` modify column ")+
|
|
"`DATA` longblob not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<337)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"add index `CHANNEL_IMAGE_ID_IDX` (`CHANNEL_IMAGE_ID`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"add index `DEFAULT_ITEM_IMAGE_ID_IDX` (`DEFAULT_ITEM_IMAGE_ID`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `PODCASTS` ")+
|
|
"add index `ITEM_IMAGE_ID_IDX` (`ITEM_IMAGE_ID`)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<338)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEEDS` ")+
|
|
"modify column `CHANNEL_LANGUAGE` varchar(8) default 'en-us'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<339)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `SUB_EVENT_INHERITANCE` int not null default 0 "+
|
|
"after `CHAIN_LOG`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<340)&&(set_schema>cur_schema)) {
|
|
sql=QString("delete from `IMPORTER_LINES`"); // Purge stale lines first
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `TYPE` int unsigned not null "+
|
|
"after `LINE_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `START_HOUR` int";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"modify column `START_SECS` int";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
DropColumn("IMPORTER_LINES","INSERT_BREAK");
|
|
DropColumn("IMPORTER_LINES","INSERT_TRACK");
|
|
DropColumn("IMPORTER_LINES","INSERT_FIRST");
|
|
DropColumn("IMPORTER_LINES","LINK_START_TIME");
|
|
DropColumn("IMPORTER_LINES","LINK_LENGTH");
|
|
DropColumn("IMPORTER_LINES","TRACK_STRING");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<341)&&(set_schema>cur_schema)) {
|
|
sql=QString("delete from `IMPORTER_LINES`"); // Purge stale lines first
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `FILE_LINE` int unsigned not null after `PROCESS_ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `LINK_START_TIME` time after `EXT_CART_NAME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `LINK_LENGTH` int after `LINK_START_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<342)&&(set_schema>cur_schema)) {
|
|
sql=
|
|
QString("create index `EVENT_DATETIME_IDX` on `GPIO_EVENTS` (`EVENT_DATETIME`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<343)&&(set_schema>cur_schema)) {
|
|
sql=QString("create table if not exists `ENCODER_PRESETS` (")+
|
|
"`ID` int auto_increment not null primary key,"+
|
|
"`NAME` varchar(64) not null,"+
|
|
"`FORMAT` int unsigned not null,"+
|
|
"`CHANNELS` int unsigned not null,"+
|
|
"`SAMPLE_RATE` int unsigned not null,"+
|
|
"`BIT_RATE` int unsigned not null,"+
|
|
"`QUALITY` int unsigned not null,"+
|
|
"`NORMALIZATION_LEVEL` int not null,"+
|
|
"`AUTOTRIM_LEVEL` int not null,"+
|
|
"unique index `NAME_IDX` (`NAME`))"+
|
|
" charset utf8mb4 collate "+db_config->mysqlCollation()+
|
|
db_table_create_postfix;
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<344)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` add column ")+
|
|
"`ORIGIN_EMAIL_ADDRESS` varchar(64) not null "+
|
|
"default 'Rivendell <noreply@example.com>' "+
|
|
"after `RSS_PROCESSOR_STATION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `GROUPS` add column ")+
|
|
"`NOTIFY_EMAIL_ADDRESS` text after `COLOR`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<345)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `DROPBOXES` add column ")+
|
|
"`SEND_EMAIL` enum('N','Y') not null default 'N' after `DELETE_SOURCE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<346)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `USERS` drop column `ADMIN_USERS_PRIV`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `USERS` add column ")+
|
|
"`ADMIN_RSS_PRIV` enum('N','Y') not null default 'N' "+
|
|
"after ADMIN_CONFIG_PRIV";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<347)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `STACK_LINES` add column ")+
|
|
"`TITLE` varchar(191) not null after `ARTIST`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("create index `CART_IDX` on `STACK_LINES`(`CART`)");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
if (!StackLineTitles347(err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("drop index `CART_IDX` on `STACK_LINES`");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<348)&&(set_schema>cur_schema)) {
|
|
CheckSchedCodeRules(false);
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<349)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"modify column EXIT_PASSWORD varchar(48)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<350)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `AUDIO_INPUTS` ")+
|
|
"add column `LABEL` varchar(4) after `PORT_NUMBER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `AUDIO_OUTPUTS` ")+
|
|
"add column `LABEL` varchar(4) after `PORT_NUMBER`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
//
|
|
// Maintainer's Note:
|
|
//
|
|
// Use hard-coded maximum card/port quantities (24 for each) here,
|
|
// in case the #define'd values change in future!
|
|
//
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
for(int i=0;i<24;i++) {
|
|
for(int j=0;j<24;j++) {
|
|
sql=QString("update `AUDIO_INPUTS` set ")+
|
|
"`LABEL`='"+RDEscapeString(QString::asprintf("M%d",j+1))+"' where "+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d && ",i)+
|
|
QString::asprintf("`PORT_NUMBER`=%d",j);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("update `AUDIO_OUTPUTS` set ")+
|
|
"`LABEL`='"+RDEscapeString(QString::asprintf("M%d",j+1))+"' where "+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d && ",i)+
|
|
QString::asprintf("`PORT_NUMBER`=%d",j);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<351)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `LONG_DATE_FORMAT` varchar(32) not null default 'dddd, MMMM d yyyy' "+
|
|
"after `ORIGIN_EMAIL_ADDRESS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `SHORT_DATE_FORMAT` varchar(32) not null default 'MM/dd/yy' "+
|
|
"after `LONG_DATE_FORMAT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `TIME_FORMAT` varchar(32) not null default 'hh:mm:ss' "+
|
|
"after `SHORT_DATE_FORMAT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<352)&&(set_schema>cur_schema)) {
|
|
DropColumn("SYSTEM","TIME_FORMAT");
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `SHOW_TWELVE_HOUR_TIME` enum('N','Y') not null default 'N' "+
|
|
"after `SHORT_DATE_FORMAT`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<353)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"add column `REALM_NAME` varchar(64) after `ID`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
srand(time(NULL));
|
|
sql=QString("update `SYSTEM` set ")+
|
|
"`REALM_NAME`='"+
|
|
RDEscapeString(QString::asprintf("Rivendell_%d",rand()))+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SYSTEM` ")+
|
|
"modify column `REALM_NAME` varchar(64) not null";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<354)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `INCLUDE_MUS_IMPORT_MARKERS` enum('N','Y') default 'Y' "+
|
|
"after `INCLUDE_IMPORT_MARKERS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `INCLUDE_TFC_IMPORT_MARKERS` enum('N','Y') default 'Y' "+
|
|
"after `INCLUDE_MUS_IMPORT_MARKERS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`NAME`, "+ // 00
|
|
"`INCLUDE_IMPORT_MARKERS` "+ // 01
|
|
"from `SERVICES`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("update `SERVICES` set ")+
|
|
"`INCLUDE_MUS_IMPORT_MARKERS`='"+q->value(1).toString()+"',"+
|
|
"`INCLUDE_TFC_IMPORT_MARKERS`='"+q->value(1).toString()+"' "+
|
|
"where `NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `INCLUDE_MUS_IMPORT_MARKERS` enum('N','Y') default 'Y' "+
|
|
"after `INCLUDE_IMPORT_MARKERS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `LOGS` ")+
|
|
"add column `INCLUDE_TFC_IMPORT_MARKERS` enum('N','Y') default 'Y' "+
|
|
"after `INCLUDE_MUS_IMPORT_MARKERS`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`NAME`, "+ // 00
|
|
"`INCLUDE_IMPORT_MARKERS` "+ // 01
|
|
"from `LOGS`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("update `LOGS` set ")+
|
|
"`INCLUDE_MUS_IMPORT_MARKERS`='"+q->value(1).toString()+"',"+
|
|
"`INCLUDE_TFC_IMPORT_MARKERS`='"+q->value(1).toString()+"' "+
|
|
"where `NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<355)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RDAIRPLAY` ")+
|
|
"add column `LOGO_PATH` varchar(191) default '/usr/share/pixmaps/rivendell/rdairplay_logo.png' after `SKIN_PATH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<356)&&(set_schema>cur_schema)) {
|
|
//
|
|
// Maintainer's Note:
|
|
//
|
|
// A 'pseudo-schema' change. No actual schema changes, just rewrite
|
|
// the default audio port names so each port gets a properly unique
|
|
// name.
|
|
//
|
|
// Use hard-coded maximum card/port quantities (24 for each) here,
|
|
// in case the #define'd values change in future!
|
|
//
|
|
sql=QString("select `NAME` from `STATIONS`");
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
for(int i=0;i<24;i++) {
|
|
for(int j=0;j<24;j++) {
|
|
sql=QString("update `AUDIO_INPUTS` set ")+
|
|
"`LABEL`='"+RDEscapeString(QString::asprintf("M%d",24*i+j+1))+
|
|
"' where "+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d && ",i)+
|
|
QString::asprintf("`PORT_NUMBER`=%d",j);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("update `AUDIO_OUTPUTS` set ")+
|
|
"`LABEL`='"+RDEscapeString(QString::asprintf("M%d",24*i+j+1))+
|
|
"' where "+
|
|
"`STATION_NAME`='"+RDEscapeString(q->value(0).toString())+"' && "+
|
|
QString::asprintf("`CARD_NUMBER`=%d && ",i)+
|
|
QString::asprintf("`PORT_NUMBER`=%d",j);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<357)&&(set_schema>cur_schema)) {
|
|
DropColumn("STATIONS","EDITOR_PATH");
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<358)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `RECORDINGS` modify column `URL_PASSWORD` text");
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`URL_PASSWORD` " // 01
|
|
"from `RECORDINGS`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("update `RECORDINGS` set ")+
|
|
"`URL_PASSWORD`='"+
|
|
RDEscapeString(q->value(1).toString().toUtf8().toBase64())+"' "+
|
|
QString::asprintf("where `ID`=%u",q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<359)&&(set_schema>cur_schema)) {
|
|
sql=QString("update `RDAIRPLAY` set ")+
|
|
"`EXIT_PASSWORD`=NULL "+
|
|
"where `EXIT_PASSWORD`=''";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `USERS` ")+
|
|
"modify column `PASSWORD` varchar(191)";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`LOGIN_NAME`,"+ // 00
|
|
"`PASSWORD` "+ // 01
|
|
"from `USERS`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
sql=QString("update `USERS` set ");
|
|
if(q->value(1).toString().isEmpty()) {
|
|
sql+="`PASSWORD`=NULL ";
|
|
}
|
|
else {
|
|
sql+=QString("`PASSWORD`=")+
|
|
"'"+RDEscapeString(q->value(1).toString().toUtf8().toBase64())+"' ";
|
|
}
|
|
sql+="where `LOGIN_NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<360)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `REPLICATORS` ")+
|
|
"modify column `URL_PASSWORD` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`NAME`,"+ // 00
|
|
"`URL_PASSWORD` "+ // 01
|
|
"from `REPLICATORS`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(q->value(1).toString().isEmpty()) {
|
|
sql=QString("update `REPLICATORS` set ")+
|
|
"`URL_PASSWORD`=null ";
|
|
}
|
|
else {
|
|
sql=QString("update `REPLICATORS` set ")+
|
|
"`URL_PASSWORD`='"+
|
|
RDEscapeString(q->value(1).toString().toUtf8().toBase64())+"' ";
|
|
}
|
|
sql+="where `NAME`='"+RDEscapeString(q->value(0).toString())+"'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<361)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SWITCHER_NODES` ")+
|
|
"modify column `PASSWORD` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`PASSWORD` "+ // 01
|
|
"from `SWITCHER_NODES`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(q->value(1).toString().isEmpty()) {
|
|
sql=QString("update `SWITCHER_NODES` set ")+
|
|
"`PASSWORD`=null ";
|
|
}
|
|
else {
|
|
sql=QString("update `SWITCHER_NODES` set ")+
|
|
"`PASSWORD`='"+
|
|
RDEscapeString(q->value(1).toString().toUtf8().toBase64())+"' ";
|
|
}
|
|
sql+=QString::asprintf("where `ID`=%d",q->value(0).toInt());
|
|
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<362)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `PASSWORD` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `MATRICES` ")+
|
|
"modify column `PASSWORD_2` text";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`PASSWORD`,"+ // 01
|
|
"`PASSWORD_2` "+ // 02
|
|
"from `MATRICES`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
if(q->value(1).toString().isEmpty()) {
|
|
sql=QString("update `MATRICES` set ")+
|
|
"`PASSWORD`=null ";
|
|
}
|
|
else {
|
|
sql=QString("update `MATRICES` set ")+
|
|
"`PASSWORD`='"+
|
|
RDEscapeString(q->value(1).toString().toUtf8().toBase64())+"' ";
|
|
}
|
|
sql+=QString::asprintf("where `ID`=%d",q->value(0).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
if(q->value(2).toString().isEmpty()) {
|
|
sql=QString("update `MATRICES` set ")+
|
|
"`PASSWORD_2`=null ";
|
|
}
|
|
else {
|
|
sql=QString("update `MATRICES` set ")+
|
|
"`PASSWORD_2`='"+
|
|
RDEscapeString(q->value(2).toString().toUtf8().toBase64())+"' ";
|
|
}
|
|
sql+=QString::asprintf("where `ID`=%d",q->value(0).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<363)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `BYPASS_MODE` enum('N','Y') not null default 'N' "+
|
|
"after `DESCRIPTION`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `MUS_TRANS_TYPE_OFFSET` int after `MUS_ANNC_TYPE_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `MUS_TRANS_TYPE_LENGTH` int after `MUS_TRANS_TYPE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `MUS_TIME_TYPE_OFFSET` int after `MUS_TRANS_TYPE_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `SERVICES` ")+
|
|
"add column `MUS_TIME_TYPE_LENGTH` int after `MUS_TIME_TYPE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `IMPORT_TEMPLATES` ")+
|
|
"add column `TRANS_TYPE_OFFSET` int after `ANNC_TYPE_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORT_TEMPLATES` ")+
|
|
"add column `TRANS_TYPE_LENGTH` int after `TRANS_TYPE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORT_TEMPLATES` ")+
|
|
"add column `TIME_TYPE_OFFSET` int after `TRANS_TYPE_LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORT_TEMPLATES` ")+
|
|
"add column `TIME_TYPE_LENGTH` int after `TIME_TYPE_OFFSET`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `TRANS_TYPE` int not null default 255 after `LENGTH`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `TIME_TYPE` int not null default 0 after `TRANS_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `IMPORTER_LINES` ")+
|
|
"add column `GRACE_TIME` int not null default 0 after `TIME_TYPE`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<364)&&(set_schema>cur_schema)) {
|
|
sql=QString("update `IMPORT_TEMPLATES` set ")+
|
|
"`TRANS_TYPE_OFFSET`=102,"+
|
|
"`TRANS_TYPE_LENGTH`=5,"+
|
|
"`TIME_TYPE_OFFSET`=108,"+
|
|
"`TIME_TYPE_LENGTH`=4 "+
|
|
"where `NAME`='Rivendell Standard Import'";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
if((cur_schema<365)&&(set_schema>cur_schema)) {
|
|
sql=QString("alter table `FEED_IMAGES` ")+
|
|
"add column `DATA_MID_THUMB` longblob after `DATA`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("alter table `FEED_IMAGES` ")+
|
|
"add column `DATA_SMALL_THUMB` longblob after `DATA_MID_THUMB`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
sql=QString("select ")+
|
|
"`ID`,"+ // 00
|
|
"`DATA`,"+ // 01
|
|
"`FEED_KEY_NAME`," // 02
|
|
"`DESCRIPTION` "+ // 03
|
|
"from `FEED_IMAGES`";
|
|
q=new RDSqlQuery(sql);
|
|
while(q->next()) {
|
|
QString mimetype=RDMimeType(q->value(1).toByteArray(),&ok);
|
|
if(!ok) {
|
|
*err_msg=tr("unable to determine image file type");
|
|
return false;
|
|
}
|
|
if((mimetype=="image/jpeg")||(mimetype=="image/png")) {
|
|
sql=QString("update `FEED_IMAGES` set ")+
|
|
"`DATA_MID_THUMB`="+
|
|
RDEscapeBlob(RDIMResizeImage(q->value(1).toByteArray(),
|
|
RD_MID_THUMB_SIZE))+","+
|
|
"`DATA_SMALL_THUMB`="+
|
|
RDEscapeBlob(RDIMResizeImage(q->value(1).toByteArray(),
|
|
RD_SMALL_THUMB_SIZE))+" "+
|
|
QString::asprintf("where `ID`=%u",q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
else {
|
|
fprintf(stderr,"rddbmgr: image %u:\"%s\" in RSS feed \"%s\" is not in JPEG or PNG format, skipping thumbnail generation\n",
|
|
q->value(0).toUInt(),
|
|
q->value(3).toString().toUtf8().constData(),
|
|
q->value(2).toString().toUtf8().constData());
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
WriteSchemaVersion(++cur_schema);
|
|
}
|
|
|
|
|
|
|
|
// NEW SCHEMA UPDATES GO HERE...
|
|
|
|
//
|
|
// Maintainer's Note:
|
|
//
|
|
// When adding a schema update here, be sure also to implement the
|
|
// corresponding reversion in revertschema.cpp!
|
|
//
|
|
|
|
// **** End of version updates ****
|
|
|
|
//
|
|
// Update Cart Lengths, If Required
|
|
//
|
|
if(length_update_required) {
|
|
sql=QString::asprintf("select `NUMBER` from `CART` where `TYPE`=%u",
|
|
RDCart::Audio);
|
|
q=new RDSqlQuery(sql,false);
|
|
if(!db_start_datetime.isNull()) {
|
|
QDateTime now=QDateTime::currentDateTime();
|
|
fprintf(stderr,
|
|
"%s : beginning cart length updates, %d carts to process [%lld secs]\n",
|
|
now.toString("yyyy-MM-dd hh:mm:ss").toUtf8().constData(),
|
|
q->size(),
|
|
db_start_datetime.secsTo(now));
|
|
db_start_datetime=now;
|
|
}
|
|
while(q->next()) {
|
|
cart=new RDCart(q->value(0).toUInt());
|
|
cart->updateLength();
|
|
delete cart;
|
|
}
|
|
delete q;
|
|
}
|
|
|
|
*err_msg="ok";
|
|
|
|
if(!db_start_datetime.isNull()) {
|
|
QDateTime now=QDateTime::currentDateTime();
|
|
fprintf(stderr,
|
|
"%s : finished [%lld secs]\n",
|
|
now.toString("yyyy-MM-dd hh:mm:ss").toUtf8().constData(),
|
|
db_start_datetime.secsTo(now));
|
|
db_start_datetime=now;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
void MainObject::AverageCuts89(unsigned cartnum) const
|
|
{
|
|
unsigned total=0;
|
|
unsigned count=0;
|
|
unsigned high=0;
|
|
unsigned low=0xFFFFFFFF;
|
|
unsigned avg=0;
|
|
unsigned max_dev=0;
|
|
unsigned weight;
|
|
QDateTime end_datetime;
|
|
QString sql;
|
|
RDSqlQuery *q;
|
|
|
|
sql=QString("select ")+
|
|
"`LENGTH`,"+ // 00
|
|
"`WEIGHT`,"+ // 01
|
|
"`END_DATETIME` "+ // 02
|
|
"from `CUTS` where "+
|
|
QString::asprintf("(`CART_NUMBER`=%u)&&(`LENGTH`>0)",cartnum);
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
weight = q->value(1).toUInt();
|
|
end_datetime = q->value(2).toDateTime();
|
|
if (end_datetime.isValid() && (end_datetime <QDateTime::currentDateTime ())){
|
|
// This cut has expired, it is no more, set its weight to zero.
|
|
weight = 0;
|
|
}
|
|
total+=(q->value(0).toUInt() * weight);
|
|
if((weight) && (q->value(0).toUInt()>high)) {
|
|
high=q->value(0).toUInt();
|
|
}
|
|
if((weight) && (q->value(0).toUInt()<low)) {
|
|
low=q->value(0).toUInt();
|
|
}
|
|
count += weight;
|
|
}
|
|
delete q;
|
|
if(count==0) {
|
|
avg=0;
|
|
low=0;
|
|
high=0;
|
|
}
|
|
else {
|
|
avg=total/count;
|
|
}
|
|
if((high-avg)>(avg-low)) {
|
|
max_dev=high-avg;
|
|
}
|
|
else {
|
|
max_dev=avg-low;
|
|
}
|
|
sql=QString("update `CART` set ")+
|
|
QString::asprintf("`LENGTH_DEVIATION`=%u,",max_dev)+
|
|
QString::asprintf("`AVERAGE_LENGTH`=%u where ",avg)+
|
|
QString::asprintf("`NUMBER`=%u",cartnum);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
}
|
|
|
|
|
|
void MainObject::TotalMacros89(unsigned cartnum) const
|
|
{
|
|
int len=0;
|
|
|
|
QString sql=QString("select `MACROS` from `CART` where ")+
|
|
QString::asprintf("`NUMBER`=%d",cartnum);
|
|
RDSqlQuery *q=new RDSqlQuery(sql,false);
|
|
if(q->first()) {
|
|
QStringList f0=q->value(0).toString().split("!");
|
|
if(f0.size()==2) {
|
|
if(f0[0]=="SP") {
|
|
len+=f0[1].toInt();
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
sql=QString("update `CART` set ")+
|
|
QString::asprintf("`AVERAGE_LENGTH`=%u,",len)+
|
|
QString::asprintf("`FORCED_LENGTH`=%u ",len)+
|
|
QString::asprintf("where `NUMBER`=%u",cartnum);
|
|
q=new RDSqlQuery(sql,false);
|
|
delete q;
|
|
}
|
|
|
|
|
|
void MainObject::CreateAuxFieldsTable143(const QString &key_name) const
|
|
{
|
|
QString keyname=key_name;
|
|
keyname.replace(" ","_");
|
|
QString sql=QString("create table if not exists `")+
|
|
keyname+"_FIELDS` (`CAST_ID` int unsigned not null primary key) "+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
|
delete q;
|
|
}
|
|
|
|
|
|
void MainObject::CreateFeedLog151(const QString &key_name) const
|
|
{
|
|
QString sql;
|
|
RDSqlQuery *q;
|
|
|
|
QString keyname=key_name;
|
|
|
|
keyname.replace(" ","_");
|
|
sql=QString("create table if not exists `")+keyname+"_FLG` ("+
|
|
"`ID` int unsigned primary key auto_increment,"+
|
|
"`CAST_ID` int unsigned,"+
|
|
"`ACCESS_DATE` date,"+
|
|
"`ACCESS_COUNT` int unsigned default 0,"+
|
|
"index `CAST_ID_IDX` (`CAST_ID`,`ACCESS_DATE`))"+
|
|
" charset latin1 collate latin1_swedish_ci"+
|
|
db_table_create_postfix;
|
|
q=new RDSqlQuery(sql);
|
|
delete q;
|
|
}
|
|
|
|
|
|
bool MainObject::UpdateLogTable186(const QString &table,QString *err_msg) const
|
|
{
|
|
QString sql;
|
|
|
|
//
|
|
// Drop POST_TIME
|
|
//
|
|
sql=QString("alter table `")+table+"` drop column `POST_TIME`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Convert Fields
|
|
//
|
|
if(!ConvertTimeField186(table,"START_TIME",err_msg)) {
|
|
return false;
|
|
}
|
|
if(!ConvertTimeField186(table,"LINK_START_TIME",err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
bool MainObject::ConvertTimeField186(const QString &table,const QString &field,
|
|
QString *err_msg) const
|
|
{
|
|
QString sql;
|
|
RDSqlQuery *q;
|
|
|
|
//
|
|
// Create temporary field
|
|
//
|
|
sql=QString("alter table `")+table+
|
|
"` add column `"+field+"_TEMP` int after `"+field+"`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Copy data to temporary field
|
|
//
|
|
sql=QString("select `ID`,`")+field+"` from `"+table+"`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
if(!q->value(1).isNull()) {
|
|
sql=QString("update `")+table+
|
|
"` set `"+
|
|
field+QString::asprintf("_TEMP`=%d where `ID`=%d",
|
|
QTime(0,0,0).msecsTo(q->value(1).toTime()),
|
|
q->value(0).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
//
|
|
// Convert primary field
|
|
//
|
|
sql=QString("alter table `")+table+"` modify column `"+field+"` int";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
//
|
|
// Copy data back to primary field
|
|
//
|
|
sql=QString("select `ID`,`")+field+"_TEMP` from `"+table+"`";
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
if(!q->value(1).isNull()) {
|
|
sql=QString("update `")+table+
|
|
"` set `"+field+
|
|
QString::asprintf("`=%d where `ID`=%d",
|
|
q->value(1).toInt(),
|
|
q->value(0).toInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
//
|
|
// Delete Temporary field
|
|
//
|
|
sql=QString("alter table `")+table+"` drop column `"+field+"_TEMP`";
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool MainObject::ConvertArtistSep307(QString *err_msg) const
|
|
{
|
|
QString sql;
|
|
RDSqlQuery *q;
|
|
int max=-1;
|
|
|
|
sql=QString("select `ARTISTSEP` from `CLOCKS`");
|
|
q=new RDSqlQuery(sql,false);
|
|
while(q->next()) {
|
|
if(q->value(0).toInt()>max) {
|
|
max=q->value(0).toInt();
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
sql=QString::asprintf("update `EVENTS` set `ARTIST_SEP`=%d",max);
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool MainObject::StackLineTitles347(QString *err_msg) const
|
|
{
|
|
QString sql;
|
|
RDSqlQuery *q;
|
|
|
|
//
|
|
// Add titles to STACK_LINES
|
|
//
|
|
q=new RDSqlQuery("select `NUMBER`,`TITLE` from `CART`",false);
|
|
while(q->next()) {
|
|
if(!q->value(1).isNull()) {
|
|
sql=QString("update `STACK_LINES` set ")+
|
|
"`TITLE`=\""+
|
|
RDEscapeString(q->value(1).toString().toLower().replace(" ",""))+"\" "+
|
|
"where "+
|
|
QString::asprintf("`CART`=%u",q->value(0).toUInt());
|
|
if(!RDSqlQuery::apply(sql,err_msg)) {
|
|
delete q;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
delete q;
|
|
|
|
return true;
|
|
}
|