2018-10-08 Fred Gleason <fredg@paravelsystems.com>

* Removed the 'Charset=' and 'Collation=' parameters from the
	'[mySQL]' section of rd.conf(5).
	* Removed support for the --mysql-charset=' and '--mysql-collation='
	switches in rddbmgr(8).
	* Refactored handling of character set and collation attributes
	in rddbmgr(8) to treat them as immutable parts of the DB schema.
This commit is contained in:
Fred Gleason 2018-10-08 18:38:12 -04:00
parent d6a45dbd6d
commit 58d856a726
16 changed files with 499 additions and 299 deletions

View File

@ -17681,7 +17681,7 @@
* Changed the width of the 'HOSTVARS.REMARK' field to 191.
* Changed the width of the 'IMPORTER_LINES.TITLE' field to 191.
* Changed the width of the 'IMPORTER_LINES.TRACK_STRING' field to 191.
* Changed the width of the 'INPUTS.NODE_HOSTNAME' field to 191.
* Changed the width of the 'INPUTS.NODE_HOSTNAME' field to 176.
* Changed the width of the 'LOGS.ORIGIN_USER' field to 191.
* Changed the width of the 'LOGS.LOCK_USER_NAME' field to 191.
* Changed the width of the 'LOG_LINES.COMMENT' field to 191.
@ -17692,7 +17692,7 @@
* Changed the width of the 'MATRICES.GPIO_DEVICE' field to 191.
* Changed the width of the 'NOWNEXT_PLUGINS.PLUGIN_PATH' field to 191.
* Changed the width of the 'NOWNEXT_PLUGINS.PLUGIN_ARG' field to 191.
* Changed the width of the 'OUTPUTS.NODE_HOSTNAME' field to 191.
* Changed the width of the 'OUTPUTS.NODE_HOSTNAME' field to 176.
* Changed the width of the 'PODCASTS.ITEM_TITLE' field to 191.
* Changed the width of the 'PODCASTS.ITEM_LINK' field to 191.
* Changed the width of the 'PODCASTS.ITEM_COMMENTS' field to 191.
@ -17720,6 +17720,8 @@
* Changed the width of the 'SERVICES.TFC_WIN_PATH' field to 191.
* Changed the width of the 'SERVICES.MUS_PATH' field to 191.
* Changed the width of the 'SERVICES_MUS_WIN_PATH' field to 191.
* Changed the width of the 'STACK_LINES.ARTIST' field to 191.
* Changed the width of the 'STACK_LINES.SCHED_CODES' field to 191.
* Changed the width of the 'STATIONS.USER_NAME' field to 191.
* Changed the width of the 'STATIONS.DEFAULT_NAME' field to 191.
* Changed the width of the 'STATIONS.EDITOR_PATH' field to 191.
@ -17733,6 +17735,8 @@
* Changed the width of the 'USER_SERVICE_PERMS.USER_NAME' field to 191.
* Changed the width of the 'WEBAPI_AUTHS.LOGIN_NAME' field to 191.
* Changed the width of the 'WEB_CONNECTIONS.LOGIN_NAME' field to 191.
* Changed the charset/collation of the DB to
'utf8mb4'/'utf8mb4_general_ci'.
* Incremented the database version to 297.
* Changed the default DB charset to 'utf8mb4'.
* Changed the default DB collation to 'utf8mb4_general_ci'.
@ -17743,3 +17747,10 @@
2018-10-03 Fred Gleason <fredg@paravelsystems.com>
* Updated 'UPGRADING' to include information for v3.x.
* Updated 'INSTALL'.
2018-10-08 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'Charset=' and 'Collation=' parameters from the
'[mySQL]' section of rd.conf(5).
* Removed support for the --mysql-charset=' and '--mysql-collation='
switches in rddbmgr(8).
* Refactored handling of character set and collation attributes
in rddbmgr(8) to treat them as immutable parts of the DB schema.

View File

@ -29,13 +29,9 @@ Driver=QMYSQL3
; The interval between 'keep-alive' queries to the MySQL server (seconds)
HeartbeatInterval=360
; The following three settings control the attributes of new DB tables
; The following setting controls the attributes of new DB tables
; created by Rivendell.
;Engine=MyISAM
; 'Charset' and 'Collation' should *not* changed except for development
; purposes.
;Charset=utf8mb4
;Collation=utf8mb4_general_ci
[AudioStore]
MountSource=

View File

@ -6,7 +6,7 @@
<refmeta>
<refentrytitle>rddbmgr</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class='source'>June 2018</refmiscinfo>
<refmiscinfo class='source'>October 2018</refmiscinfo>
<refmiscinfo class='manual'>Linux Audio Manual</refmiscinfo>
</refmeta>
<refnamediv>
@ -151,30 +151,6 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--mysql-charset=</option><replaceable>charset</replaceable></term>
<listitem>
<para>
Configure new tables to use character set
<replaceable>charset</replaceable>.
Default is to use the corresponding value found in the
<userinput>[mySQL]</userinput> section of
<command>rd.conf</command><manvolnum>5</manvolnum>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--mysql-collation=</option><replaceable>collation</replaceable></term>
<listitem>
<para>
Configure new tables to use collation
<replaceable>collation</replaceable>.
Default is to use the corresponding value found in the
<userinput>[mySQL]</userinput> section of
<command>rd.conf</command><manvolnum>5</manvolnum>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
@ -484,6 +460,15 @@
do not exist in the reverted schema will be irrecoverably lost!
</para>
</warning>
<warning>
<para>
Schema versions earlier than <computeroutput>297</computeroutput>
(Rivendell version <computeroutput>3.0.0</computeroutput>) utilize
the <computeroutput>Latin1</computeroutput> character set; reverting
a database containing non-Latin1 characters to these schema versions
will cause irreversible corruption of those characters!
</para>
</warning>
</refsect1>
<refsect1 id='see_also'><title>See Also</title>

View File

@ -14,6 +14,6 @@ FEED_NAME varchar(8)
CHANNEL_MODE int(11)
ENGINE_NUM int(11)
DEVICE_NUM int(11)
NODE_HOSTNAME varchar(191)
NODE_HOSTNAME varchar(176)
NODE_TCP_PORT int(11)
NODE_SLOT int(11)

View File

@ -12,6 +12,6 @@ NUMBER int(11)
NAME varchar(64)
ENGINE_NUM int(11)
DEVICE_NUM int(11)
NODE_HOSTNAME varchar(191)
NODE_HOSTNAME varchar(176)
NODE_TCP_PORT int(11)
NODE_SLOT int(11)

View File

@ -8,6 +8,6 @@ ID int(10) unsigned Primary key, auto_increment
SCHED_STACK_ID int(10) unsigned
SERVICE_NAME varchar(10) From SERVICES.NAME
CART int(10) unsigned From CART.NUMBER
ARTIST varchar(255) From CART.ARTIST
SCHED_CODES varchar(255)
ARTIST varchar(191) From CART.ARTIST
SCHED_CODES varchar(191)
SCHEDULED_AT datetime

View File

@ -188,18 +188,6 @@ QString RDConfig::mysqlEngine() const
}
QString RDConfig::mysqlCharset() const
{
return conf_mysql_charset;
}
QString RDConfig::mysqlCollation() const
{
return conf_mysql_collation;
}
QString RDConfig::createTablePostfix() const
{
return conf_create_table_postfix;
@ -590,18 +578,8 @@ void RDConfig::load()
DEFAULT_MYSQL_HEARTBEAT_INTERVAL);
conf_mysql_engine=
profile->stringValue("mySQL","Engine",DEFAULT_MYSQL_ENGINE);
conf_mysql_charset=
profile->stringValue("mySQL","Charset",DEFAULT_MYSQL_CHARSET);
conf_mysql_collation=
profile->stringValue("mySQL","Collation",DEFAULT_MYSQL_COLLATION);
/*
conf_create_table_postfix=QString(" engine ")+conf_mysql_engine+" "+
"character set "+conf_mysql_charset+" "+
"collate "+conf_mysql_collation;
*/
conf_create_table_postfix=
RDConfig::createTablePostfix(conf_mysql_engine,conf_mysql_charset,
conf_mysql_collation);
RDConfig::createTablePostfix(conf_mysql_engine);
facility=profile->stringValue("Logs","Facility",DEFAULT_LOG_FACILITY).lower();
if(facility=="syslog") {
@ -709,8 +687,6 @@ void RDConfig::clear()
conf_mysql_driver="";
conf_mysql_heartbeat_interval=DEFAULT_MYSQL_HEARTBEAT_INTERVAL;
conf_mysql_engine=DEFAULT_MYSQL_ENGINE;
conf_mysql_charset=DEFAULT_MYSQL_CHARSET;
conf_mysql_collation=DEFAULT_MYSQL_COLLATION;
conf_create_table_postfix="";
conf_log_facility=RDConfig::LogSyslog;
conf_log_directory="";
@ -775,10 +751,7 @@ QString RDConfig::userAgent(const QString &modname)
}
QString RDConfig::createTablePostfix(const QString &engine,
const QString &charset,
const QString &collation)
QString RDConfig::createTablePostfix(const QString &engine)
{
return QString(" engine ")+engine+" "+"character set "+charset+" "+
"collate "+collation;
return QString(" engine ")+engine+" ";
}

View File

@ -61,8 +61,6 @@ class RDConfig
QString mysqlDriver() const;
int mysqlHeartbeatInterval() const;
QString mysqlEngine() const;
QString mysqlCharset() const;
QString mysqlCollation() const;
QString createTablePostfix() const;
RDConfig::LogFacility logFacility() const;
QString logDirectory() const;
@ -120,9 +118,7 @@ class RDConfig
void load();
void clear();
static QString userAgent(const QString &modname);
static QString createTablePostfix(const QString &engine,
const QString &charset,
const QString &collation);
static QString createTablePostfix(const QString &engine);
private:
QString conf_filename;
@ -133,8 +129,6 @@ class RDConfig
QString conf_mysql_password;
QString conf_mysql_driver;
QString conf_mysql_engine;
QString conf_mysql_charset;
QString conf_mysql_collation;
QString conf_create_table_postfix;
int conf_mysql_heartbeat_interval;
RDConfig::LogFacility conf_log_facility;

View File

@ -163,8 +163,7 @@ bool RDOpenDb (int *schema,QString *err_str,RDConfig *config)
}
}
new RDDbHeartbeat(config->mysqlHeartbeatInterval());
sql=QString("set NAMES '")+config->mysqlCharset()+"'"+
"COLLATE '"+config->mysqlCollation()+"'";
sql=QString("set NAMES utf8mb4 collate utf8mb4_general_ci");
q=new QSqlQuery(sql);
delete q;

View File

@ -156,17 +156,15 @@ void MainObject::CheckTableAttributes()
RDSqlQuery::apply(sql);
}
}
if(q->value(2).toString().toLower()!=db_mysql_collation.toLower()) {
printf(" Table \"%s\" uses charset/collation %s/%s, should be %s/%s. Fix? (y/N) ",
if(q->value(2).toString().toLower()!="utf8mb4_general_ci") {
printf(" Table \"%s\" uses charset/collation %s/%s, should be utf8mb4/utf8mb4_general_ci. Fix? (y/N) ",
(const char *)q->value(0).toString().toUtf8(),
(const char *)charset.toUtf8(),
(const char *)q->value(2).toString().toUtf8(),
(const char *)db_mysql_charset.toUtf8(),
(const char *)db_mysql_collation.toUtf8());
(const char *)q->value(2).toString().toUtf8());
fflush(NULL);
if(UserResponse()) {
RewriteTable(q->value(0).toString(),charset,db_mysql_charset,
db_mysql_collation);
RewriteTable(q->value(0).toString(),charset,"utf8mb4",
"utf8mb4_general_ci");
}
}
}
@ -183,18 +181,15 @@ void MainObject::CheckTableAttributes()
q=new RDSqlQuery(sql);
while(q->next()) {
if(q->value(0).toString()==db_mysql_database) {
if((q->value(1).toString().toLower()!=db_mysql_charset.toLower())||
(q->value(2).toString().toLower()!=db_mysql_collation.toLower())) {
printf(" Database uses default charset/collation %s/%s, should be %s/%s. Fix? (y/N) ",
if((q->value(1).toString().toLower()!="utf8mb4")||
(q->value(2).toString().toLower()!="utf8mb4_general_ci")) {
printf(" Database uses default charset/collation %s/%s, should be utf8mb4/utf8mb4_general_ci. Fix? (y/N) ",
(const char *)q->value(1).toString().toUtf8(),
(const char *)q->value(2).toString().toUtf8(),
(const char *)db_mysql_charset.toUtf8(),
(const char *)db_mysql_collation.toUtf8());
(const char *)q->value(2).toString().toUtf8());
fflush(NULL);
if(UserResponse()) {
sql=QString("alter database `")+db_mysql_database+"` "+
"character set "+db_mysql_charset+" "+
"collate "+db_mysql_collation;
"character set utf8mb4 collate utf8mb4_general_ci";
RDSqlQuery::apply(sql);
}
}
@ -216,7 +211,11 @@ void MainObject::RewriteTable(const QString &tblname,const QString &old_charset,
}
QString filename=tempdir+"/table.sql";
QString out_filename=tempdir+"/table-out.sql";
printf("using: %s\n",(const char *)tempdir.toUtf8());
/*
printf("table \"%s\" using: %s\n",
(const char *)tblname.toUtf8(),
(const char *)tempdir.toUtf8());
*/
//
// Dump Table

View File

@ -109,6 +109,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"EDIT_PODCAST_PRIV enum('N','Y') not null default 'N',"+
"DELETE_PODCAST_PRIV enum('N','Y') not null default 'N',"+
"INDEX FULL_NAME_IDX (FULL_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -160,6 +161,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"ALSA_VERSION char(16),"+
"INDEX DESCRIPTION_IDX (DESCRIPTION),"+
"index IPV4_ADDRESS_IDX (IPV4_ADDRESS))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -227,6 +229,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"index PENDING_STATION_IDX(PENDING_STATION),"+
"index PENDING_PID_IDX(PENDING_STATION,PENDING_PID),"+
"index PENDING_DATETIME_IDX(PENDING_DATETIME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -291,6 +294,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"index END_DATETIME_IDX (END_DATETIME),"+
"index ISCI_IDX (ISCI),"+
"index ISRC_IDX (ISRC))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -328,6 +332,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"index CART_NUMBER_IDX (CART_NUMBER),"+
"index DESCRIPTION_IDX (DESCRIPTION),"+
"index OUTCUE_IDX (OUTCUE))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -374,8 +379,6 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"TFC_LEN_MINUTES_LENGTH int,"+
"TFC_LEN_SECONDS_OFFSET int,"+
"TFC_LEN_SECONDS_LENGTH int,"+
// "TFC_LENGTH_OFFSET int,"+
// "TFC_LENGTH_LENGTH int,"+
"TFC_DATA_OFFSET int,"+
"TFC_DATA_LENGTH int,"+
"TFC_EVENT_ID_OFFSET int,"+
@ -407,14 +410,13 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"MUS_LEN_MINUTES_LENGTH int,"+
"MUS_LEN_SECONDS_OFFSET int,"+
"MUS_LEN_SECONDS_LENGTH int,"+
// "MUS_LENGTH_OFFSET int,"+
// "MUS_LENGTH_LENGTH int,"+
"MUS_DATA_OFFSET int,"+
"MUS_DATA_LENGTH int,"+
"MUS_EVENT_ID_OFFSET int,"+
"MUS_EVENT_ID_LENGTH int,"+
"MUS_ANNC_TYPE_OFFSET int,"+
"MUS_ANNC_TYPE_LENGTH int)"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -440,6 +442,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"COLOR char(7),"+
"index IDX_REPORT_TFC (REPORT_TFC),"+
"index IDX_REPORT_MUS (REPORT_MUS))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -454,6 +457,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"SERVICE_NAME char(10),"+
"index GROUP_IDX (GROUP_NAME),"+
"index SERVICE_IDX (SERVICE_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -491,6 +495,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"LIMIT_SEARCH int default 1,"+
"SEARCH_LIMITED enum('N','Y') default 'Y',"+
"index STATION_IDX (STATION,INSTANCE))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -505,6 +510,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"TRIGGER_CODE int unsigned,"+
"OFFSET int unsigned,"+
"index CUT_NAME_IDX (CUT_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -527,6 +533,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"index STATION_NAME_IDX (STATION_NAME),"+
"index ACTIVE_IDX (ACTIVE),"+
"index PORT_ID_IDX (PORT_ID))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -555,6 +562,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"SWITCH_DELAY int default 0,"+
"index STATION_NAME_IDX (STATION_NAME),"+
"index CHANNEL_IDX (CHANNEL))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -616,6 +624,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"ENABLE_METADATA enum('N','Y') default 'N',"+
"FEED_ID int default -1,"+
"index STATION_NAME_IDX (STATION_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -659,6 +668,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"index END_DATE_IDX (END_DATE),"+
"index TYPE_IDX(TYPE,LOG_EXISTS),"+
"index LOCK_GUID_IDX(LOCK_GUID))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -671,6 +681,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"DB int not null primary key,"+
"LAST_MAINT_DATETIME datetime default \"1970-01-01 00:00:00\","+
"LAST_ISCI_XREFERENCE datetime default \"1970-01-01 00:00:00\")"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -713,6 +724,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"SHOW_COUNTERS enum('N','Y') default 'N',"+
"AUDITION_PREROLL int default 10000,"+
"index STATION_IDX (STATION))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -733,6 +745,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -773,6 +786,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"FADERS int default 0,"+
"DISPLAYS int default 0,"+
"index MATRIX_IDX (STATION_NAME,MATRIX))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -796,6 +810,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"NODE_SLOT int,"+
"index MATRIX_IDX (STATION_NAME,MATRIX,NUMBER),"+
"index NODE_IDX (STATION_NAME,MATRIX,NUMBER,NODE_HOSTNAME,NODE_TCP_PORT))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -817,6 +832,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"NODE_SLOT int,"+
"index MATRIX_IDX (STATION_NAME,MATRIX,NUMBER),"+
"index NODE_IDX (STATION_NAME,MATRIX,NUMBER,NODE_HOSTNAME,NODE_TCP_PORT))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -833,6 +849,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"MACRO_CART int default 0,"+
"OFF_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;
@ -867,6 +884,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"HOR_DIST INT(10) unsigned,"+
"NESTED_EVENT char(64),"+
"REMARKS char(255))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -881,6 +899,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"ARTISTSEP int(10) unsigned,"+
"COLOR char(7),"+
"REMARKS char(255))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -894,6 +913,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -909,6 +929,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -923,6 +944,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -957,6 +979,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"START_TIME time,"+
"END_TIME time,"+
"index IDX_NAME (NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -970,6 +993,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -983,6 +1007,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -996,6 +1021,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1010,6 +1036,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"SERVICE_NAME char(10),"+
"index STATION_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;
@ -1024,6 +1051,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"SERVICE_NAME char(10),"+
"index STATION_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;
@ -1038,6 +1066,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1058,6 +1087,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1088,6 +1118,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"RIPPER_LEVEL int default -1300,"+
"DEFAULT_TRANS_TYPE int default 0,"+
"index STATION_IDX (STATION))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1101,6 +1132,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1112,6 +1144,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
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;
@ -1146,6 +1179,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"CREATE_ENDDATE_OFFSET int default 0,"+
"SET_USER_DEFINED 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;
@ -1167,6 +1201,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"SKIN_PATH char(255) default \""+
RDEscapeString(RD_DEFAULT_RDPANEL_SKIN)+"\","+
"index STATION_IDX (STATION))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1187,6 +1222,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1202,6 +1238,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1217,6 +1254,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1259,6 +1297,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"REDIRECT_PATH char(255),"+
"MEDIA_LINK_MODE int default 0,"+
"index KEY_NAME_IDX(KEY_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1286,6 +1325,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"ORIGIN_DATETIME datetime,"+
"EFFECTIVE_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;
@ -1300,6 +1340,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1314,6 +1355,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1327,6 +1369,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"LOGIN_NAME char(255),"+
"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;
@ -1345,6 +1388,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1360,6 +1404,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1388,6 +1433,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1401,6 +1447,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1414,6 +1461,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1430,6 +1478,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"MACRO_CART int default 0,"+
"OFF_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;
@ -1444,6 +1493,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1459,6 +1509,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1479,6 +1530,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"TEMP_CART_GROUP char(10),"+
"SHOW_USER_LIST enum('N','Y') not null default 'Y',"+
"NOTIFICATION_ADDRESS char(15) default \""+RD_NOTIFICATION_ADDRESS+"\")"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1513,6 +1565,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1541,6 +1594,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"ENABLE_METADATA enum('N','Y') default 'N',"+
"NORMALIZATION_LEVEL int 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;
@ -1555,6 +1609,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1571,6 +1626,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"ITEM_DATETIME datetime not null,"+
"REPOST enum('N','Y') default 'N',"+
"unique REPLICATOR_NAME_IDX(REPLICATOR_NAME,CART_NUMBER,POSTED_FILENAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1585,6 +1641,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"CUT_NAME char(12) not null,"+
"ITEM_DATETIME datetime not null,"+
"unique REPLICATOR_NAME_IDX(REPLICATOR_NAME,CUT_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1607,6 +1664,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"index CART_NUMBER_IDX(CART_NUMBER),"+
"index TYPE_IDX(TYPE,LATEST_DATE),"+
"index LATEST_DATE_IDX(LATEST_DATE))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1622,6 +1680,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1636,6 +1695,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"DESCRIPTION char(64),"+
"COMMAND_LINE text 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;
@ -1661,6 +1721,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1677,6 +1738,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"IP_ADDRESS char(15),"+
"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;
@ -1703,6 +1765,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1729,6 +1792,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1744,6 +1808,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1758,6 +1823,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1775,6 +1841,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1789,6 +1856,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1804,6 +1872,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1819,6 +1888,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1833,6 +1903,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1846,6 +1917,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1872,6 +1944,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1890,6 +1963,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"OUTPUTS int not null default -1,"+
"CLOCK_SOURCE int not null default 0,"+
"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;
@ -1907,6 +1981,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -1922,6 +1997,7 @@ bool MainObject::CreateNewDb(QString *err_msg) const
"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;
@ -2402,6 +2478,7 @@ bool MainObject::InititalizeNewDb(const QString &station_name,bool gen_audio,
"index COUNT_IDX (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;
@ -2751,6 +2828,7 @@ bool MainObject::CreateReconciliationTable(const QString &svc_name,
"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;

View File

@ -20,14 +20,15 @@
#include <stdlib.h>
#include <qstringlist.h>
#include <dbversion.h>
#include <rddb.h>
#include <rdescape_string.h>
#include "rddbmgr.h"
//Added by qt3to4:
#include <QSqlQuery>
bool MainObject::Modify(QString *err_msg,int set_schema) const
bool MainObject::Modify(QString *err_msg,int set_schema)
{
*err_msg="ok";
@ -68,3 +69,50 @@ int MainObject::GetCurrentSchema() const
}
bool MainObject::ModifyCharset(const QString &charset,
const QString &collation)
{
QString sql;
RDSqlQuery *q;
//
// Per-table Attributes
//
sql=QString("select ")+
"TABLE_NAME,"+ // 00
"TABLE_COLLATION "+ // 01
"from information_schema.TABLES where "+
"TABLE_SCHEMA='"+RDEscapeString(db_mysql_database)+"'";
q=new RDSqlQuery(sql,false);
while(q->next()) {
QStringList f0=q->value(1).toString().split("_");
QString prev_charset=f0.at(0);
if(q->value(1).toString().toLower()!=collation) {
RewriteTable(q->value(0).toString(),prev_charset,charset,collation);
}
}
delete q;
//
// Database Attributes
//
sql=QString("select ")+
"SCHEMA_NAME,"+ // 00
"DEFAULT_CHARACTER_SET_NAME,"+ // 01
"DEFAULT_COLLATION_NAME "+ // 02
"from information_schema.SCHEMATA";
q=new RDSqlQuery(sql);
while(q->next()) {
if(q->value(0).toString()==db_mysql_database) {
if((q->value(1).toString().toLower()!=charset)||
(q->value(2).toString().toLower()!=collation)) {
sql=QString("alter database `")+db_mysql_database+"` "+
"character set "+charset+" collate "+collation;
RDSqlQuery::apply(sql);
}
}
}
delete q;
return true;
}

View File

@ -72,8 +72,6 @@ MainObject::MainObject(QObject *parent)
db_mysql_database=db_config->mysqlDbname();
db_mysql_driver=db_config->mysqlDriver();
db_mysql_engine=db_config->mysqlEngine();
db_mysql_charset=db_config->mysqlCharset();
db_mysql_collation=db_config->mysqlCollation();
station_name=db_config->stationName();
InitializeSchemaMap();
@ -142,14 +140,6 @@ MainObject::MainObject(QObject *parent)
db_mysql_engine=cmd->value(i);
cmd->setProcessed(i,true);
}
if(cmd->key(i)=="--mysql-charset") {
db_mysql_charset=cmd->value(i);
cmd->setProcessed(i,true);
}
if(cmd->key(i)=="--mysql-collation") {
db_mysql_collation=cmd->value(i);
cmd->setProcessed(i,true);
}
if(cmd->key(i)=="--set-schema") {
set_schema=cmd->value(i).toInt(&ok);
if((!ok)||(set_schema<=0)) {
@ -283,8 +273,6 @@ MainObject::MainObject(QObject *parent)
fprintf(stderr," Database: %s\n",(const char *)db_mysql_database);
fprintf(stderr," Driver: %s\n",(const char *)db_mysql_driver);
fprintf(stderr," Engine: %s\n",(const char *)db_mysql_engine);
fprintf(stderr," Charset: %s\n",(const char *)db_mysql_charset);
fprintf(stderr," Collation: %s\n",(const char *)db_mysql_collation);
}
//
@ -300,9 +288,7 @@ MainObject::MainObject(QObject *parent)
(const char *)db.lastError().text());
exit(1);
}
db_table_create_postfix=
RDConfig::createTablePostfix(db_mysql_engine,db_mysql_charset,
db_mysql_collation);
db_table_create_postfix=RDConfig::createTablePostfix(db_mysql_engine);
//
// Resolve Target Schema

View File

@ -78,13 +78,14 @@ class MainObject : public QObject
//
// modify.cpp
//
bool Modify(QString *err_msg,int set_schema) const;
bool Modify(QString *err_msg,int set_schema);
int GetCurrentSchema() const;
bool ModifyCharset(const QString &charset,const QString &collation);
//
// updateschema.cpp
//
bool UpdateSchema(int cur_schema,int set_schema,QString *err_msg) const;
bool UpdateSchema(int cur_schema,int set_schema,QString *err_msg);
void AverageCuts89(unsigned cartnum) const;
void TotalMacros89(unsigned cartnum) const;
void CreateAuxFieldsTable143(const QString &key_name) const;
@ -96,7 +97,7 @@ class MainObject : public QObject
//
// revertschema.cpp
//
bool RevertSchema(int cur_schema,int set_schema,QString *err_msg) const;
bool RevertSchema(int cur_schema,int set_schema,QString *err_msg);
//
// schemamap.cpp
@ -120,8 +121,6 @@ class MainObject : public QObject
QString db_mysql_database;
QString db_mysql_driver;
QString db_mysql_engine;
QString db_mysql_charset;
QString db_mysql_collation;
bool db_verbose;
bool db_yes;
bool db_no;

View File

@ -23,7 +23,7 @@
#include "rddbmgr.h"
bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) const
bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
{
QString sql;
RDSqlQuery *q;
@ -38,9 +38,21 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
//
// NEW SCHEMA REVERSIONS GO HERE...
//
// Maintainer's Note:
//
// All tables created above this point should use a character set
// of 'utf8mb4' and a collation of 'utf8mb4_general_ci'.
//
//
// Revert 297
//
ModifyCharset("latin1","latin1_swedish_ci");
if((cur_schema==297)&&(set_schema<cur_schema)) {
sql=QString("alter table AUDIO_CARDS ")+
"modify column STATION_NAME char(64) not null";
@ -1589,6 +1601,16 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
sql=QString("alter table STACK_LINES ")+
"modify column ARTIST char(255) not null";
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
sql=QString("alter table STACK_LINES ")+
"modify column SCHED_CODES char(255) not null";
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
sql=QString("alter table STATIONS ")+
"modify column NAME char(64) not null";
@ -1849,7 +1871,9 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
"CAST_ID int unsigned,"+
"ACCESS_DATE date,"+
"ACCESS_COUNT int unsigned default 0,"+
"index CAST_ID_IDX(CAST_ID,ACCESS_DATE))";
"index CAST_ID_IDX(CAST_ID,ACCESS_DATE))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
@ -1897,6 +1921,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
"ARTIST varchar(255),"+
"SCHED_CODES varchar(255),"+
"SCHEDULED_AT datetime default '1000-01-01 00:00:00')"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -1954,6 +1979,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
"NOT_AFTER varchar(10),"+
"OR_AFTER varchar(10),"+
"OR_AFTER_II varchar(10))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -2008,6 +2034,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
"START_TIME int not null,"+
"LENGTH int not null,"+
"INDEX EVENT_NAME_IDX (EVENT_NAME))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
@ -2054,49 +2081,50 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
QString tablename=q->value(0).toString()+"_PRE";
tablename.replace(" ","_");
sql=QString("create table if not exists `")+tablename+"` ("+
"ID int not null primary key,"+
"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().sprintf("FADEUP_GAIN int default %d,",RD_FADE_DEPTH)+
"FADEDOWN_POINT int default -1,"+
QString().sprintf("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().sprintf("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),"+
"index COUNT_IDX (COUNT),"+
"index CART_NUMBER_IDX (CART_NUMBER),"+
"index LABEL_IDX (LABEL))"+
db_table_create_postfix;
"ID int not null primary key,"+
"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().sprintf("FADEUP_GAIN int default %d,",RD_FADE_DEPTH)+
"FADEDOWN_POINT int default -1,"+
QString().sprintf("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().sprintf("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),"+
"index COUNT_IDX (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;
}
@ -2130,49 +2158,50 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
tablename=q->value(0).toString()+"_POST";
tablename.replace(" ","_");
sql=QString("create table if not exists `")+tablename+"` ("+
"ID int not null primary key,"+
"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().sprintf("FADEUP_GAIN int default %d,",RD_FADE_DEPTH)+
"FADEDOWN_POINT int default -1,"+
QString().sprintf("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().sprintf("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),"+
"index COUNT_IDX (COUNT),"+
"index CART_NUMBER_IDX (CART_NUMBER),"+
"index LABEL_IDX (LABEL))"+
db_table_create_postfix;
"ID int not null primary key,"+
"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().sprintf("FADEUP_GAIN int default %d,",RD_FADE_DEPTH)+
"FADEDOWN_POINT int default -1,"+
QString().sprintf("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().sprintf("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),"+
"index COUNT_IDX (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;
}
@ -2254,6 +2283,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -2359,96 +2389,97 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
QString tablename=q->value(0).toString()+"_LOG";
tablename.replace(" ","_");
sql=QString("create table if not exists `")+tablename+"` ("+
"ID int not null primary key,"+
"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().sprintf("FADEUP_GAIN int default %d,",RD_FADE_DEPTH)+
"FADEDOWN_POINT int default -1,"+
QString().sprintf("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().sprintf("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),"+
"index COUNT_IDX (COUNT),"+
"index CART_NUMBER_IDX (CART_NUMBER),"+
"index LABEL_IDX (LABEL))"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
"ID int not null primary key,"+
"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().sprintf("FADEUP_GAIN int default %d,",RD_FADE_DEPTH)+
"FADEDOWN_POINT int default -1,"+
QString().sprintf("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().sprintf("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),"+
"index COUNT_IDX (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 ")+
"LINE_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 LOG_LINES where "+
"LOG_NAME=\""+RDEscapeString(q->value(0).toString())+"\" "+
"order by COUNT";
sql=QString("select ")+
"LINE_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 LOG_LINES where "+
"LOG_NAME=\""+RDEscapeString(q->value(0).toString())+"\" "+
"order by COUNT";
q1=new RDSqlQuery(sql);
while(q1->next()) {
sql=QString("insert into `")+tablename+"` set "+
@ -2822,6 +2853,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co
"OUTPUT_7_LEVEL int default 0,"+
"index STATION_NAME_IDX (STATION_NAME),"+
"index CARD_NUMBER_IDX (CARD_NUMBER))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;

View File

@ -27,7 +27,7 @@
#include "rddbmgr.h"
bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) const
bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
{
QString sql;
RDSqlQuery *q;
@ -58,6 +58,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -307,6 +308,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -341,6 +343,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -366,6 +369,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -402,6 +406,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -418,6 +423,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -433,6 +439,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -478,6 +485,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -609,6 +617,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -791,6 +800,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -830,6 +840,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -967,6 +978,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1005,6 +1017,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1054,6 +1067,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1156,6 +1170,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1165,6 +1180,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1174,6 +1190,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1344,6 +1361,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1374,6 +1392,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1422,6 +1441,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -1613,6 +1633,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -2175,6 +2196,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -2244,6 +2266,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3447,6 +3470,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3487,6 +3511,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
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;
@ -3563,6 +3588,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3651,6 +3677,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3671,6 +3698,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3699,6 +3727,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3714,6 +3743,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3811,6 +3841,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3829,6 +3860,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3854,6 +3886,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -3927,6 +3960,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4017,6 +4051,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4053,6 +4088,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4271,6 +4307,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4294,6 +4331,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4307,6 +4345,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4320,6 +4359,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4350,6 +4390,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4391,6 +4432,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4406,6 +4448,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -4676,6 +4719,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
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;
@ -4795,6 +4839,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5036,6 +5081,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5047,6 +5093,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5070,6 +5117,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5085,6 +5133,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5106,6 +5155,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5165,6 +5215,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5270,6 +5321,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5312,6 +5364,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5336,6 +5389,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5454,6 +5508,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5493,6 +5548,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5539,6 +5595,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5855,6 +5912,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -5993,6 +6051,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6011,6 +6070,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6138,6 +6198,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6150,6 +6211,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6220,6 +6282,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6266,6 +6329,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6472,6 +6536,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6592,6 +6657,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6765,6 +6831,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6841,6 +6908,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -6892,6 +6960,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7214,6 +7283,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7375,6 +7445,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7499,6 +7570,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7609,6 +7681,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7668,6 +7741,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7733,6 +7807,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7805,6 +7880,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -7867,6 +7943,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
"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;
@ -8631,7 +8708,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
return false;
}
sql=QString("alter table INPUTS ")+
"modify column NODE_HOSTNAME varchar(191)";
"modify column NODE_HOSTNAME varchar(176)";
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
@ -8896,7 +8973,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
return false;
}
sql=QString("alter table OUTPUTS ")+
"modify column NODE_HOSTNAME varchar(191)";
"modify column NODE_HOSTNAME varchar(176)";
if(!RDSqlQuery::apply(sql,err_msg)) {
return false;
}
@ -9436,6 +9513,16 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
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";
@ -9649,9 +9736,19 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) co
return false;
}
ModifyCharset("utf8mb4","utf8mb4_general_ci");
WriteSchemaVersion(++cur_schema);
}
//
// Maintainer's Note:
//
// All tables created below this point should use a character set
// of 'utf8mb4' and a collation of 'utf8mb4_general_ci'.
//
// NEW SCHEMA UPDATES GO HERE...
//
@ -9774,6 +9871,7 @@ void MainObject::CreateAuxFieldsTable143(const QString &key_name) const
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;
@ -9793,7 +9891,9 @@ void MainObject::CreateFeedLog151(const QString &key_name) const
"CAST_ID int unsigned,"+
"ACCESS_DATE date,"+
"ACCESS_COUNT int unsigned default 0,"+
"index CAST_ID_IDX(CAST_ID,ACCESS_DATE))";
"index CAST_ID_IDX(CAST_ID,ACCESS_DATE))"+
" charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix;
q=new RDSqlQuery(sql);
delete q;
}