2021-04-26 Fred Gleason <fredg@paravelsystems.com>

* Fixed regressions that caused SQL errors when performing
	schema upgrades and reversions.
	* Disabled the reversion from schema 257=>256 in rddbmgr(8).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2021-04-26 15:29:00 -04:00
parent c8e0bd5bb0
commit cc3ae5c1eb
3 changed files with 19 additions and 10 deletions

View File

@ -21615,3 +21615,7 @@
2021-04-26 Fred Gleason <fredg@paravelsystems.com> 2021-04-26 Fred Gleason <fredg@paravelsystems.com>
* Added a check for zero length recordings to the 'Edit Recording' * Added a check for zero length recordings to the 'Edit Recording'
dialog in rdcatch(1). dialog in rdcatch(1).
2021-04-26 Fred Gleason <fredg@paravelsystems.com>
* Fixed regressions that caused SQL errors when performing
schema upgrades and reversions.
* Disabled the reversion from schema 257=>256 in rddbmgr(8).

View File

@ -2901,7 +2901,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
"`EVENT_NAME` char(64) not null,"+ "`EVENT_NAME` char(64) not null,"+
"`START_TIME` int not null,"+ "`START_TIME` int not null,"+
"`LENGTH` int not null,"+ "`LENGTH` int not null,"+
"`index EVENT_NAME_IDX` (`EVENT_NAME`))"+ "index `EVENT_NAME_IDX` (`EVENT_NAME`))"+
" charset latin1 collate latin1_swedish_ci"+ " charset latin1 collate latin1_swedish_ci"+
db_table_create_postfix; db_table_create_postfix;
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
@ -3541,25 +3541,25 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
if((cur_schema==284)&&(set_schema<cur_schema)) { if((cur_schema==284)&&(set_schema<cur_schema)) {
for(int i=9;i>=0;i--) { for(int i=9;i>=0;i--) {
sql=QString("alter table `RDAIRPLAY` add column ")+ sql=QString("alter table `RDAIRPLAY` add column ")+
QString().sprintf("`STOP_RML%d` char(255) after `INSTANCE`",i); QString().sprintf("`STOP_RML%d` char(255) after `STATION`",i);
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
} }
sql=QString("alter table `RDAIRPLAY` add column ")+ sql=QString("alter table `RDAIRPLAY` add column ")+
QString().sprintf("`START_RML%d` char(255) after `INSTANCE`",i); QString().sprintf("`START_RML%d` char(255) after `STATION`",i);
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
} }
sql=QString("alter table `RDAIRPLAY` add column ")+ sql=QString("alter table `RDAIRPLAY` add column ")+
QString().sprintf("`PORT%d` int default 0 after `INSTANCE`",i); QString().sprintf("`PORT%d` int default 0 after `STATION`",i);
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
} }
sql=QString("alter table `RDAIRPLAY` add column ")+ sql=QString("alter table `RDAIRPLAY` add column ")+
QString().sprintf("`CARD%d` int default 0 after `INSTANCE`",i); QString().sprintf("`CARD%d` int default 0 after `STATION`",i);
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
} }
@ -4269,6 +4269,11 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
// Revert 257 // Revert 257
// //
if((cur_schema==257)&&(set_schema<cur_schema)) { if((cur_schema==257)&&(set_schema<cur_schema)) {
/*
* Disabled because the constraint assumes null date/time values are
* indicated by zeroed fields --i.e. '0000-00-00 00:00:00'-- which
* are not legal in later versions of MySQL.
*
sql=QString("alter table `LOGS` modify column `LINK_DATETIME` datetime not null"); sql=QString("alter table `LOGS` modify column `LINK_DATETIME` datetime not null");
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
@ -4283,7 +4288,7 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
} }
*/
WriteSchemaVersion(--cur_schema); WriteSchemaVersion(--cur_schema);
} }

View File

@ -9863,7 +9863,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
return false; return false;
} }
sql=QString("alter table `RDLOGEDIT ")+ sql=QString("alter table `RDLOGEDIT` ")+
"modify column `OUTPUT_CARD` int(11) default 0"; "modify column `OUTPUT_CARD` int(11) default 0";
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
@ -9920,7 +9920,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
return false; return false;
} }
sql=QString("alter table `LOGS add column ")+ sql=QString("alter table `LOGS` add column ")+
"`INCLUDE_IMPORT_MARKERS` enum('N','Y') default 'Y' after `COMPLETED_TRACKS`"; "`INCLUDE_IMPORT_MARKERS` enum('N','Y') default 'Y' after `COMPLETED_TRACKS`";
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
@ -10130,7 +10130,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
// delete q; // delete q;
sql=QString("insert into `IMPORT_TEMPLATES` set ")+ sql=QString("insert into `IMPORT_TEMPLATES` set ")+
"`NAME='MusicMaster Nexus',"+ "`NAME`='MusicMaster Nexus',"+
"`HOURS_OFFSET`=0,"+ "`HOURS_OFFSET`=0,"+
"`HOURS_LENGTH`=2,"+ "`HOURS_LENGTH`=2,"+
"`MINUTES_OFFSET`=3,"+ "`MINUTES_OFFSET`=3,"+
@ -10362,7 +10362,7 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;
} }
sql=QString("alter table `FEEDS add column `DEFAULT_ITEM_IMAGE_ID` ")+ sql=QString("alter table `FEEDS` add column `DEFAULT_ITEM_IMAGE_ID` ")+
"int not null default -1 after `KEEP_METADATA`"; "int not null default -1 after `KEEP_METADATA`";
if(!RDSqlQuery::apply(sql,err_msg)) { if(!RDSqlQuery::apply(sql,err_msg)) {
return false; return false;