From db81e5d46437b591a49a1a9692519528dd26c6d9 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Mon, 27 May 2024 10:29:16 -0400 Subject: [PATCH] 2024-05-27 Fred Gleason * Changed the 'ELR_LINES.EXT_EVENT_ID' database field from 'varchar(8)' to 'varchar(32)'. * Incremented the database version to 375. * Fixed a bug in the 'Edit Service' dialog in rdadmin(1) that made it impossible to use a field width of greater than 8 for the 'Event ID' log import field. Signed-off-by: Fred Gleason --- ChangeLog | 7 +++++++ docs/tables/elr_lines.txt | 2 +- lib/dbversion.h | 2 +- rdadmin/importfields.cpp | 2 +- utils/rddbmgr/revertschema.cpp | 23 +++++++++++++++++++++++ utils/rddbmgr/schemamap.cpp | 1 + utils/rddbmgr/updateschema.cpp | 10 ++++++++++ 7 files changed, 44 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1b930333..19ed743f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24775,3 +24775,10 @@ * Added an 'RDWaveData::dump()' static method. * Fixed a regression in the audio importation system that could cause the detected length of an MPEG file to be '0'. +2024-05-27 Fred Gleason + * Changed the 'ELR_LINES.EXT_EVENT_ID' database field from + 'varchar(8)' to 'varchar(32)'. + * Incremented the database version to 375. + * Fixed a bug in the 'Edit Service' dialog in rdadmin(1) that made + it impossible to use a field width of greater than 8 for the + 'Event ID' log import field. diff --git a/docs/tables/elr_lines.txt b/docs/tables/elr_lines.txt index 5a0f2071..1f5c7dc8 100644 --- a/docs/tables/elr_lines.txt +++ b/docs/tables/elr_lines.txt @@ -38,5 +38,5 @@ EXT_START_TIME time Scheduler Start Time EXT_LENGTH int(11) Scheduler Length EXT_CART_NAME varchar(32) Scheduler Cart Name EXT_DATA varchar(32) Scheduler Data -EXT_EVENT_ID varchar(8) Scheduler Event ID +EXT_EVENT_ID varchar(32) Scheduler Event ID EXT_ANNC_TYPE varchar(8) External Scheduler Announcement Type diff --git a/lib/dbversion.h b/lib/dbversion.h index fed7da8d..04748dfc 100644 --- a/lib/dbversion.h +++ b/lib/dbversion.h @@ -24,7 +24,7 @@ /* * Current Database Version */ -#define RD_VERSION_DATABASE 374 +#define RD_VERSION_DATABASE 375 #endif // DBVERSION_H diff --git a/rdadmin/importfields.cpp b/rdadmin/importfields.cpp index 2957d573..4432cb50 100644 --- a/rdadmin/importfields.cpp +++ b/rdadmin/importfields.cpp @@ -333,7 +333,7 @@ ImportFields::ImportFields(RDSvc::ImportSource src,QWidget *parent) // event_id_length_spin=new QSpinBox(this); event_id_length_spin->setGeometry(285,190,50,19); - event_id_length_spin->setRange(0,8); + event_id_length_spin->setRange(0,32); label=new QLabel(tr("Length:"),this); label->setGeometry(230,190,50,19); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); diff --git a/utils/rddbmgr/revertschema.cpp b/utils/rddbmgr/revertschema.cpp index c6051223..2414eb7e 100644 --- a/utils/rddbmgr/revertschema.cpp +++ b/utils/rddbmgr/revertschema.cpp @@ -40,6 +40,29 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) // NEW SCHEMA REVERSIONS GO HERE... + // + // Revert 375 + // + if((cur_schema == 375) && (set_schema < cur_schema)) + { + // + // So we don't get truncation errors when modifying the column width + // + sql=QString("update `ELR_LINES` ")+ + "set `EXT_EVENT_ID`=substr(`EXT_EVENT_ID`,1,8)"; + 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; + } + + WriteSchemaVersion(--cur_schema); + } + // // Revert 374 // diff --git a/utils/rddbmgr/schemamap.cpp b/utils/rddbmgr/schemamap.cpp index cab10f80..7b585575 100644 --- a/utils/rddbmgr/schemamap.cpp +++ b/utils/rddbmgr/schemamap.cpp @@ -163,6 +163,7 @@ void MainObject::InitializeSchemaMap() { global_version_map["4.0"]=370; global_version_map["4.1"]=371; global_version_map["4.2"]=374; + global_version_map["4.3"]=375; } diff --git a/utils/rddbmgr/updateschema.cpp b/utils/rddbmgr/updateschema.cpp index 8e4950af..182c01ee 100644 --- a/utils/rddbmgr/updateschema.cpp +++ b/utils/rddbmgr/updateschema.cpp @@ -11460,6 +11460,16 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg) WriteSchemaVersion(++cur_schema); } + if((cur_schema<375)&&(set_schema>cur_schema)) { + sql=QString("alter table `ELR_LINES` ")+ + "modify column `EXT_EVENT_ID` varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + WriteSchemaVersion(++cur_schema); + } + // NEW SCHEMA UPDATES GO HERE...