From 69337e7612f093fdf462f1e110aa4dd563001379 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Tue, 18 Sep 2018 15:44:23 -0700 Subject: [PATCH 01/10] Fixed a regression in RDTimeEdit where highlighted background was not displaying properly --- lib/rdtimeedit.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/rdtimeedit.cpp b/lib/rdtimeedit.cpp index 952fd22a..a7368e53 100644 --- a/lib/rdtimeedit.cpp +++ b/lib/rdtimeedit.cpp @@ -47,12 +47,16 @@ RDTimeEdit::RDTimeEdit(QWidget *parent) setPalette(p); edit_labels[0]=new QLabel("00",this); edit_labels[0]->setAlignment(Qt::AlignCenter); + edit_labels[0]->setAutoFillBackground(true); edit_labels[1]=new QLabel("00",this); edit_labels[1]->setAlignment(Qt::AlignCenter); + edit_labels[1]->setAutoFillBackground(true); edit_labels[2]=new QLabel("00",this); edit_labels[2]->setAlignment(Qt::AlignCenter); + edit_labels[2]->setAutoFillBackground(true); edit_labels[3]=new QLabel("0",this); edit_labels[3]->setAlignment(Qt::AlignCenter); + edit_labels[3]->setAutoFillBackground(true); edit_sep_labels[0]=new QLabel(":",this); edit_sep_labels[0]->setAlignment(Qt::AlignCenter); edit_sep_labels[1]=new QLabel(":",this); From f820d118df0bf8f3827bd5c9b2adbc5845b7dda8 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Tue, 18 Sep 2018 19:42:54 -0700 Subject: [PATCH 02/10] Default event_start_time to 00:00:00.0 instead of null --- lib/rdevent_line.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rdevent_line.cpp b/lib/rdevent_line.cpp index c3d2e3d3..8423c541 100644 --- a/lib/rdevent_line.cpp +++ b/lib/rdevent_line.cpp @@ -310,7 +310,7 @@ void RDEventLine::clear() event_color=QColor(); event_preimport_list->clear(); event_postimport_list->clear(); - event_start_time=QTime(); + event_start_time=QTime(0,0,0,0); event_length=0; event_autofill_slop=-1; event_sched_group=""; From d927df30290ba2b73215b43e4f4b5a63e561f3c6 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Wed, 19 Sep 2018 18:31:47 -0700 Subject: [PATCH 03/10] Updated ChangeLog --- ChangeLog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index c471d992..bae0437a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17639,3 +17639,6 @@ that rd_listgroups shows all groups that the requesting user belongs to. 2018-09-17 Fred Gleason * Fixed a bug that broke the build. +2018-09-07 Patrick Linstruth + * Fixed a regression in RDTimeEdit where highlighted background was not + displaying properly. From c45c391df0852db5a702879527d26ea480ce66bb Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Thu, 20 Sep 2018 11:49:08 +0000 Subject: [PATCH 04/10] 2018-09-20 Fred Gleason * Corrected an omission in the documentation of the 'Start Button' ['PB'] RML. --- ChangeLog | 3 +++ docs/opsguide/rml.xml | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c471d992..bf28d03f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17639,3 +17639,6 @@ that rd_listgroups shows all groups that the requesting user belongs to. 2018-09-17 Fred Gleason * Fixed a bug that broke the build. +2018-09-20 Fred Gleason + * Corrected an omission in the documentation of the + 'Start Button' ['PB'] RML. diff --git a/docs/opsguide/rml.xml b/docs/opsguide/rml.xml index 1a37fb0f..a449e857 100644 --- a/docs/opsguide/rml.xml +++ b/docs/opsguide/rml.xml @@ -1784,12 +1784,13 @@ Mnemonic - PB + PB + button - Push an RDAirPlay Start button. + Push an RDAirPlay Start button (1-7, numbered from the top). PB From 9f4a5de081f4f23824d8f88b1c45ee1add0b5252 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Thu, 20 Sep 2018 11:55:59 +0000 Subject: [PATCH 05/10] 2018-09-20 Fred Gleason * Corrected an omission in the documentation of the 'Start Button' ['PB'] RML. --- docs/opsguide/rml.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/opsguide/rml.xml b/docs/opsguide/rml.xml index a449e857..ab8febd9 100644 --- a/docs/opsguide/rml.xml +++ b/docs/opsguide/rml.xml @@ -1784,8 +1784,7 @@ Mnemonic - PB - button + PB From ce5bd34838eb3873b66123e1353f7e85ae82b379 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Mon, 24 Sep 2018 11:53:32 -0700 Subject: [PATCH 06/10] Fixed regression with RDTransportButton and QPushButton events being lost while cue edits and playback are active. I have no idea why/how this fixes the problem. --- lib/rdedit_audio.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/rdedit_audio.cpp b/lib/rdedit_audio.cpp index ee02b2fe..57df2f3e 100644 --- a/lib/rdedit_audio.cpp +++ b/lib/rdedit_audio.cpp @@ -141,6 +141,7 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,int card, // Save Button // QPushButton *button=new QPushButton(this,"save_button"); + button->setFocusPolicy(Qt::NoFocus); button->setGeometry(EDITAUDIO_WIDGET_WIDTH-90,EDITAUDIO_WIDGET_HEIGHT-120, 80,50); button->setDefault(true); @@ -152,6 +153,7 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,int card, // Cancel Button // QPushButton *cancel_button=new QPushButton(this,"cancel_button"); + cancel_button->setFocusPolicy(Qt::NoFocus); cancel_button->setGeometry(EDITAUDIO_WIDGET_WIDTH-90, EDITAUDIO_WIDGET_HEIGHT-60,80,50); cancel_button->setDefault(true); @@ -164,6 +166,7 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,int card, // edit_play_cursor_button= new RDTransportButton(RDTransportButton::PlayBetween,this); + edit_play_cursor_button->setFocusPolicy(Qt::NoFocus); edit_play_cursor_button->setGeometry(20,425,65,45); edit_play_cursor_button->setEnabled((edit_card>=0)&&(edit_port>=0)); connect(edit_play_cursor_button,SIGNAL(clicked()), @@ -171,18 +174,21 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,int card, edit_play_start_button= new RDTransportButton(RDTransportButton::Play,this); + edit_play_start_button->setFocusPolicy(Qt::NoFocus); edit_play_start_button->setGeometry(90,425,65,45); edit_play_start_button->setEnabled((edit_card>=0)&&(edit_port>=0)); connect(edit_play_start_button,SIGNAL(clicked()), this,SLOT(playStartData())); edit_pause_button=new RDTransportButton(RDTransportButton::Pause,this); + edit_pause_button->setFocusPolicy(Qt::NoFocus); edit_pause_button->setGeometry(160,425,65,45); edit_pause_button->setOnColor(QColor(Qt::red)); edit_pause_button->setEnabled((edit_card>=0)&&(edit_port>=0)); connect(edit_pause_button,SIGNAL(clicked()),this,SLOT(pauseData())); edit_stop_button=new RDTransportButton(RDTransportButton::Stop,this); + edit_stop_button->setFocusPolicy(Qt::NoFocus); edit_stop_button->setGeometry(230,425,65,45); edit_stop_button->on(); edit_stop_button->setOnColor(QColor(Qt::red)); @@ -2286,8 +2292,10 @@ void RDEditAudio::UpdateCounters() (int)(1000.0*(double)((edit_cursors[RDEditAudio::Play]-baseline)*1152)/ (double)edit_sample_rate),true,true)); if(prev_cue_point!=RDEditAudio::Play) { - edit_cursor_edit[prev_cue_point]->clearFocus(); - edit_cursor_edit[prev_cue_point]->deselect(); + if(prev_cue_point!=edit_cue_point) { + edit_cursor_edit[prev_cue_point]->clearFocus(); + edit_cursor_edit[prev_cue_point]->deselect(); + } } switch(edit_cue_point) { From 3a5a20a9a43fecfc252467271fdbe84eb21a5c26 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Mon, 1 Oct 2018 08:05:55 -0400 Subject: [PATCH 07/10] Updated 'ChangeLog' --- ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ChangeLog b/ChangeLog index bf28d03f..e3190d66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17642,3 +17642,8 @@ 2018-09-20 Fred Gleason * Corrected an omission in the documentation of the 'Start Button' ['PB'] RML. +2018-10-01 Fred Gleason + * Applied a PR from Patrick Linstruth that + fixed a regression where the 'Stop' button would fail to function + after enabling a pointer counter in rdlibrary(1)'s Edit Audio + dialog [GibHub PR #000239]. From a564d0c0fcc77efb2e042dcec370792b4f283eda Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Wed, 3 Oct 2018 18:13:51 -0400 Subject: [PATCH 08/10] 2018-10-03 Fred Gleason * Changed all instances of 'char' to 'varchar' in the database. * Changed the width of the 'CART.TITLE' field to 191. * Changed the width of the 'CART.ARTIST' field to 191. * Changed the width of the 'CART.ALBUM' field to 191. * Changed the width of the 'CART.USER_DEFINED' field to 191. * Changed the width of the 'CUTS.ORIGIN_LOGIN_NAME' field to 191. * Changed the width of the 'DROPBOXES.PATH' field to 191. * Changed the width of the 'DROPBOXES.LOG_PATH' field to 191. * Changed the width of the 'DROPBOXES.SET_USER_DEFINED' field to 191. * Changed the width of the 'DROPBOX_PATHS.FILE_PATH' field to 191. * Changed the width of the 'ELR_LINES.TITLE' field to 191. * Changed the width of the 'ELR_LINES.ARTIST' field to 191. * Changed the width of the 'ELR_LINES.USER_DEFINED' field to 191. * Changed the width of the 'ELR_LINES.ALBUM' field to 191. * Changed the width of the 'ENCODERS.COMMAND_LINE' field to 191. * Changed the width of the 'EVENTS.NOTE_TEXT' field to 191. * Changed the width of the 'EVENT_LINES.MARKER_COMMENT' field to 191. * Changed the width of the 'FEEDS.CHANNEL_TITLE' field to 191. * Changed the width of the 'FEEDS.CHANNEL_LINK' field to 191. * Changed the width of the 'FEEDS.BASE_URL' field to 191. * Changed the width of the 'FEEDS.BASE_PREAMBLE' field to 191. * Changed the width of the 'FEEDS.PURGE_URL' field to 191. * Changed the width of the 'FEEDS.REDIRECT_PATH' field to 191. * Changed the width of the 'FEED_PERMS.USER_NAME' field to 191. * Changed the width of the 'GROUPS.DESCRIPTION' field to 191. * Changed the width of the 'GROUPS.DEFAULT_TITLE' field to 191. * Changed the width of the 'HOSTVARS.VARVALUE' field to 191. * 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 '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. * Changed the width of the 'LOG_LINES.ORIGIN_USER' field to 191. * Changed the width of the 'LOG_MACHINES.UDP_ADDR' field to 191. * Changed the width of the 'LOG_MACHINES.UDP_STRING' field to 191. * Changed the width of the 'LOG_MACHINES.LOG_RML' field to 191. * 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 '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. * Changed the width of the 'PODCASTS.ITEM_AUTHOR' field to 191. * Changed the width of the 'PODCASTS.ITEM_SOURCE_URL' field to 191. * Changed the width of the 'PODCASTS.AUDIO_FILENAME' field to 191. * Changed the width of the 'RDAIRPLAY.SKIN_PATH' field to 191. * Changed the width of the 'RDAIRPLAY_CHANNELS.START_RML' field to 191. * Changed the width of the 'RDAIRPLAY_CHANNELS.STOP_RML' field to 191. * Changed the width of the 'RDCATCH.ERROR_RML' field to 191. * Changed the width of the 'RDPANEL.SKIN_PATH' field to 191. * Changed the width of the 'RDPANEL_CHANNELS.START_RML' field to 191. * Changed the width of the 'RDPANEL_CHANNELS.STOP_RML' field to 191. * Changed the width of the 'RECORDINGS.URL' field to 191. * Changed the width of the 'REPLICATORS.URL' field to 191. * Changed the width of the 'REPL_CART_STATE.POSTED_FILENAME' field to 191. * Changed the width of the 'REPORTS.EXPORT_PATH' field to 191. * Changed the width of the 'REPORTS.WIN_EXPORT_PATH' field to 191. * Changed the width of the 'SERVICES.DESCRIPTION' field to 191. * Changed the width of the 'SERVICES.NAME_TEMPLATE' field to 191. * Changed the width of the 'SERVICES.DESCRIPTION_TEMPLATE' field to 191. * Changed the width of the 'SERVICES.PROGRAM_CODE' field to 191. * Changed the width of the 'SERVICES.TFC_PATH' field to 191. * 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 '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. * Changed the width of the 'STATIONS.JACK_COMMAND_LINE' field to 191. * Changed the width of the 'SWITCHER_NODES.DESCRIPTION' field to 191. * Changed the width of the 'SYSTEM.ISCI_XREFERENCE_PATH' field to 191. * Changed the width of the 'USERS.LOGIN_NAME' field to 191. * Changed the width of the 'USERS.FULL_NAME' field to 191. * Changed the width of the 'USERS.DESCRIPTION' field to 191. * Changed the width of the 'USER_PERMS.USER_NAME' field to 191. * 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. * Incremented the database version to 297. * Changed the default DB charset to 'utf8mb4'. * Changed the default DB collation to 'utf8mb4_general_ci'. * Removed the MYSQL_BUILTIN_DATABASE define from 'lib/rd.h'. * Removed the POSTGRESQL_BUILTIN_DATABASE define from 'lib/rd.h'. --- ChangeLog | 88 ++ conf/rd.conf-sample | 4 +- docs/tables/Makefile.am | 21 +- docs/tables/audio_cards.txt | 4 +- docs/tables/audio_inputs.txt | 2 +- docs/tables/audio_outputs.txt | 2 +- docs/tables/audio_perms.txt | 4 +- docs/tables/autofills.txt | 12 + docs/tables/aux_metadata.txt | 12 + docs/tables/cart.txt | 31 +- docs/tables/cartslots.txt | 4 +- docs/tables/cast_downloads.txt | 2 +- docs/tables/clipboard.txt | 8 +- docs/tables/clock_lines.txt | 4 +- docs/tables/clock_perms.txt | 4 +- docs/tables/clocks.txt | 12 + docs/tables/copy_splits.txt | 14 - docs/tables/cut_events.txt | 2 +- docs/tables/cuts.txt | 21 +- docs/tables/deck_events.txt | 2 +- docs/tables/decks.txt | 4 +- docs/tables/dropbox_paths.txt | 2 +- docs/tables/dropbox_sched_codes.txt | 2 +- docs/tables/dropboxes.txt | 12 +- docs/tables/elr_lines.txt | 40 +- docs/tables/encoders.txt | 11 +- docs/tables/event_lines.txt | 4 +- docs/tables/event_perms.txt | 11 + docs/tables/events.txt | 31 + docs/tables/extended_panel_names.txt | 7 +- docs/tables/extended_panels.txt | 16 + docs/tables/feed_perms.txt | 7 +- docs/tables/feeds.txt | 38 + docs/tables/gpio_events.txt | 2 +- docs/tables/gpis.txt | 5 +- docs/tables/gpos.txt | 5 +- docs/tables/groups.txt | 11 +- docs/tables/hostvars.txt | 12 + docs/tables/import_templates.txt | 32 + docs/tables/importer_lines.txt | 14 +- docs/tables/inputs.txt | 19 + docs/tables/isci_xreference.txt | 14 +- docs/tables/jack_clients.txt | 6 +- docs/tables/livewire_gpio_slots.txt | 4 +- docs/tables/log_lines.txt | 18 +- docs/tables/log_machines.txt | 12 +- docs/tables/log_modes.txt | 2 +- docs/tables/logs.txt | 16 +- docs/tables/matrices.txt | 36 + docs/tables/nownext_plugins.txt | 9 +- docs/tables/outputs.txt | 17 + docs/tables/panel_names.txt | 7 +- docs/tables/panels.txt | 8 +- docs/tables/podcasts.txt | 23 + docs/tables/rd_airplay.txt | 17 +- docs/tables/rd_catch.txt | 4 +- docs/tables/rd_library.txt | 6 +- docs/tables/rd_logedit.txt | 3 +- docs/tables/rdairplay_channels.txt | 6 +- docs/tables/rdhotkeys.txt | 12 + docs/tables/rdpanel.txt | 16 + docs/tables/rdpanel_channels.txt | 6 +- docs/tables/recordings.txt | 12 +- docs/tables/repl_cart_state.txt | 4 +- docs/tables/repl_cut_state.txt | 4 +- docs/tables/replicators.txt | 12 +- docs/tables/report_groups.txt | 10 + docs/tables/report_services.txt | 10 + docs/tables/report_stations.txt | 10 + docs/tables/reports.txt | 14 +- docs/tables/service_clocks.txt | 4 +- docs/tables/service_perms.txt | 11 + docs/tables/services.txt | 44 +- docs/tables/stack_lines.txt | 2 +- docs/tables/stations.txt | 29 +- docs/tables/switcher_nodes.txt | 15 + docs/tables/system.txt | 8 +- docs/tables/triggers.txt | 3 +- docs/tables/ttys.txt | 6 +- docs/tables/user_perms.txt | 8 +- docs/tables/user_service_perms.txt | 4 +- docs/tables/users.txt | 17 +- docs/tables/vguest_resources.txt | 3 +- docs/tables/web_connections.txt | 4 +- lib/dbversion.h | 2 +- lib/rd.h | 6 +- utils/rddbmgr/create.cpp | 7 + utils/rddbmgr/revertschema.cpp | 1767 ++++++++++++++++++++++++++ utils/rddbmgr/schemamap.cpp | 2 +- utils/rddbmgr/updateschema.cpp | 1764 +++++++++++++++++++++++++ 90 files changed, 4262 insertions(+), 300 deletions(-) create mode 100644 docs/tables/autofills.txt create mode 100644 docs/tables/aux_metadata.txt create mode 100644 docs/tables/clocks.txt delete mode 100644 docs/tables/copy_splits.txt create mode 100644 docs/tables/event_perms.txt create mode 100644 docs/tables/events.txt create mode 100644 docs/tables/extended_panels.txt create mode 100644 docs/tables/feeds.txt create mode 100644 docs/tables/hostvars.txt create mode 100644 docs/tables/import_templates.txt create mode 100644 docs/tables/inputs.txt create mode 100644 docs/tables/matrices.txt create mode 100644 docs/tables/outputs.txt create mode 100644 docs/tables/podcasts.txt create mode 100644 docs/tables/rdhotkeys.txt create mode 100644 docs/tables/rdpanel.txt create mode 100644 docs/tables/report_groups.txt create mode 100644 docs/tables/report_services.txt create mode 100644 docs/tables/report_stations.txt create mode 100644 docs/tables/service_perms.txt create mode 100644 docs/tables/switcher_nodes.txt diff --git a/ChangeLog b/ChangeLog index 7467919c..1e34b6f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17650,3 +17650,91 @@ 2018-10-01 Patrick Linstruth * Fixed a regression in RDTimeEdit where highlighted background was not displaying properly. +2018-10-03 Fred Gleason + * Changed all instances of 'char' to 'varchar' in the database. + * Changed the width of the 'CART.TITLE' field to 191. + * Changed the width of the 'CART.ARTIST' field to 191. + * Changed the width of the 'CART.ALBUM' field to 191. + * Changed the width of the 'CART.USER_DEFINED' field to 191. + * Changed the width of the 'CUTS.ORIGIN_LOGIN_NAME' field to 191. + * Changed the width of the 'DROPBOXES.PATH' field to 191. + * Changed the width of the 'DROPBOXES.LOG_PATH' field to 191. + * Changed the width of the 'DROPBOXES.SET_USER_DEFINED' field to 191. + * Changed the width of the 'DROPBOX_PATHS.FILE_PATH' field to 191. + * Changed the width of the 'ELR_LINES.TITLE' field to 191. + * Changed the width of the 'ELR_LINES.ARTIST' field to 191. + * Changed the width of the 'ELR_LINES.USER_DEFINED' field to 191. + * Changed the width of the 'ELR_LINES.ALBUM' field to 191. + * Changed the width of the 'ENCODERS.COMMAND_LINE' field to 191. + * Changed the width of the 'EVENTS.NOTE_TEXT' field to 191. + * Changed the width of the 'EVENT_LINES.MARKER_COMMENT' field to 191. + * Changed the width of the 'FEEDS.CHANNEL_TITLE' field to 191. + * Changed the width of the 'FEEDS.CHANNEL_LINK' field to 191. + * Changed the width of the 'FEEDS.BASE_URL' field to 191. + * Changed the width of the 'FEEDS.BASE_PREAMBLE' field to 191. + * Changed the width of the 'FEEDS.PURGE_URL' field to 191. + * Changed the width of the 'FEEDS.REDIRECT_PATH' field to 191. + * Changed the width of the 'FEED_PERMS.USER_NAME' field to 191. + * Changed the width of the 'GROUPS.DESCRIPTION' field to 191. + * Changed the width of the 'GROUPS.DEFAULT_TITLE' field to 191. + * Changed the width of the 'HOSTVARS.VARVALUE' field to 191. + * 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 '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. + * Changed the width of the 'LOG_LINES.ORIGIN_USER' field to 191. + * Changed the width of the 'LOG_MACHINES.UDP_ADDR' field to 191. + * Changed the width of the 'LOG_MACHINES.UDP_STRING' field to 191. + * Changed the width of the 'LOG_MACHINES.LOG_RML' field to 191. + * 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 '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. + * Changed the width of the 'PODCASTS.ITEM_AUTHOR' field to 191. + * Changed the width of the 'PODCASTS.ITEM_SOURCE_URL' field to 191. + * Changed the width of the 'PODCASTS.AUDIO_FILENAME' field to 191. + * Changed the width of the 'RDAIRPLAY.SKIN_PATH' field to 191. + * Changed the width of the 'RDAIRPLAY_CHANNELS.START_RML' field to 191. + * Changed the width of the 'RDAIRPLAY_CHANNELS.STOP_RML' field to 191. + * Changed the width of the 'RDCATCH.ERROR_RML' field to 191. + * Changed the width of the 'RDPANEL.SKIN_PATH' field to 191. + * Changed the width of the 'RDPANEL_CHANNELS.START_RML' field to 191. + * Changed the width of the 'RDPANEL_CHANNELS.STOP_RML' field to 191. + * Changed the width of the 'RECORDINGS.URL' field to 191. + * Changed the width of the 'REPLICATORS.URL' field to 191. + * Changed the width of the 'REPL_CART_STATE.POSTED_FILENAME' field + to 191. + * Changed the width of the 'REPORTS.EXPORT_PATH' field to 191. + * Changed the width of the 'REPORTS.WIN_EXPORT_PATH' field to 191. + * Changed the width of the 'SERVICES.DESCRIPTION' field to 191. + * Changed the width of the 'SERVICES.NAME_TEMPLATE' field to 191. + * Changed the width of the 'SERVICES.DESCRIPTION_TEMPLATE' field to 191. + * Changed the width of the 'SERVICES.PROGRAM_CODE' field to 191. + * Changed the width of the 'SERVICES.TFC_PATH' field to 191. + * 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 '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. + * Changed the width of the 'STATIONS.JACK_COMMAND_LINE' field to 191. + * Changed the width of the 'SWITCHER_NODES.DESCRIPTION' field to 191. + * Changed the width of the 'SYSTEM.ISCI_XREFERENCE_PATH' field to 191. + * Changed the width of the 'USERS.LOGIN_NAME' field to 191. + * Changed the width of the 'USERS.FULL_NAME' field to 191. + * Changed the width of the 'USERS.DESCRIPTION' field to 191. + * Changed the width of the 'USER_PERMS.USER_NAME' field to 191. + * 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. + * Incremented the database version to 297. + * Changed the default DB charset to 'utf8mb4'. + * Changed the default DB collation to 'utf8mb4_general_ci'. + * Removed the MYSQL_BUILTIN_DATABASE define from 'lib/rd.h'. + * Removed the POSTGRESQL_BUILTIN_DATABASE define from 'lib/rd.h'. diff --git a/conf/rd.conf-sample b/conf/rd.conf-sample index a40e859b..50c10ef8 100644 --- a/conf/rd.conf-sample +++ b/conf/rd.conf-sample @@ -34,8 +34,8 @@ HeartbeatInterval=360 ;Engine=MyISAM ; 'Charset' and 'Collation' should *not* changed except for development ; purposes. -;Charset=utf8 -;Collation=utf8_general_ci +;Charset=utf8mb4 +;Collation=utf8mb4_general_ci [AudioStore] MountSource= diff --git a/docs/tables/Makefile.am b/docs/tables/Makefile.am index 3b1e05d9..1d94a0da 100644 --- a/docs/tables/Makefile.am +++ b/docs/tables/Makefile.am @@ -24,13 +24,15 @@ EXTRA_DIST = audio_cards.txt\ audio_inputs.txt\ audio_outputs.txt\ audio_perms.txt\ + autofills.txt\ + aux_metadata.txt\ cart.txt\ cartslots.txt\ cast_downloads.txt\ clipboard.txt\ clock_lines.txt\ clock_perms.txt\ - copy_splits.txt\ + clocks.txt\ cut_events.txt\ cuts.txt\ deck_events.txt\ @@ -44,13 +46,20 @@ EXTRA_DIST = audio_cards.txt\ encoder_samplerates.txt\ encoders.txt\ event_lines.txt\ + event_perms.txt\ + events.txt\ extended_panel_names.txt\ + extended_panels.txt\ feed_perms.txt\ + feeds.txt\ gpio_events.txt\ gpis.txt\ gpos.txt\ groups.txt\ + hostvars.txt\ importer_lines.txt\ + import_templates.txt\ + inputs.txt\ isci_xreference.txt\ jack_clients.txt\ livewire_gpio_slots.txt\ @@ -58,27 +67,37 @@ EXTRA_DIST = audio_cards.txt\ log_modes.txt\ log_lines.txt\ logs.txt\ + matrices.txt\ nownext_plugins.txt\ + outputs.txt\ panels.txt\ panel_names.txt\ + podcasts.txt\ rdairplay_channels.txt\ rd_airplay.txt\ rd_catch.txt\ + rdhotkeys.txt\ rd_library.txt\ rd_logedit.txt\ rdpanel_channels.txt\ + rdpanel.txt\ recordings.txt\ repl_cart_state.txt\ repl_cut_state.txt\ replicator_map.txt\ replicators.txt\ + report_groups.txt\ + report_services.txt\ + report_stations.txt\ reports.txt\ rule_lines.txt\ service_clocks.txt\ + service_perms.txt\ services.txt\ sources.txt\ stack_lines.txt\ stations.txt\ + switcher_nodes.txt\ system.txt\ triggers.txt\ ttys.txt\ diff --git a/docs/tables/audio_cards.txt b/docs/tables/audio_cards.txt index 7791c17f..26ab92d4 100644 --- a/docs/tables/audio_cards.txt +++ b/docs/tables/audio_cards.txt @@ -6,10 +6,10 @@ physical audio interfaces. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) +STATION_NAME varchar(64) CARD_NUMBER int(11) signed DRIVER int(11) signed -NAME char(64) +NAME varchar(64) INPUTS int(11) signed OUTPUTS int(11) signed CLOCK_SOURCE int(11) signed 0 = Internal, 1 = AES/EBU, diff --git a/docs/tables/audio_inputs.txt b/docs/tables/audio_inputs.txt index 953c939c..1433ec57 100644 --- a/docs/tables/audio_inputs.txt +++ b/docs/tables/audio_inputs.txt @@ -6,7 +6,7 @@ physical audio inputs. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) +STATION_NAME varchar(64) CARD_NUMBER int(11) signed PORT_NUMBER int(11) signed TYPE int(11) signed 0 = Analog, 1 = AES/EBU, diff --git a/docs/tables/audio_outputs.txt b/docs/tables/audio_outputs.txt index dcffca1a..96f2e02e 100644 --- a/docs/tables/audio_outputs.txt +++ b/docs/tables/audio_outputs.txt @@ -6,7 +6,7 @@ physical audio outputs. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) +STATION_NAME varchar(64) CARD_NUMBER int(11) signed PORT_NUMBER int(11) signed LEVEL int(11) signed Gain offset, in 1/100 dB diff --git a/docs/tables/audio_perms.txt b/docs/tables/audio_perms.txt index f632e113..b19e9367 100644 --- a/docs/tables/audio_perms.txt +++ b/docs/tables/audio_perms.txt @@ -8,5 +8,5 @@ in the AUDIO_PERMS table: FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -GROUP_NAME char(10) Index -SERVICE_NAME char(10) Index +GROUP_NAME varchar(10) Index +SERVICE_NAME varchar(10) Index diff --git a/docs/tables/autofills.txt b/docs/tables/autofills.txt new file mode 100644 index 00000000..2f3e2e7a --- /dev/null +++ b/docs/tables/autofills.txt @@ -0,0 +1,12 @@ + AUTOFILLS Table Layout for Rivendell + +The AUTOFILLS table holds data concerning which carts should be used +to fill available time when 'Autofill' is enabled in an rdlogmanager(1) +event. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(11) Primary key, auto increment +SERVICE varchar(10) Index +CART_NUMBER int(10) unsigned Index diff --git a/docs/tables/aux_metadata.txt b/docs/tables/aux_metadata.txt new file mode 100644 index 00000000..f3d3b5b0 --- /dev/null +++ b/docs/tables/aux_metadata.txt @@ -0,0 +1,12 @@ + AUX_METADATA Table Layout for Rivendell + +The AUX_METADATA table holds data concerning auxiliary data fields +associated with podcast feeds. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary key, auto increment +FEED_ID int(10) unsigned From FEEDS.ID +VAR_NAME varchar(16) +CAPTION varchar(64) diff --git a/docs/tables/cart.txt b/docs/tables/cart.txt index e0b247d5..3ba4e4bf 100644 --- a/docs/tables/cart.txt +++ b/docs/tables/cart.txt @@ -2,25 +2,25 @@ The CARTS table holds data concerning all of the available events in a Rivendell system that are capable of being individually -scheduled. Following is the layout of a record in the CARTS table: +scheduled. FIELD NAME TYPE REMARKS -------------------------------------------------------------------------- NUMBER int(10) unsigned Primary key TYPE int(10) unsigned 1 = Audio, 2 = Command, 3 = Split -GROUP_NAME char(10) Index -TITLE char(255) Index -ARTIST char(255) Index -ALBUM char(255) Name of release album +GROUP_NAME varchar(10) Index +TITLE varchar(191) Index +ARTIST varchar(191) Index +ALBUM varchar(191) Name of release album YEAR date Year of release -CONDUCTOR char(64) -LABEL char(64) Release Record Label -CLIENT char(64) Index -AGENCY char(64) Index -PUBLISHER char(64) Index -COMPOSER char(64) Index -USER_DEFINED char(255) For use by local user -SONG_ID char(32) +CONDUCTOR varchar(64) +LABEL varchar(64) Release Record Label +CLIENT varchar(64) Index +AGENCY varchar(64) Index +PUBLISHER varchar(64) Index +COMPOSER varchar(64) Index +USER_DEFINED varchar(191) For use by local user +SONG_ID varchar(32) BPM int(10) unsigned Beats per minute USAGE_CODE int(11) 0=Feature, 1=Theme Open, 2=Theme Close, 3=Theme Open/Close, @@ -41,12 +41,13 @@ ENFORCE_LENGTH enum('N','Y') Timeshift? PRESERVE_PITCH enum('N','Y') Preserve Pitch? USE_WEIGHTING enum('N','Y') ASYNCRONOUS enum('N','Y') -OWNER char(64) From LOGS.NAME or STATIONS.NAME +OWNER varchar(64) From LOGS.NAME or STATIONS.NAME MACROS text RML Macros +SCHED_CODES varchar(255) NOTES text User notes (freeform) METADATA_DATETIME datetime Metadata last modified USE_EVENT_LENGTH enum('N','Y') Use RDLogManager event lengths for macro cart PAD updates. -PENDING_STATION char(64) +PENDING_STATION varchar(64) PENDING_DATETIME datetime PENDING_PID int(11) diff --git a/docs/tables/cartslots.txt b/docs/tables/cartslots.txt index f9e79eaf..d6245c09 100644 --- a/docs/tables/cartslots.txt +++ b/docs/tables/cartslots.txt @@ -7,7 +7,7 @@ CARTS table: FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned Primary key, Auto Increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME SLOT_NUMBER int(10) unsigned MODE int(11) signed 0=Cart Deck, 1=Breakaway DEFAULT_MODE int(11) signed -1=Previous, 0=Cart Deck, 1=Breakaway @@ -17,7 +17,7 @@ CART_NUMBER int(11) signed DEFAULT_CART_NUMBER int(11) signed -1=Previous, 0=None, >0=Cart HOOK_MODE int(11) signed DEFAULT_HOOK_MODE int(11) signed -1=Previous, 0=Off, 1=On -SERVICE_NAME char(10) From SERVICES.NAME +SERVICE_NAME varchar(10) From SERVICES.NAME CARD int(11) signed INPUT_PORT int(11) signed OUTPUT_PORT int(11) signed diff --git a/docs/tables/cast_downloads.txt b/docs/tables/cast_downloads.txt index 7c695e28..c6016e22 100644 --- a/docs/tables/cast_downloads.txt +++ b/docs/tables/cast_downloads.txt @@ -6,7 +6,7 @@ The CAST_DOWNLOADS table holds data concerning downloads of podcast episodes. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned Primary key, Auto Increment -FEED_KEY_NAME char(8) From FEEDS.KEY_NAME +FEED_KEY_NAME varchar(8) From FEEDS.KEY_NAME CAST_ID int(10) unsigned From PODCASTS.ID ACCESS_DATE date ACCESS_COUNT int(10) unsigned diff --git a/docs/tables/clipboard.txt b/docs/tables/clipboard.txt index 0e33af53..04afbf32 100644 --- a/docs/tables/clipboard.txt +++ b/docs/tables/clipboard.txt @@ -6,13 +6,13 @@ layout of a record in the CLIPBOARD table: FIELD NAME TYPE REMARKS --------------------------------------------------------------- -CUT_NAME char(12) * Primary key, Base name of WAV file +CUT_NAME varchar(12) * Primary key, Base name of WAV file CART_NUMBER int(10) unsigned Parent Cart Entry, Indexed -DESCRIPTION char(64) Indexed -OUTCUE char(64) Indexed +DESCRIPTION varchar(64) Indexed +OUTCUE varchar(64) Indexed LENGTH int(10) unsigned Overall length in ms. ORIGIN_DATETIME datetime Date/Time when recorded -ORIGIN_NAME char(64) Workstation ID where recorded +ORIGIN_NAME varchar(64) Workstation ID where recorded WEIGHT int(10) unsigned Relative airplay frequency, 1 = normal LAST_PLAY_DATETIME datetime PLAY_COUNTER int(10) unsigned diff --git a/docs/tables/clock_lines.txt b/docs/tables/clock_lines.txt index e00d0d34..f73369d1 100644 --- a/docs/tables/clock_lines.txt +++ b/docs/tables/clock_lines.txt @@ -6,7 +6,7 @@ The CLOCK_PERMS table holds per-line data for clocks in RDLogManager. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -CLOCK_NAME char(64) From CLOCKS.NAME -EVENT_NAME char(64) From EVENTS.NAME +CLOCK_NAME varchar(64) From CLOCKS.NAME +EVENT_NAME varchar(64) From EVENTS.NAME START_TIME int(11) LENGTH int(11) diff --git a/docs/tables/clock_perms.txt b/docs/tables/clock_perms.txt index 1ed682a7..89677ba4 100644 --- a/docs/tables/clock_perms.txt +++ b/docs/tables/clock_perms.txt @@ -8,5 +8,5 @@ in the CLOCK_PERMS table: FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -CLOCK_NAME char(64) Index -SERVICE_NAME char(10) Index +CLOCK_NAME varchar(64) Index +SERVICE_NAME varchar(10) Index diff --git a/docs/tables/clocks.txt b/docs/tables/clocks.txt new file mode 100644 index 00000000..aaec0ca0 --- /dev/null +++ b/docs/tables/clocks.txt @@ -0,0 +1,12 @@ + CLOCKS Table Layout for Rivendell + +The CLOCKS table holds data defining each clock in RDLogManager. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +NAME varchar(64) Primary key +SHORT_NAME varchar(8) +ARTISTSEP int(10) unsigned +COLOR varchar(7) +REMARKS text diff --git a/docs/tables/copy_splits.txt b/docs/tables/copy_splits.txt deleted file mode 100644 index 098dd5cb..00000000 --- a/docs/tables/copy_splits.txt +++ /dev/null @@ -1,14 +0,0 @@ - COPY_SPLITS Table Layout for Rivendell - -The COPY_SPLITS table holds data concerning the National=>Regional -copy mapping for the copy-split subsystem. - - -FIELD NAME TYPE REMARKS -------------------------------------------------------------------- -ID int unsigned(10) Primary key -SLOT int unsigned(10) -CART_NUMBER int unsigned(10) From CART.NUMBER -ISCI_CODE char(32) -DESCRIPTION char(255) -FILENAME char(64) diff --git a/docs/tables/cut_events.txt b/docs/tables/cut_events.txt index 9bad0cb1..e882a031 100644 --- a/docs/tables/cut_events.txt +++ b/docs/tables/cut_events.txt @@ -5,6 +5,6 @@ The CUT_EVENTS table holds data concerning per-cut meta events. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(11) Primary key, auto increment -CUT_NAME char(12) From CUTS.CUT_NAME +CUT_NAME varchar(12) From CUTS.CUT_NAME NUMBER int(11) signed POINT int(11) signed mS from audio start diff --git a/docs/tables/cuts.txt b/docs/tables/cuts.txt index 024e625c..1960cbd8 100644 --- a/docs/tables/cuts.txt +++ b/docs/tables/cuts.txt @@ -2,19 +2,18 @@ The CUTS table holds data concerning each individual audio cut on the system, as opposed to CART (where individual entries may reference -more than one cut, as in the case of rotators). Following is the -layout of a record in the CUTS table: +more than one cut, as in the case of rotators). FIELD NAME TYPE REMARKS --------------------------------------------------------------- -CUT_NAME char(12) * Primary key, Base name of WAV file +CUT_NAME varchar(12) * Primary key, Base name of WAV file CART_NUMBER int(10) unsigned Parent Cart Entry, Indexed EVERGREEN enum('N','Y') -DESCRIPTION char(64) Indexed -OUTCUE char(64) Indexed -ISRC char(12) International Standard Recording Code -ISCI char(32) ISCI Code -SHA1_HASH char(40) +DESCRIPTION varchar(64) Indexed +OUTCUE varchar(64) Indexed +ISRC varchar(12) International Standard Recording Code +ISCI varchar(32) ISCI Code +SHA1_HASH varchar(40) LENGTH int(10) unsigned Overall length in ms. ORIGIN_DATETIME datetime Date/Time when recorded START_DATETIME datetime @@ -28,9 +27,9 @@ WED enum('N','Y') THU enum('N','Y') FRI enum('N','Y') SAT enum('N','Y') -ORIGIN_NAME char(64) Workstation ID where recorded -ORIGIN_LOGIN_NAME char(255) From USERS.LOGIN_NAME -SOURCE_HOSTNAME char(255) Hostname of remote originator of audio +ORIGIN_NAME varchar(64) Workstation ID where recorded +ORIGIN_LOGIN_NAME varchar(191) From USERS.LOGIN_NAME +SOURCE_HOSTNAME varchar(191) Hostname of remote originator of audio WEIGHT int(10) unsigned Relative airplay frequency, 1 = normal PLAY_ORDER int(11) Play order when weighting disabled LAST_PLAY_DATETIME datetime diff --git a/docs/tables/deck_events.txt b/docs/tables/deck_events.txt index aa5d9a10..59e94d52 100644 --- a/docs/tables/deck_events.txt +++ b/docs/tables/deck_events.txt @@ -6,7 +6,7 @@ events. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(11) Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME CHANNEL int(10) unsigned From DECKS.CHANNEL NUMBER int(11) signed CART_NUMBER int(10) unsigned diff --git a/docs/tables/decks.txt b/docs/tables/decks.txt index 73828ebd..eedf9b3a 100644 --- a/docs/tables/decks.txt +++ b/docs/tables/decks.txt @@ -6,7 +6,7 @@ recording interface on the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME CHANNEL int(10) unsigned 0 = Audition Channel CARD_NUMBER int(11) signed -1 = None Assigned STREAM_NUMBER int(11) signed -1 = None Assigned @@ -18,7 +18,7 @@ DEFAULT_FORMAT int(10) signed DEFAULT_CHANNELS int(10) signed DEFAULT_BITRATE int(10) signed DEFAULT_THRESHOLD int(10) signed -SWITCH_STATION char(64) From OUTPUTS.STATION_NAME +SWITCH_STATION varchar(64) From OUTPUTS.STATION_NAME SWITCH_MATRIX int(11) From OUTPUTS.MATRIX SWITCH_OUTPUT int(11) From OUTPUTS.NUMBER SWITCH_DELAY int(10) unsigned diff --git a/docs/tables/dropbox_paths.txt b/docs/tables/dropbox_paths.txt index 53a67924..f557a3b3 100644 --- a/docs/tables/dropbox_paths.txt +++ b/docs/tables/dropbox_paths.txt @@ -7,5 +7,5 @@ FIELD NAME TYPE REMARKS ID int(11) Primary Key, Not Null, Unique Auto-Increment DROPBOX_ID int(11) From DROPBOXES.ID -FILE_PATH char(255) +FILE_PATH varchar(191) FILE_DATETIME datetime diff --git a/docs/tables/dropbox_sched_codes.txt b/docs/tables/dropbox_sched_codes.txt index 0e84faa7..47a706df 100644 --- a/docs/tables/dropbox_sched_codes.txt +++ b/docs/tables/dropbox_sched_codes.txt @@ -8,4 +8,4 @@ FIELD NAME TYPE REMARKS ID int(11) Primary Key, Not Null, Unique Auto-Increment DROPBOX_ID int(11) From DROPBOXES.ID -SCHED_CODE char(11) +SCHED_CODE varchar(11) diff --git a/docs/tables/dropboxes.txt b/docs/tables/dropboxes.txt index d82ef8c0..f77eb466 100644 --- a/docs/tables/dropboxes.txt +++ b/docs/tables/dropboxes.txt @@ -6,9 +6,9 @@ FIELD NAME TYPE REMARKS ------------------------------------------------------------------------- ID int(11) Primary Key, Not Null, Unique Auto-Increment -STATION_NAME char(64) From STATIONS.NAME -GROUP_NAME char(10) From GROUPS.NAME -PATH char(255) +STATION_NAME varchar(64) From STATIONS.NAME +GROUP_NAME varchar(10) From GROUPS.NAME +PATH varchar(191) NORMALIZATION_LEVEL int(11) AUTOTRIM_LEVEL int(11) SINGLE_CART enum('N','Y') @@ -20,12 +20,12 @@ USE_CARTCHUNK_ID enum('N','Y') TITLE_FROM_CARTCHUNK_ID enum('N','Y') Set Rivendell cart title from cartchunk cutid. DELETE_CUTS enum('N','Y') DELETE_SOURCE enum('N','Y') -METADATA_PATTERN char(64) +METADATA_PATTERN varchar(64) STARTDATE_OFFSET int(11) ENDDATE_OFFSET int(11) FIX_BROKEN_FORMATS enum('N','Y') -LOG_PATH char(255) +LOG_PATH varchar(191) IMPORT_CREATE_DATES enum('N','Y') CREATE_STARTDATE_OFFSET int(11) CREATE_ENDDATE_OFFSET int(11) -SET_USER_DEFINED char(255) +SET_USER_DEFINED varchar(191) diff --git a/docs/tables/elr_lines.txt b/docs/tables/elr_lines.txt index ff0e6a43..5a0f2071 100644 --- a/docs/tables/elr_lines.txt +++ b/docs/tables/elr_lines.txt @@ -5,27 +5,27 @@ The ELR_LINES table hold information for electronic log reconciliation. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------ ID int(10) unsigned Primary key, auto-increment -SERVICE_NAME char(10) From SERVICES.NAME +SERVICE_NAME varchar(10) From SERVICES.NAME LENGTH int(11) signed -LOG_NAME char(64) From LOGS.NAME +LOG_NAME varchar(64) From LOGS.NAME LOG_ID int(11) signed From *_LOG.ID CART_NUMBER int(10) unsigned From CART.NUMBER CUT_NUMBER int(11) -TITLE char(255) From CART.TITLE -ARTIST char(255) From CART.ARTIST -PUBLISHER char(64) From CART.PUBLISHER -COMPOSER char(64) From CART.COMPOSER -ALBUM char(255) From CART.ALBUM -LABEL char(64) From CART.LABEL -CONDUCTOR char(64) From CART.CONDUCTOR -USER_DEFINED char(255) From CART.USER_DEFINED -SONG_ID char(32) From CART.SONG_ID +TITLE varchar(191) From CART.TITLE +ARTIST varchar(191) From CART.ARTIST +PUBLISHER varchar(64) From CART.PUBLISHER +COMPOSER varchar(64) From CART.COMPOSER +ALBUM varchar(191) From CART.ALBUM +LABEL varchar(64) From CART.LABEL +CONDUCTOR varchar(64) From CART.CONDUCTOR +USER_DEFINED varchar(191) From CART.USER_DEFINED +SONG_ID varchar(32) From CART.SONG_ID USAGE_CODE int From CART.USAGE_CODE -DESCRIPTION char(64) From CUTS.DESCRIPTION -OUTCUE char(64) From CUTS.OUTCUE -ISRC char(12) From CUTS.ISRC -ISCI char(32) From CUTS.ISCI -STATION_NAME char(64) From STATIONS.NAME +DESCRIPTION varchar(64) From CUTS.DESCRIPTION +OUTCUE varchar(64) From CUTS.OUTCUE +ISRC varchar(12) From CUTS.ISRC +ISCI varchar(32) From CUTS.ISCI +STATION_NAME varchar(64) From STATIONS.NAME EVENT_DATETIME datetime SCHEDULED_TIME time From *_LOG.START_TIME EVENT_TYPE int(11) 1=Start, 2=Stop @@ -36,7 +36,7 @@ START_SOURCE int(11) 0=Unknown ONAIR_FLAG enum('N','Y') EXT_START_TIME time Scheduler Start Time EXT_LENGTH int(11) Scheduler Length -EXT_CART_NAME char(32) Scheduler Cart Name -EXT_DATA char(32) Scheduler Data -EXT_EVENT_ID char(8) Scheduler Event ID -EXT_ANNC_TYPE char(8) External Scheduler Announcement Type +EXT_CART_NAME varchar(32) Scheduler Cart Name +EXT_DATA varchar(32) Scheduler Data +EXT_EVENT_ID varchar(8) Scheduler Event ID +EXT_ANNC_TYPE varchar(8) External Scheduler Announcement Type diff --git a/docs/tables/encoders.txt b/docs/tables/encoders.txt index 4eda566b..2a314446 100644 --- a/docs/tables/encoders.txt +++ b/docs/tables/encoders.txt @@ -1,13 +1,12 @@ ENCODERS Table Layout for Rivendell The EVENTS table holds data concerning each custom encoder format -on the system. Following is the layout of a record in the ENCODERS -table: +on the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------- ID int(11) -NAME char(32) -STATION_NAME char(64) From STATIONS.NAME -COMMAND_LINE char(255) -DEFAULT_EXTENSION char(16) +NAME varchar(32) +STATION_NAME varchar(64) From STATIONS.NAME +COMMAND_LINE varchar(255) +DEFAULT_EXTENSION varchar(16) diff --git a/docs/tables/event_lines.txt b/docs/tables/event_lines.txt index 49936f95..f83e8e0c 100644 --- a/docs/tables/event_lines.txt +++ b/docs/tables/event_lines.txt @@ -6,11 +6,11 @@ post-import events. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------ ID int(11) signed Primary key, auto-increment -EVENT_NAME char(64) From EVENT.NAME +EVENT_NAME varchar(64) From EVENT.NAME TYPE int(11) signed 0=PreImport, 1=PostImport COUNT int(11) signed Order of records EVENT_TYPE int(11) signed 0=Cart, 1=Marker, 2=OpenBracket, 3=CloseBracket, 4=Link CART_NUMBER int(10) unsigned From CART.NUMBER TRANS_TYPE int(11) signed 0 = Play, 1 = Stop, 2 = Segue -MARKER_COMMENT char(255) +MARKER_COMMENT varchar(191) diff --git a/docs/tables/event_perms.txt b/docs/tables/event_perms.txt new file mode 100644 index 00000000..4636a89e --- /dev/null +++ b/docs/tables/event_perms.txt @@ -0,0 +1,11 @@ + EVENT_PERMS Table Layout for Rivendell + +The EVENT_PERMS table holds data concerning which rdlogmanager(1) +events are associated with which services. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary key, auto increment +EVENT_NAME varchar(64) From EVENTS.NAME +SERIVCE_NAME varchar(10) From SERVICES.NAME diff --git a/docs/tables/events.txt b/docs/tables/events.txt new file mode 100644 index 00000000..474bad34 --- /dev/null +++ b/docs/tables/events.txt @@ -0,0 +1,31 @@ + EVENTS Table Layout for Rivendell + +The EVENTS table holds data defining each event in rdlogmanager(1). + +FIELD NAME TYPE REMARKS +------------------------------------------------------------------------ +NAME varchar(64) Primary key +PROPERTIES varchar(64) +DISPLAY_TEXT varchar(64) +NOTE_TEXT varchar(191) +PREPOSITION int(11) +TIME_TYPE int(11) +GRACE_TIME int(11) +POST_POINT enum('N','Y') +USE_AUTOFILL enum('N','Y') +AUTOFILL_SLOP int(11) +USE_TIMESCALE enum('N','Y') +IMPORT_SOURCE int(11) +START_SLOP int(11) +END_SLOP int(11) +FIRST_TRANS_TYPE int(11) +DEFAULT_TRANS_TYPE int(11) +COLOR varchar(7) +SCHED_GROUP varchar(10) +TITLE_SEP int(10) unsigned +HAVE_CODE varchar(10) +HAVE_CODE2 varchar(10) +HOR_SEP int(10) unsigned +HOR_DIST int(10) unsigned +NESTED_EVENT varchar(64) +REMARKS text diff --git a/docs/tables/extended_panel_names.txt b/docs/tables/extended_panel_names.txt index 7880fcbb..fe0bc572 100644 --- a/docs/tables/extended_panel_names.txt +++ b/docs/tables/extended_panel_names.txt @@ -1,13 +1,12 @@ EXTENDED_PANEL_NAMES Table Layout for Rivendell The EXTENDED_PANEL_NAMES table holds configuration data for the names of the -extended SoundPanels in Rivendell. Following is the layout of a record in the -EXTENDED_PANEL_NAMES table: +extended SoundPanels in Rivendell. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment TYPE int(11) 0=Station Panel, 1=User Panel -OWNER char(64) +OWNER varchar(64) PANEL_NO int(11) -NAME char(64) +NAME varchar(64) diff --git a/docs/tables/extended_panels.txt b/docs/tables/extended_panels.txt new file mode 100644 index 00000000..6da794b7 --- /dev/null +++ b/docs/tables/extended_panels.txt @@ -0,0 +1,16 @@ + EXTENDED_PANELS Table Layout for Rivendell + +The EXTENDED_PANELS table holds configuration data for the +extended SoundPanels in Rivendell. + +FIELD NAME TYPE REMARKS +------------------------------------------------------------------------------ +ID int(10) unsigned * Primary key, Auto Increment +TYPE int(11) 0=Station Panel, 1=User Panel +OWNER varchar(64) +PANEL_NO int(11) +ROW_NO int(11) +COLUMN_NO int(11) +LABEL varchar(64) +CART int(11) +DEFAULT_COLOR varchar(7) diff --git a/docs/tables/feed_perms.txt b/docs/tables/feed_perms.txt index c6ee3e7b..1bafb91a 100644 --- a/docs/tables/feed_perms.txt +++ b/docs/tables/feed_perms.txt @@ -1,12 +1,11 @@ FEED_PERMS Table Layout for Rivendell The FEED_PERMS table holds data concerning which RSS feeds are -are allowed to be accessed by which users. Following is the layout -of a record in the FEED_PERMS table: +are allowed to be accessed by which users. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -USER_NAME char(255) From USERS.LOGIN_NAME -KEY_NAME char(8) From FEEDS.KEYNAME +USER_NAME varchar(191) From USERS.LOGIN_NAME +KEY_NAME varchar(8) From FEEDS.KEYNAME diff --git a/docs/tables/feeds.txt b/docs/tables/feeds.txt new file mode 100644 index 00000000..92694e6c --- /dev/null +++ b/docs/tables/feeds.txt @@ -0,0 +1,38 @@ + FEEDS Table Layout for Rivendell + +The FEEDS table holds data concerning which defines RSS feeds. + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary key, auto increment +KEY_NAME varchar(8) Unique +CHANNEL_TITLE varchar(191) +CHANNEL_DESCRIPTION text +CHANNEL_CATEGORY varchar(64) +CHANNEL_LINK varchar(191) +CHANNEL_COPYRIGHT varchar(64) +CHANNEL_WEBMASTER varchar(64) +CHANNEL_LANGUAGE varchar(5) +BASE_URL varchar(191) +BASE_PREAMBLE varchar(191) +PURGE_URL varchar(191) +PURGE_USERNAME varchar(64) +PURGE_PASSWORD varchar(64) +HEADER_XML text +CHANNEL_XML text +ITEM_XML text +CAST_ORDER enum('N','Y') +MAX_SHELF_LIFE int(11) +LAST_BUILD_DATETIME datetime +ORIGIN_DATETIME datetime +ENABLE_AUTOPOST enum('N','Y') +KEEP_METADATA enum('N','Y') +UPLOAD_FORMAT int(11) +UPLOAD_CHANNELS int(11) +UPLOAD_SAMPRATE int(11) +UPLOAD_BITRATE int(11) +UPLOAD_QUALITY int(11) +UPLOAD_EXTENSION varchar(16) +NORMALIZE_LEVEL int(11) +REDIRECT_PATH varchar(191) +MEDIA_LINK_MODE int(11) diff --git a/docs/tables/gpio_events.txt b/docs/tables/gpio_events.txt index 70ba3c64..5fceeec4 100644 --- a/docs/tables/gpio_events.txt +++ b/docs/tables/gpio_events.txt @@ -6,7 +6,7 @@ by the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME MATRIX int(10) unsigned From MATRICES.MATRIX NUMBER int(11) TYPE int(11) 0 = GPI, 1 = GPO diff --git a/docs/tables/gpis.txt b/docs/tables/gpis.txt index 91217c01..5fbd78c2 100644 --- a/docs/tables/gpis.txt +++ b/docs/tables/gpis.txt @@ -1,13 +1,12 @@ GPIS Table Layout for Rivendell The GPIS table holds data concerning the gpi lines of each -configured switcher device on the system. Following is the layout -of a record in the GPIS table: +configured switcher device on the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME MATRIX int(10) unsigned NUMBER int(11) MACRO_CART int(10) unsigned diff --git a/docs/tables/gpos.txt b/docs/tables/gpos.txt index c075d7ab..fb7d693d 100644 --- a/docs/tables/gpos.txt +++ b/docs/tables/gpos.txt @@ -1,13 +1,12 @@ GPOS Table Layout for Rivendell The GPOS table holds data concerning the gpo lines of each -configured switcher device on the system. Following is the layout -of a record in the GPOS table: +configured switcher device on the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME MATRIX int(10) unsigned NUMBER int(11) MACRO_CART int(10) unsigned diff --git a/docs/tables/groups.txt b/docs/tables/groups.txt index 2b722df4..96fd99aa 100644 --- a/docs/tables/groups.txt +++ b/docs/tables/groups.txt @@ -1,22 +1,21 @@ GROUPS Layout for Rivendell The GROUPS table holds data concerning each Cart Group configured -on the system. Following is the layout of a record in the GROUPS -table: +on the system. FIELD NAME TYPE REMARKS --------------------------------------------------------------- -NAME char(10) Primary Key -DESCRIPTION char(255) +NAME varchar(10) Primary Key +DESCRIPTION varchar(255) DEFAULT_CART_TYPE unsigned int(10) 1=Audio, 2=Macro DEFAULT_LOW_CART unsigned int(10) DEFAULT_HIGH_CART unsigned int(10) DEFAULT_CUT_LIFE int(11) Default END_DATETIME interval (days) CUT_SHELFLIFE int(11) -1=no autopurge DELETE_EMPTY_CARTS enum('N','Y') After purging cuts -DEFAULT_TITLE char(255) +DEFAULT_TITLE varchar(255) ENFORCE_CART_RANGE enum('N','Y') REPORT_TFC enum('N','Y') REPORT_MUS enum('N','Y') ENABLE_NOW_NEXT enum('N','Y') -COLOR char(7) +COLOR varchar(7) diff --git a/docs/tables/hostvars.txt b/docs/tables/hostvars.txt new file mode 100644 index 00000000..effd712a --- /dev/null +++ b/docs/tables/hostvars.txt @@ -0,0 +1,12 @@ + HOSTVARS Table Layout for Rivendell + +The HOSTVARS table holds host variable definitions. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(11) Primary key, auto increment +STATION_NAME varchar(64) From STATIONS.NAME +NAME varchar(32) +VARVALUE varchar(191) +REMARK varchar(191) diff --git a/docs/tables/import_templates.txt b/docs/tables/import_templates.txt new file mode 100644 index 00000000..b379a266 --- /dev/null +++ b/docs/tables/import_templates.txt @@ -0,0 +1,32 @@ + IMPORT_TEMPLATES Layout for Rivendell + +The IMPORT_TEMPLATES table holds pre-defined log importation parameters +for various third-party systems. + +FIELD NAME TYPE REMARKS +---------------------------------------------------------------- +NAME varchar(64) Primary key +CART_OFFSET int(11) +CART_LENGTH int(11) +TITLE_OFFSET int(11) +TITLE_LENGTH int(11) +HOURS_OFFSET int(11) +HOURS_LENGTH int(11) +MINUTES_OFFSET int(11) +MINUTES_LENGTH int(11) +SECONDS_OFFSET int(11) +SECONDS_LENGTH int(11) +LEN_HOURS_OFFSET int(11) +LEN_HOURS_LENGTH int(11) +LEN_MINUTES_OFFSET int(11) +LEN_MINUTES_LENGTH int(11) +LEN_SECONDS_OFFSET int(11) +LEN_SECONDS_LENGTH int(11) +LENGTH_OFFSET int(11) +LENGTH_LENGTH int(11) +DATA_OFFSET int(11) +DATA_LENGTH int(11) +EVENT_ID_OFFSET int(11) +EVENT_ID_LENGTH int(11) +ANNC_TYPE_OFFSET int(11) +ANNC_TYPE_LENGTH int(11) diff --git a/docs/tables/importer_lines.txt b/docs/tables/importer_lines.txt index e1a69341..f9d2c405 100644 --- a/docs/tables/importer_lines.txt +++ b/docs/tables/importer_lines.txt @@ -6,22 +6,22 @@ importation. FIELD NAME TYPE REMARKS ---------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME PROCESS_ID int unsigned LINE_ID int(10) unsigned START_HOUR int (11) signed START_SECS int(11) signed CART_NUMBER int (10) unsigned -TITLE char(255) +TITLE varchar(191) LENGTH int (11) signed INSERT_BREAK enum('N','Y') INSERT_TRACK enum('N','Y') INSERT_FIRST int (10) unsigned -TRACK_STRING char(255) -EXT_DATA char(32) -EXT_EVENT_ID char(32) -EXT_ANNC_TYPE char(8) -EXT_CART_NAME char(32) +TRACK_STRING varchar(191) +EXT_DATA varchar(32) +EXT_EVENT_ID varchar(32) +EXT_ANNC_TYPE varchar(8) +EXT_CART_NAME varchar(32) LINK_START_TIME time LINK_LENGTH int (11) signed EVENT_USED enum('N','Y') diff --git a/docs/tables/inputs.txt b/docs/tables/inputs.txt new file mode 100644 index 00000000..babeaced --- /dev/null +++ b/docs/tables/inputs.txt @@ -0,0 +1,19 @@ + INPUTS Table Layout for Rivendell + +The INPUTS table holds information regarding switcher inputs. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(11) Primary key, auto increment +STATION_NAME varchar(64) From STATIONS.NAME +MATRIX int(11) +NUMBER int(11) +NAME varchar(64) +FEED_NAME varchar(8) +CHANNEL_MODE int(11) +ENGINE_NUM int(11) +DEVICE_NUM int(11) +NODE_HOSTNAME varchar(191) +NODE_TCP_PORT int(11) +NODE_SLOT int(11) diff --git a/docs/tables/isci_xreference.txt b/docs/tables/isci_xreference.txt index f456f4f2..61d76ee6 100644 --- a/docs/tables/isci_xreference.txt +++ b/docs/tables/isci_xreference.txt @@ -9,11 +9,11 @@ FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary key, auto increment CART_NUMBER int(10) unsigned -ISCI char(32) -FILENAME char(64) +ISCI varchar(32) +FILENAME varchar(64) LATEST_DATE date -TYPE char(1) -ADVERTISER_NAME char(30) -PRODUCT_NAME char(35) -CREATIVE_TITLE char(30) -REGION_NAME char(80) +TYPE varchar(1) +ADVERTISER_NAME varchar(30) +PRODUCT_NAME varchar(35) +CREATIVE_TITLE varchar(30) +REGION_NAME varchar(80) diff --git a/docs/tables/jack_clients.txt b/docs/tables/jack_clients.txt index 035cff4e..8675ff7f 100644 --- a/docs/tables/jack_clients.txt +++ b/docs/tables/jack_clients.txt @@ -6,6 +6,6 @@ when starting the rivendell daemons. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------- ID int unsigned(10) Primary Key -STATION_NAME char(64) From STATIONS.NAME -DESCRIPTION char(64) -COMMAND_LINE char(255) +STATION_NAME varchar(64) From STATIONS.NAME +DESCRIPTION varchar(64) +COMMAND_LINE varchar(255) diff --git a/docs/tables/livewire_gpio_slots.txt b/docs/tables/livewire_gpio_slots.txt index 6d52ec26..13e21b95 100644 --- a/docs/tables/livewire_gpio_slots.txt +++ b/docs/tables/livewire_gpio_slots.txt @@ -7,8 +7,8 @@ Each slot consist of five Rivendell GPIO lines. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------ ID int(11) signed Primary key, auto-increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME MATRIX int(11) From MATRICES.MATRIX SLOT int(11) -IP_ADDRESS char(15) +IP_ADDRESS varchar(15) SOURCE_NUMBER int(11) diff --git a/docs/tables/log_lines.txt b/docs/tables/log_lines.txt index cde73e29..7296853c 100644 --- a/docs/tables/log_lines.txt +++ b/docs/tables/log_lines.txt @@ -5,7 +5,7 @@ The LOG_LINES table holds the per-line data for all Rivendell logs. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------ ID int(11) signed Primary key, auto-increment -LOG_NAME char(64) From LOGS.NAME +LOG_NAME varchar(64) From LOGS.NAME COUNT int(11) signed Order of records TYPE int(11) signed 0=Cart, 1=Marker, 2=OpenBracket, 3=CloseBracket, 4=Link @@ -26,12 +26,12 @@ FADEDOWN_GAIN int(11) signed SEGUE_START_POINT int(11) signed Overloads CUTS.SEGUE_START_POINT SEGUE_END_POINT int(11) signed Overloads CUTS.SEGUE_END_POINT SEGUE_GAIN int(11) signed -COMMENT char(255) -LABEL char(64) -ORIGIN_USER char(255) From USERS.LOGIN_NAME +COMMENT varchar(255) +LABEL varchar(64) +ORIGIN_USER varchar(255) From USERS.LOGIN_NAME ORIGIN_DATETIME datetime EVENT_LENGTH int(11) Length of parent RDLogManager event -LINK_EVENT_NAME char(64) +LINK_EVENT_NAME varchar(64) LINK_START_TIME int(11) Milliseconds after 00:00:00 LINK_LENGTH int(11) LINK_START_SLOP int(11) @@ -40,7 +40,7 @@ LINK_ID int(11) LINK_EMBEDDED enum('N','Y') EXT_START_TIME time External Scheduler Start Time EXT_LENGTH int(11) External Scheduler Event Length -EXT_CART_NAME char(32) External Scheduler Cart Name -EXT_DATA char(32) External Scheduler Data -EXT_EVENT_ID char(8) External Scheduler Event ID -EXT_ANNC_TYPE char(8) External Scheduler Announcement Type +EXT_CART_NAME varchar(32) External Scheduler Cart Name +EXT_DATA varchar(32) External Scheduler Data +EXT_EVENT_ID varchar(8) External Scheduler Event ID +EXT_ANNC_TYPE varchar(8) External Scheduler Announcement Type diff --git a/docs/tables/log_machines.txt b/docs/tables/log_machines.txt index 22f3e43e..a7e9dda8 100644 --- a/docs/tables/log_machines.txt +++ b/docs/tables/log_machines.txt @@ -6,21 +6,21 @@ channels assignments and related information. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME MACHINE int(11) 1 = RDAirPlay Main Log 2 = RDAirPlay Aux Log 1 3 = RDAirPlay Aux Log 2 101..124 = RDVAirPlay Log Machines START_MODE int(11) AUTO_RESTART enum('N','Y') -LOG_NAME char(64) -CURRENT_LOG char(64) +LOG_NAME varchar(64) +CURRENT_LOG varchar(64) RUNNING enum('N','Y') LOG_ID int(11) LOG_LINE int(11) NOW_CART int(10) unsigned NEXT_CART int(10) unsigned -UDP_ADDR char(255) +UDP_ADDR varchar(255) UDP_PORT int(10) unsigned -UDP_STRING char(255) -LOG_RML char(255) +UDP_STRING varchar(255) +LOG_RML varchar(255) diff --git a/docs/tables/log_modes.txt b/docs/tables/log_modes.txt index d5b60d26..55b0bf81 100644 --- a/docs/tables/log_modes.txt +++ b/docs/tables/log_modes.txt @@ -6,7 +6,7 @@ RDAirPlay. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME MACHINE int(10) unsigned 0=Main Log, 1=AuxLog 1, 2=AuxLog START_MODE int(11) 0=Previous, 1=LiveAssist, 2=Automatic, 3=Manual diff --git a/docs/tables/logs.txt b/docs/tables/logs.txt index a83951f2..806a1e3b 100644 --- a/docs/tables/logs.txt +++ b/docs/tables/logs.txt @@ -6,12 +6,12 @@ table: FIELD NAME TYPE REMARKS ------------------------------------------------------------------- -NAME char(64) +NAME varchar(64) LOG_EXISTS enum('N','Y') TYPE int(11) 0=Log, 1=Event, 2=Clock, 3=Grid -SERVICE char(10) From SERVICES.NAME -DESCRIPTION char(64) -ORIGIN_USER char(255) From USERS.LOGIN_NAME +SERVICE varchar(10) From SERVICES.NAME +DESCRIPTION varchar(64) +ORIGIN_USER varchar(191) From USERS.LOGIN_NAME ORIGIN_DATETIME datetime LINK_DATETIME datetime MODIFIED_DATETIME datetime @@ -27,8 +27,8 @@ MUSIC_LINKED enum('N','Y') TRAFFIC_LINKS int TRAFFIC_LINKED enum('N','Y') NEXT_ID int(11) -LOCK_USER_NAME char(255) From USER.LOGIN_NAME -LOCK_STATION_NAME char(64) From STATIONS.NAME -LOCK_IPV4_ADDRESS char(16) +LOCK_USER_NAME varchar(191) From USER.LOGIN_NAME +LOCK_STATION_NAME varchar(64) From STATIONS.NAME +LOCK_IPV4_ADDRESS varchar(16) LOCK_DATETIME datetime -LOCK_GUID char(82) +LOCK_GUID varchar(82) diff --git a/docs/tables/matrices.txt b/docs/tables/matrices.txt new file mode 100644 index 00000000..eb8cd47d --- /dev/null +++ b/docs/tables/matrices.txt @@ -0,0 +1,36 @@ + MATRICES Table Layout for Rivendell + +The MATRICES table holds data that defines a switcher device. + +FIELD NAME TYPE REMARKS +------------------------------------------------------------------- +ID int(11) Primary key, auto_increment +STATION_NAME varchar(64) From STATIONS.NAME +NAME varchar(64) +MATRIX int(11) +TYPE int(11) +LAYER int(11) +PORT_TYPE int(11) +PORT_TYPE_2 int(11) +CARD int(11) +PORT int(11) +PORT_2 int(11) +IP_ADDRESS varchar(16) +IP_ADDRESS_2 varchar(16) +IP_PORT int(11) +IP_PORT_2 int(11) +USERNAME varchar(32) +USERNAME_2 varchar(32) +PASSWORD varchar(32) +PASSWORD_2 varchar(32) +START_CART int(10) unsigned +STOP_CART int(10) unsigned +START_CART_2 int(10) unsigned +STOP_CART_2 int(10) unsigned +GPIO_DEVICE varchar(191) +INPUTS int(11) +OUTPUTS int(11) +GPIS int(11) +GPOS int(11) +FADERS int(11) +DISPLAYS int(11) diff --git a/docs/tables/nownext_plugins.txt b/docs/tables/nownext_plugins.txt index ae347b0b..6941acfe 100644 --- a/docs/tables/nownext_plugins.txt +++ b/docs/tables/nownext_plugins.txt @@ -1,13 +1,12 @@ NOWNEXT_PLUGINS Table Layout for Rivendell The NOWNEXT_PLUGINS table holds data concerning each Now & Next -plugins configured on the system. Following is the layout -of a record in the NOWNEXT_PLUGINS table: +plugins configured on the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary key, auto increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME LOG_MACHINE int(10) unsigned 0=Main, 1=Aux1, 2=Aux2 -PLUGIN_PATH char(255) -PLUGIN_ARG char(255) +PLUGIN_PATH varchar(191) +PLUGIN_ARG varchar(191) diff --git a/docs/tables/outputs.txt b/docs/tables/outputs.txt new file mode 100644 index 00000000..0c43a619 --- /dev/null +++ b/docs/tables/outputs.txt @@ -0,0 +1,17 @@ + OUTPUTS Table Layout for Rivendell + +The OUTPUTS table holds information regarding switchs outputs. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(11) Primary key, auto increment +STATION_NAME varchar(64) From STATIONS.NAME +MATRIX int(11) +NUMBER int(11) +NAME varchar(64) +ENGINE_NUM int(11) +DEVICE_NUM int(11) +NODE_HOSTNAME varchar(191) +NODE_TCP_PORT int(11) +NODE_SLOT int(11) diff --git a/docs/tables/panel_names.txt b/docs/tables/panel_names.txt index de584639..b2d0b47b 100644 --- a/docs/tables/panel_names.txt +++ b/docs/tables/panel_names.txt @@ -1,13 +1,12 @@ PANEL_NAMES Table Layout for Rivendell The PANEL_NAMES table holds configuration data for the names of the -SoundPanels in Rivendell. Following is the layout of a record in the -PANEL_NAMES table: +SoundPanels in Rivendell. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment TYPE int(11) 0=Station Panel, 1=User Panel -OWNER char(64) +OWNER varchar(64) PANEL_NO int(11) -NAME char(64) +NAME varchar(64) diff --git a/docs/tables/panels.txt b/docs/tables/panels.txt index 9c0118e3..45d2bbd5 100644 --- a/docs/tables/panels.txt +++ b/docs/tables/panels.txt @@ -1,17 +1,17 @@ PANELS Table Layout for Rivendell The PANELS table holds configuration data for all the SoundPanels in -Rivendell. Following is the layout of a record in the PANELS table: +Rivendell. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment TYPE int(11) 0=Station Panel, 1=User Panel -OWNER char(64) +OWNER varchar(64) PANEL_NO int(11) ROW_NO int(11) COLUMN_NO int(11) -LABEL char(64) +LABEL varchar(64) CART int(11) -DEFAULT_COLOR char(7) Background color, in hex format +DEFAULT_COLOR varchar(7) Background color, in hex format "#RRGGBB". diff --git a/docs/tables/podcasts.txt b/docs/tables/podcasts.txt new file mode 100644 index 00000000..9bcf3fe7 --- /dev/null +++ b/docs/tables/podcasts.txt @@ -0,0 +1,23 @@ + PODCASTS Table Layout for Rivendell + +The PODCASTS table holds information about individual RSS posts. + +FIELD NAME TYPE REMARKS +------------------------------------------------------------------------------ +ID int(10) unsigned * Primary key, Auto Increment +FEED_ID int(10) unsigned From FEEDS.ID +STATUS int(10) unsigned +ITEM_TITLE varchar(191) +ITEM_DESCRIPTION text +ITEM_CATEGORY varchar(64) +ITEM_LINK varchar(191) +ITEM_COMMENTS varchar(191) +ITEM_AUTHOR varchar(191) +ITEM_SOURCE_TEXT varchar(64) +ITEM_SOURCE_URL varchar(191) +AUDIO_FILENAME varchar(191) +AUDIO_LENGTH int(10) unsigned +AUDIO_TIME int(10) unsigned +SHELF_LIFE int(11) +ORIGIN_DATETIME datetime +EFFECTIVE_DATETIME datetime diff --git a/docs/tables/rd_airplay.txt b/docs/tables/rd_airplay.txt index 2979c344..507e6ce1 100644 --- a/docs/tables/rd_airplay.txt +++ b/docs/tables/rd_airplay.txt @@ -1,7 +1,6 @@ RDAIRPLAY Table Layout for Rivendell The RDAIRPLAY table holds configuration data for the RDAirPlay widget. -Following is the layout of a record in the RDAIRPLAY table: FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ @@ -21,17 +20,17 @@ DEFAULT_TRANS_TYPE int(11) BAR_ACTION int(10) unsigned 0=None, 1=Start Next FLASH_PANEL enum('N','Y') PANEL_PAUSE_ENABLED enum('N','Y') -BUTTON_LABEL_TEMPLATE char(32) +BUTTON_LABEL_TEMPLATE varchar(32) PAUSE_ENABLED enum('N','Y') -DEFAULT_SERVICE char(10) From SERVICES.NAME +DEFAULT_SERVICE varchar(10) From SERVICES.NAME HOUR_SELECTOR_ENABLED enum('N','Y') EXIT_CODE int(11) 0=clean, 1=dirty VIRTUAL_EXIT_CODE int(11) 0=clean, 1=dirty -EXIT_PASSWORD char(41) -SKIN_PATH char(255) +EXIT_PASSWORD varchar(41) +SKIN_PATH varchar(191) SHOW_COUNTERS enum('N','Y') AUDITION_PREROLL int(11) -TITLE_TEMPLATE char(64) -ARTIST_TEMPLATE char(64) -OUTCUE_TEMPLATE char(64) -DESCRIPTION_TEMPLATE char(64) +TITLE_TEMPLATE varchar(64) +ARTIST_TEMPLATE varchar(64) +OUTCUE_TEMPLATE varchar(64) +DESCRIPTION_TEMPLATE varchar(64) diff --git a/docs/tables/rd_catch.txt b/docs/tables/rd_catch.txt index fc560804..29696eed 100644 --- a/docs/tables/rd_catch.txt +++ b/docs/tables/rd_catch.txt @@ -6,5 +6,5 @@ RDCatch module. Following is the layout of a record in the RDAIRPLAY table: FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION char(64) Workstation, Indexed -ERROR_RML char(255) +STATION varchar(64) Workstation, Indexed +ERROR_RML varchar(191) diff --git a/docs/tables/rd_library.txt b/docs/tables/rd_library.txt index e4cf29e2..f1b09c92 100644 --- a/docs/tables/rd_library.txt +++ b/docs/tables/rd_library.txt @@ -5,7 +5,7 @@ The RDLIBRARY table holds configuration data for the RDLibrary widget. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION char(40) Workstation, Indexed +STATION varchar(64) From STATIONS.NAME INSTANCE int(10) unsigned INPUT_CARD int(11) None=-1 INPUT_TYPE enum('A','D') @@ -21,10 +21,10 @@ DEFAULT_RECORD_MODE int(10) unsigned 0 = Manual, 1 = VOX DEFAULT_TRIM_STATE enum('Y','N') MAXLENGTH int(11) Max record length, in sec TAIL_PREROLL int(10) unsigned -RIPPER_DEVICE char(64) +RIPPER_DEVICE varchar(64) PARANOIA_LEVEL int(11) RIPPER_LEVEL int(11) -CDDB_SERVER char(64) +CDDB_SERVER varchar(64) READ_ISRC enum('N','Y') ENABLE_EDITOR enum('N','Y') SRC_CONVERTER int(11) diff --git a/docs/tables/rd_logedit.txt b/docs/tables/rd_logedit.txt index bf581f4d..2121ec7d 100644 --- a/docs/tables/rd_logedit.txt +++ b/docs/tables/rd_logedit.txt @@ -1,12 +1,11 @@ RDLOGEDIT Table Layout for Rivendell The RDLOGEDIT table holds configuration data for the RDLogEdit widget. -Following is the layout of a record in the RDLOGEDIT table: FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION char(64) Workstation, Indexed +STATION varchar(64) From STATIONS.NAME INPUT_CARD int(11) None=-1 OUTPUT_CARD int(11) None=-1 OUTPUT_PORT int(11) diff --git a/docs/tables/rdairplay_channels.txt b/docs/tables/rdairplay_channels.txt index 6badba84..28b2aa7c 100644 --- a/docs/tables/rdairplay_channels.txt +++ b/docs/tables/rdairplay_channels.txt @@ -6,7 +6,7 @@ channels assignments and related information. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME INSTANCE int(10) unsigned 0 = Main Log Output 1 1 = Main Log Output 2 2 = Sound Panel Output 1 @@ -19,8 +19,8 @@ INSTANCE int(10) unsigned 0 = Main Log Output 1 9 = Sound Panel Output 5 CARD int(11) PORT int(11) -START_RML char(255) -STOP_RML char(255) +START_RML varchar(191) +STOP_RML varchar(191) GPIO_TYPE int unsigned 0 = Edge, 1 = Level START_GPI_MATRIX int(11) START_GPI_LINE int(11) diff --git a/docs/tables/rdhotkeys.txt b/docs/tables/rdhotkeys.txt new file mode 100644 index 00000000..13b4b7d7 --- /dev/null +++ b/docs/tables/rdhotkeys.txt @@ -0,0 +1,12 @@ + RDHOTKEYS Table Layout for Rivendell + +The RDHOTKEYS table holds key mappings. + +FIELD NAME TYPE REMARKS +------------------------------------------------------------------------------ +ID int(10) unsigned * Primary key, Auto Increment +STATION_NAME varchar(64) From STATIONS.NAME +MODULE_NAME varchar(64) +KEY_ID int(11) +KEY_VALUE varchar(64) +KEY_LABEL varchar(64) diff --git a/docs/tables/rdpanel.txt b/docs/tables/rdpanel.txt new file mode 100644 index 00000000..256c4d4b --- /dev/null +++ b/docs/tables/rdpanel.txt @@ -0,0 +1,16 @@ + RDPANEL Table Layout for Rivendell + +The RDPANEL table holds configuration data for the RDCatch module. + +FIELD NAME TYPE REMARKS +-------------------------------------------------------------------------------- +ID int(11) * Primary key, Auto Increment +STATION varchar(64) From STATIONS.NAME +STATION_PANELS int(11) +USER_PANELS int(11) +CLEAR_FILTER enum('N','Y') +FLASH_PANEL enum('N','Y') +PANEL_PAUSE_ENABLED enum('N','Y') +BUTTON_LABEL_TEMPLATE varchar(32) +DEFAULT_SERVICE varchar(10) +SKIN_PATH varchar(191) diff --git a/docs/tables/rdpanel_channels.txt b/docs/tables/rdpanel_channels.txt index b49fef8d..3db0a3fb 100644 --- a/docs/tables/rdpanel_channels.txt +++ b/docs/tables/rdpanel_channels.txt @@ -6,7 +6,7 @@ channels assignments and related information. FIELD NAME TYPE REMARKS ------------------------------------------------------------------------------ ID int(10) unsigned * Primary key, Auto Increment -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME INSTANCE int(10) unsigned 0 = Main Log Output 1 (Not Used) 1 = Main Log Output 2 (Not Used) 2 = Sound Panel Output 1 @@ -19,8 +19,8 @@ INSTANCE int(10) unsigned 0 = Main Log Output 1 (Not Used) 9 = Sound Panel Output 5 CARD int(11) PORT int(11) -START_RML char(255) -STOP_RML char(255) +START_RML varchar(255) +STOP_RML varchar(255) GPIO_TYPE int unsigned 0 = Edge, 1 = Level START_GPI_MATRIX int(11) START_GPI_LINE int(11) diff --git a/docs/tables/recordings.txt b/docs/tables/recordings.txt index dec931f3..5441d300 100644 --- a/docs/tables/recordings.txt +++ b/docs/tables/recordings.txt @@ -11,9 +11,9 @@ IS_ACTIVE enum('N','Y') TYPE int(11) 0=Recording,1=Macro Event, 2=Switch Event,3=Playout, 4=Download,5=Upload -STATION_NAME char(64) From STATIONS.NAME +STATION_NAME varchar(64) From STATIONS.NAME CHANNEL int(10) unsigned -CUT_NAME char(12) From CUTS.CUT_NAME +CUT_NAME varchar(12) From CUTS.CUT_NAME SUN enum('N','Y') MON enum('N','Y') TUE enum('N','Y') @@ -21,7 +21,7 @@ WED enum('N','Y') THU enum('N','Y') FRI enum('N','Y') SAT enum('N','Y') -DESCRIPTION char(64) Remarks +DESCRIPTION varchar(64) Remarks START_TYPE int(10) 0=Hard Timed,1=GPI START_TIME time @@ -57,8 +57,8 @@ EXIT_CODE int(11) 0 = Ok, 1 = Short Length, 2 = Low Level, 3 = High Level EXIT_TEXT text ONE_SHOT enum ('N','Y') -URL char(255) -URL_USERNAME char(64) -URL_PASSWORD char(64) +URL varchar(255) +URL_USERNAME varchar(64) +URL_PASSWORD varchar(64) ENABLE_METADATA enum('N','Y') FEED_ID int From FEEDS.ID diff --git a/docs/tables/repl_cart_state.txt b/docs/tables/repl_cart_state.txt index b2e45dff..a279eee0 100644 --- a/docs/tables/repl_cart_state.txt +++ b/docs/tables/repl_cart_state.txt @@ -7,8 +7,8 @@ FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned auto_increment, not null primary key -REPLICATOR_NAME char(32) from REPLICATORS.NAME +REPLICATOR_NAME varchar(32) from REPLICATORS.NAME CART_NUMBER int(10) unsigned from CART.NUMBER -POSTED_FILENAME char(255) +POSTED_FILENAME varchar(191) ITEM_DATETIME datetime REPOST enum('N','Y') diff --git a/docs/tables/repl_cut_state.txt b/docs/tables/repl_cut_state.txt index a4332c20..f9444a6f 100644 --- a/docs/tables/repl_cut_state.txt +++ b/docs/tables/repl_cut_state.txt @@ -7,6 +7,6 @@ FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned auto_increment, not null primary key -REPLICATOR_NAME char(32) from REPLICATORS.NAME -CUT_NAME char(12) from CUTS.CUT_NAME +REPLICATOR_NAME varchar(32) from REPLICATORS.NAME +CUT_NAME varchar(12) from CUTS.CUT_NAME ITEM_DATETIME datetime diff --git a/docs/tables/replicators.txt b/docs/tables/replicators.txt index afd74d91..226aad36 100644 --- a/docs/tables/replicators.txt +++ b/docs/tables/replicators.txt @@ -5,17 +5,17 @@ configuration on the system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ -NAME char(32) not null, primary key -DESCRIPTION char(64) +NAME varchar(32) not null, primary key +DESCRIPTION varchar(64) TYPE_ID int(10) unsigned not null -STATION_NAME char(64) from STATIONS.NAME +STATION_NAME varchar(64) from STATIONS.NAME FORMAT int(10) unsigned CHANNELS int(10) unsigned SAMPRATE int(10) unsigned BITRATE int(10) unsigned QUALITY int(10) unsigned -URL char(255) -URL_USERNAME char(64) -URL_PASSWORD char(64) +URL varchar(255) +URL_USERNAME varchar(64) +URL_PASSWORD varchar(64) ENABLE_METADATA enum('N','Y') NORMALIZATION_LEVEL int(11) signed diff --git a/docs/tables/report_groups.txt b/docs/tables/report_groups.txt new file mode 100644 index 00000000..f442be45 --- /dev/null +++ b/docs/tables/report_groups.txt @@ -0,0 +1,10 @@ + REPORT_GROUPS Table Layout for Rivendell + +The REPORT_GROUPS table holds data which groups are referenced by +a given report configuration. + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary Key +REPORT_NAME varchar(64) +GROUP_NAME varchar(10) diff --git a/docs/tables/report_services.txt b/docs/tables/report_services.txt new file mode 100644 index 00000000..a21be533 --- /dev/null +++ b/docs/tables/report_services.txt @@ -0,0 +1,10 @@ + REPORT_SERVICES Table Layout for Rivendell + +The REPORT_SERVICES table holds data which services are referenced by +a given report configuration. + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary Key +REPORT_NAME varchar(64) +SERVICE_NAME varchar(10) diff --git a/docs/tables/report_stations.txt b/docs/tables/report_stations.txt new file mode 100644 index 00000000..14c34936 --- /dev/null +++ b/docs/tables/report_stations.txt @@ -0,0 +1,10 @@ + REPORT_STATIONS Table Layout for Rivendell + +The REPORT_STATIONS table holds data which hosts are referenced by +a given report configuration. + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary Key +REPORT_NAME varchar(64) +STATION_NAME varchar(64) diff --git a/docs/tables/reports.txt b/docs/tables/reports.txt index 14c46ca6..4eb8ac30 100644 --- a/docs/tables/reports.txt +++ b/docs/tables/reports.txt @@ -5,24 +5,24 @@ The REPORTS table holds data concerning each report configured on the system. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary Key -NAME char(64) -DESCRIPTION char(64) +NAME varchar(64) +DESCRIPTION varchar(64) EXPORT_FILTER int(11) -EXPORT_PATH char(255) +EXPORT_PATH varchar(191) POST_EXPORT_CMD text -WIN_EXPORT_PATH char(255) +WIN_EXPORT_PATH varchar(191) WIN_POST_EXPORT_CMD text EXPORT_TFC enum('N','Y') EXPORT_MUS enum('N','Y') FORCE_MUS enum('N','Y') EXPORT_GEN enum('N','Y') -STATION_ID char(16) +STATION_ID varchar(16) CART_DIGITS int(10) unsigned USE_LEADING_ZEROS enum('N','Y') LINES_PER_PAGE int(11) -SERVICE_NAME char(64) +SERVICE_NAME varchar(64) STATION_TYPE int(11) -STATION_FORMAT char(64) +STATION_FORMAT varchar(64) FILTER_ONAIR_FLAG enum('N','Y') FILTER_GROUPS enum('N','Y') START_TIME time diff --git a/docs/tables/service_clocks.txt b/docs/tables/service_clocks.txt index bb4cfec4..490ed83c 100644 --- a/docs/tables/service_clocks.txt +++ b/docs/tables/service_clocks.txt @@ -7,6 +7,6 @@ to a given hour on a service's grid. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(11) signed Primary Key -SERVICE_NAME char(10) From SERVICES.NAME +SERVICE_NAME varchar(10) From SERVICES.NAME HOUR int(11) signed -CLOCK_NAME char(64) From CLOCKS.NAME +CLOCK_NAME varchar(64) From CLOCKS.NAME diff --git a/docs/tables/service_perms.txt b/docs/tables/service_perms.txt new file mode 100644 index 00000000..18d893f6 --- /dev/null +++ b/docs/tables/service_perms.txt @@ -0,0 +1,11 @@ + SERVICE_PERMS Table Layout for Rivendell + +The SERVICE_PERMS table holds data concerning which is permitted +to run which service. + + +FIELD NAME TYPE REMARKS +--------------------------------------------------------------- +ID int(10) unsigned Primary Key +STATION_NAME varchar(64) From CLOCKS.NAME +SERVICE_NAME varchar(10) From SERVICES.NAME diff --git a/docs/tables/services.txt b/docs/tables/services.txt index e9e9fc75..6e77d23b 100644 --- a/docs/tables/services.txt +++ b/docs/tables/services.txt @@ -6,25 +6,25 @@ table: FIELD NAME TYPE REMARKS --------------------------------------------------------------- -NAME char(10) unsigned Primary Key -DESCRIPTION char(255) -NAME_TEMPLATE char(255) -DESCRIPTION_TEMPLATE char(255) -PROGRAM_CODE char(255) +NAME varchar(10) unsigned Primary Key +DESCRIPTION varchar(191) +NAME_TEMPLATE varchar(191) +DESCRIPTION_TEMPLATE varchar(191) +PROGRAM_CODE varchar(191) CHAIN_LOG enum('N','Y') -TRACK_GROUP char(10) From GROUPS.NAME -AUTOSPOT_GROUP char(10) From GROUPS.NAME +TRACK_GROUP varchar(10) From GROUPS.NAME +AUTOSPOT_GROUP varchar(10) From GROUPS.NAME AUTO_REFRESH enum('N','Y') DEFAULT_LOG_SHELFLIFE int(11) -LOG_SHELFLIFE_ORIGIN int(11) 0=Air Date, 1=Log Creation +LOG_SHELFLIFE_ORIGIN int(11) 0=Air Date, 1=Log Creation ELR_SHELFLIFE int(11) -TFC_PATH char(255) +TFC_PATH varchar(191) TFC_PREIMPORT_CMD text -TFC_WIN_PATH char(255) +TFC_WIN_PATH varchar(191) TFC_WIN_PREIMPORT_CMD text -TFC_IMPORT_TEMPLATE char(64) From IMPORT_TEMPLATES.NAME -TFC_LABEL_CART char(32) -TFC_TRACK_CART char(32) +TFC_IMPORT_TEMPLATE varchar(64) From IMPORT_TEMPLATES.NAME +TFC_LABEL_CART varchar(32) +TFC_TRACK_CART varchar(32) TFC_CART_OFFSET int(11) TFC_CART_LENGTH int(11) TFC_TITLE_OFFSET int(11) @@ -35,8 +35,6 @@ TFC_MINUTES_OFFSET int(11) TFC_MINUTES_LENGTH int(11) TFC_SECONDS_OFFSET int(11) TFC_SECONDS_LENGTH int(11) -TFC_LENGTH_OFFSET int(11) RETIRED -TFC_LENGTH_LENGTH int(11) RETIRED TFC_LEN_HOURS_OFFSET int(11) TFC_LEN_HOURS_LENGTH int(11) TFC_LEN_MINUTES_OFFSET int(11) @@ -49,15 +47,15 @@ TFC_EVENT_ID_OFFSET int(11) TFC_EVENT_ID_LENGTH int(11) TFC_ANNC_TYPE_OFFSET int(11) TFC_ANNC_TYPE_LENGTH int(11) -MUS_PATH char(255) +MUS_PATH varchar(191) MUS_PREIMPORT_CMD text -MUS_WIN_PATH char(255) +MUS_WIN_PATH varchar(191) MUS_WIN_PREIMPORT_CMD text -MUS_IMPORT_TEMPLATE char(64) From IMPORT_TEMPLATES.NAME -MUS_LABEL_CART char(32) -MUS_TRACK_CART char(32) -MUS_BREAK_STRING char(64) -MUS_TRACK_STRING char(64) +MUS_IMPORT_TEMPLATE varchar(64) From IMPORT_TEMPLATES.NAME +MUS_LABEL_CART varchar(32) +MUS_TRACK_CART varchar(32) +MUS_BREAK_STRING varchar(64) +MUS_TRACK_STRING varchar(64) MUS_CART_OFFSET int(11) MUS_CART_LENGTH int(11) MUS_TITLE_OFFSET int(11) @@ -74,8 +72,6 @@ MUS_LEN_MINUTES_OFFSET int(11) MUS_LEN_MINUTES_LENGTH int(11) MUS_LEN_SECONDS_OFFSET int(11) MUS_LEN_SECONDS_LENGTH int(11) -MUS_LENGTH_OFFSET int(11) RETIRED -MUS_LENGTH_LENGTH int(11) RETIRED MUS_DATA_OFFSET int(11) MUS_DATA_LENGTH int(11) MUS_EVENT_ID_OFFSET int(11) diff --git a/docs/tables/stack_lines.txt b/docs/tables/stack_lines.txt index 0e863c77..4c66d5d6 100644 --- a/docs/tables/stack_lines.txt +++ b/docs/tables/stack_lines.txt @@ -6,7 +6,7 @@ FIELD NAME TYPE REMARKS ------------------------------------------------------------------------ ID int(10) unsigned Primary key, auto_increment SCHED_STACK_ID int(10) unsigned -SERVICE_NAME char(10) From SERVICES.NAME +SERVICE_NAME varchar(10) From SERVICES.NAME CART int(10) unsigned From CART.NUMBER ARTIST varchar(255) From CART.ARTIST SCHED_CODES varchar(255) diff --git a/docs/tables/stations.txt b/docs/tables/stations.txt index e57405ba..6327fdc4 100644 --- a/docs/tables/stations.txt +++ b/docs/tables/stations.txt @@ -1,28 +1,27 @@ STATIONS Table Layout for Rivendell The STATIONS table contains data about each workstation in the system. -Following is the layout of a record in the SERVICES table: FIELD NAME TYPE REMARKS --------------------------------------------------------------- -NAME char(64) Primary Key -SHORT_NAME char(64) -DESCRIPTION char(64) Indexed -USER_NAME char(255) Current User -DEFAULT_NAME char(255) Default User -IPV4_ADDRESS char(15) -HTTP_STATION char(64) From STATIONS.NAME -CAE_STATION char(64) From STATIONS.NAME +NAME varchar(64) Primary Key +SHORT_NAME varchar(64) +DESCRIPTION varchar(64) Indexed +USER_NAME varchar(255) Current User +DEFAULT_NAME varchar(255) Default User +IPV4_ADDRESS varchar(15) +HTTP_STATION varchar(64) From STATIONS.NAME +CAE_STATION varchar(64) From STATIONS.NAME TIME_OFFSET int(11) BROADCAST_SECURITY int(10) unsigned 0=HostSec, 1=UserSec HEARTBEAT_CART int(10) unsigned HEARTBEAT_INTERVAL int(10) unsigned STARTUP_CART int(10) unsigned -EDITOR_PATH char(255) +EDITOR_PATH varchar(255) FILTER_MODE int(11) 0=Synchronous, 1=Asynchronous START_JACK enum('Y','N') -JACK_SERVER_NAME char(64) -JACK_COMMAND_LINE char(255) +JACK_SERVER_NAME varchar(64) +JACK_COMMAND_LINE varchar(255) JACK_PORTS int(11) signed CUE_CARD int(11) signed CUE_PORT int(11) signed @@ -41,6 +40,6 @@ HAVE_TWOLAME enum('N','Y') HAVE_LAME enum('N','Y') HAVE_MPG321 enum('N','Y') HAVE_MP4_DECODE enum('N','Y') -HPI_VERSION char(16) -JACK_VERSION char(16) -ALSA_VERSION char(16) +HPI_VERSION varchar(16) +JACK_VERSION varchar(16) +ALSA_VERSION varchar(16) diff --git a/docs/tables/switcher_nodes.txt b/docs/tables/switcher_nodes.txt new file mode 100644 index 00000000..3090b013 --- /dev/null +++ b/docs/tables/switcher_nodes.txt @@ -0,0 +1,15 @@ + SWITCHER_NODES Table Layout for Rivendell + +The SWITCHER_NODES table holds data on Livewire nodes being used +as switcher devices. + +FIELD NAME TYPE REMARKS +------------------------------------------------------------------------ +ID int(11) Primary key, auto_increment +STATION_NAME varchar(64) +MATRIX int(11) +BASE_OUTPUT int(11) +HOSTNAME varchar(64) +PASSWORD varchar(64) +TCP_PORT int(11) +DESCRIPTION varchar(191) diff --git a/docs/tables/system.txt b/docs/tables/system.txt index ff0ef5c2..14341f30 100644 --- a/docs/tables/system.txt +++ b/docs/tables/system.txt @@ -1,6 +1,6 @@ SYSTEM Table Layout for Rivendell -The STATIONS table contains system-wide settings. +The SYSTEM table contains system-wide settings. FIELD NAME TYPE REMARKS --------------------------------------------------------------- @@ -9,7 +9,7 @@ SAMPLE_RATE int(10) unsigned DUP_CART_TITLE enum('N','Y') FIX_DUP_CART_TITLES enum('N','Y') MAX_POST_LENGTH int(10) unsigned -ISCI_XREFERENCE_PATH char(255) -TEMP_CART_GROUP char(10) From 'GROUPS.NAME' +ISCI_XREFERENCE_PATH varchar(191) +TEMP_CART_GROUP varchar(10) From 'GROUPS.NAME' SHOW_USER_LIST enum('N','Y') -NOTIFICATION_ADDRESS char(15) +NOTIFICATION_ADDRESS varchar(15) diff --git a/docs/tables/triggers.txt b/docs/tables/triggers.txt index d681e744..168642c1 100644 --- a/docs/tables/triggers.txt +++ b/docs/tables/triggers.txt @@ -1,12 +1,11 @@ TRIGGERS Table Layout for Rivendell The TRIGGERS table holds data concerning all triggers on the system. -Following is the layout of a record in the SERVICES table: FIELD NAME TYPE REMARKS ------------------------------------------------------------------------- ID int(10) unsigned Primary Key, Autoincrement -CUT_NAME char(12) Indexed +CUT_NAME varchar(12) From CUTS.CUT_NAME TRIGGER_CODE int(10) unsigned OFFSET int(10) Location diff --git a/docs/tables/ttys.txt b/docs/tables/ttys.txt index 7341a96a..c4963122 100644 --- a/docs/tables/ttys.txt +++ b/docs/tables/ttys.txt @@ -1,15 +1,15 @@ TTYS Table Layout for Rivendell The TTYS table holds data concerning each configured tty port on the -system. Following is the layout of a record in the TTYS table: +system. FIELD NAME TYPE REMARKS ------------------------------------------------------------------ ID int(10) unsigned Primary Key PORT_ID int(10) unsigned ACTIVE enum('N','Y') -STATION_NAME char(64) From STATIONS -PORT char(20) Unix device name +STATION_NAME varchar(64) From STATIONS +PORT varchar(20) Unix device name BAUD_RATE int(11) signed in bits/sec DATA_BITS int(11) signed STOP_BITS int(11) signed diff --git a/docs/tables/user_perms.txt b/docs/tables/user_perms.txt index 6e532821..6f0e5048 100644 --- a/docs/tables/user_perms.txt +++ b/docs/tables/user_perms.txt @@ -1,12 +1,10 @@ USER_PERMS Table Layout for Rivendell The USER_PERMS table holds data concerning which audio groups are -are allowed to be accessed by which users. Following is the layout -of a record in the USER_PERMS table: - +are allowed to be accessed by which users. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(10) unsigned Primary key, auto increment -USER_NAME char(255) From USERS.LOGIN_NAME -GROUP_NAME char(10) From GROUPS.NAME +USER_NAME varchar(191) From USERS.LOGIN_NAME +GROUP_NAME varchar(10) From GROUPS.NAME diff --git a/docs/tables/user_service_perms.txt b/docs/tables/user_service_perms.txt index 1e74bd8d..beda825a 100644 --- a/docs/tables/user_service_perms.txt +++ b/docs/tables/user_service_perms.txt @@ -7,5 +7,5 @@ are allowed to be accessed by which users. FIELD NAME TYPE REMARKS --------------------------------------------------------------- ID int(11) signed Primary key, auto increment -USER_NAME char(255) From USERS.LOGIN_NAME -SERVICE_NAME char(10) From SERVICES.NAME +USER_NAME varchar(191) From USERS.LOGIN_NAME +SERVICE_NAME varchar(10) From SERVICES.NAME diff --git a/docs/tables/users.txt b/docs/tables/users.txt index 9bebc136..0925484e 100644 --- a/docs/tables/users.txt +++ b/docs/tables/users.txt @@ -1,28 +1,25 @@ USERS Table Layout for Rivendell The USERS table holds data concerning each individual user configured -on the system. Following is the layout of a record in the USERS -table: +on the system. FIELD NAME TYPE REMARKS -------------------------------------------------------------------------- -LOGIN_NAME char(255) Primary key -FULL_NAME char(255) Indexed -PHONE_NUMBER char(20) -DESCRIPTION char(255) -PASSWORD char(32) Not-NULL, Hashed +LOGIN_NAME varchar(255) Primary key +FULL_NAME varchar(255) Indexed +PHONE_NUMBER varchar(20) +DESCRIPTION varchar(255) +PASSWORD varchar(32) Not-NULL, Hashed WEBAPI_AUTH_TIMEOUT int(11) signed Seconds ENABLE_WEB enum('N','Y') LOCAL_AUTH enum('N','Y') -PAM_SERVICE char(32) -ADMIN_USERS_PRIV enum('N','Y') Retired +PAM_SERVICE varchar(32) ADMIN_CONFIG_PRIV enum('N','Y') CREATE_CARTS_PRIV enum('N','Y') DELETE_CARTS_PRIV enum('N','Y') MODIFY_CARTS_PRIV enum('N','Y') EDIT_AUDIO_PRIV enum('N','Y') WEBGET_LOGIN_PRIV enum('N','Y') -ASSIGN_CART_PRIV enum('N','Y') Retired CREATE_LOG_PRIV enum('N','Y') DELETE_LOG_PRIV enum('N','Y') DELETE_REC_PRIV enum('N','Y') diff --git a/docs/tables/vguest_resources.txt b/docs/tables/vguest_resources.txt index 1895719e..3e9d62cd 100644 --- a/docs/tables/vguest_resources.txt +++ b/docs/tables/vguest_resources.txt @@ -3,12 +3,11 @@ The VGUEST_RESOURCES table holds data concerning the the mapping of various Rivendell objects to resources in a Logitek Audio Engine system. -Following is the layout of a record in the VGUEST_RESOURCES table: FIELD NAME TYPE REMARKS -------------------------------------------------------------------------- ID unsigned int(10) Primary key -STATION_NAME char(64) from STATIONS.NAME +STATION_NAME varchar(64) from STATIONS.NAME MATRIX_NUM int(11) from MATRICES.MATRIX VGUEST_TYPE int(11) NUMBER int(11) diff --git a/docs/tables/web_connections.txt b/docs/tables/web_connections.txt index 5da2cbdf..06a9ec43 100644 --- a/docs/tables/web_connections.txt +++ b/docs/tables/web_connections.txt @@ -6,6 +6,6 @@ browser connection. FIELD NAME TYPE REMARKS -------------------------------------------------------------------------- SESSION_ID unsigned int(10) Primary key -LOGIN_NAME char(255) From USERS.LOGIN_NAME -IP_ADDRESS char(16) +LOGIN_NAME varchar(191) From USERS.LOGIN_NAME +IP_ADDRESS varchar(16) TIMESTAMP datetime diff --git a/lib/dbversion.h b/lib/dbversion.h index 894bf1b8..a58c434e 100644 --- a/lib/dbversion.h +++ b/lib/dbversion.h @@ -24,7 +24,7 @@ /* * Current Database Version */ -#define RD_VERSION_DATABASE 296 +#define RD_VERSION_DATABASE 297 #endif // DBVERSION_H diff --git a/lib/rd.h b/lib/rd.h index 527f2c16..af753533 100644 --- a/lib/rd.h +++ b/lib/rd.h @@ -62,10 +62,8 @@ #define DEFAULT_MYSQL_DRIVER "QMYSQL3" #define DEFAULT_MYSQL_HEARTBEAT_INTERVAL 360 #define DEFAULT_MYSQL_ENGINE "MyISAM" -#define DEFAULT_MYSQL_CHARSET "utf8" -#define DEFAULT_MYSQL_COLLATION "utf8_general_ci" -#define MYSQL_BUILTIN_DATABASE "mysql" -#define POSTGRESQL_BUILTIN_DATABASE "template1" +#define DEFAULT_MYSQL_CHARSET "utf8mb4" +#define DEFAULT_MYSQL_COLLATION "utf8mb4_general_ci" /* * Default Logging Settings diff --git a/utils/rddbmgr/create.cpp b/utils/rddbmgr/create.cpp index 028713b4..ecd01863 100644 --- a/utils/rddbmgr/create.cpp +++ b/utils/rddbmgr/create.cpp @@ -63,6 +63,13 @@ bool MainObject::CreateNewDb(QString *err_msg) const // // Create a Rivendell DB of schema number 286 // + // Maintainer's Note: + // + // DO NOT alter the schema in this method! Rather, when adding schema + // changes, add the update to the 'UpdateSchema()' [updateschema.cpp] + // and the reversion to the 'RevertSchema()' [revertschema.cpp] methods. + // + QString sql; bool ok=false; diff --git a/utils/rddbmgr/revertschema.cpp b/utils/rddbmgr/revertschema.cpp index 36c175e1..39b90f68 100644 --- a/utils/rddbmgr/revertschema.cpp +++ b/utils/rddbmgr/revertschema.cpp @@ -38,6 +38,1773 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) co // + // + // Revert 297 + // + if((cur_schema==297)&&(set_schemacur_schema)) { + sql=QString("alter table AUDIO_CARDS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table AUDIO_CARDS ")+ + "modify column NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table AUDIO_INPUTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table AUDIO_OUTPUTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table AUDIO_PERMS ")+ + "modify column GROUP_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table AUDIO_PERMS ")+ + "modify column SERVICE_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table AUTOFILLS ")+ + "modify column SERVICE varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table AUX_METADATA ")+ + "modify column VAR_NAME varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table AUX_METADATA ")+ + "modify column CAPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CART ")+ + "modify column GROUP_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column TITLE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column ARTIST varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column ALBUM varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column CONDUCTOR varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column LABEL varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column CLIENT varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column AGENCY varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column PUBLISHER varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column COMPOSER varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column USER_DEFINED varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column SONG_ID varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column OWNER varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CART ")+ + "modify column PENDING_STATION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CARTSLOTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CARTSLOTS ")+ + "modify column SERVICE_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CAST_DOWNLOADS ")+ + "modify column FEED_KEY_NAME varchar(8) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CLIPBOARD ")+ + "modify column CUT_NAME varchar(12) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLIPBOARD ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLIPBOARD ")+ + "modify column OUTCUE varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLIPBOARD ")+ + "modify column ORIGIN_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CLOCKS ")+ + "modify column NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLOCKS ")+ + "modify column SHORT_NAME varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLOCKS ")+ + "modify column COLOR varchar(7)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLOCKS ")+ + "modify column REMARKS text"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CLOCK_LINES ")+ + "modify column CLOCK_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLOCK_LINES ")+ + "modify column EVENT_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CLOCK_PERMS ")+ + "modify column CLOCK_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CLOCK_PERMS ")+ + "modify column SERVICE_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CUTS ")+ + "modify column CUT_NAME varchar(12) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column OUTCUE varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column ISRC varchar(12)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column ISCI varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column SHA1_HASH varchar(40)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column ORIGIN_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column ORIGIN_LOGIN_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table CUTS ")+ + "modify column SOURCE_HOSTNAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table CUT_EVENTS ")+ + "modify column CUT_NAME varchar(12) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table DECKS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table DECKS ")+ + "modify column SWITCH_STATION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table DECK_EVENTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table DROPBOXES ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table DROPBOXES ")+ + "modify column GROUP_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table DROPBOXES ")+ + "modify column PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table DROPBOXES ")+ + "modify column METADATA_PATTERN varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table DROPBOXES ")+ + "modify column LOG_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table DROPBOXES ")+ + "modify column SET_USER_DEFINED varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table DROPBOX_PATHS ")+ + "modify column FILE_PATH varchar(191) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table DROPBOX_SCHED_CODES ")+ + "modify column SCHED_CODE varchar(11) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table ELR_LINES ")+ + "modify column SERVICE_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column LOG_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column TITLE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column ARTIST varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column PUBLISHER varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column COMPOSER varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column USER_DEFINED varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column SONG_ID varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column ALBUM varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column LABEL varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column CONDUCTOR varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column OUTCUE varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column ISRC varchar(12)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column ISCI varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column EXT_CART_NAME varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column EXT_DATA varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column EXT_EVENT_ID varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ELR_LINES ")+ + "modify column EXT_ANNC_TYPE varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table ENCODERS ")+ + "modify column NAME varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ENCODERS ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ENCODERS ")+ + "modify column COMMAND_LINE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ENCODERS ")+ + "modify column DEFAULT_EXTENSION varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table EVENTS ")+ + "modify column NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column PROPERTIES varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column DISPLAY_TEXT varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column NOTE_TEXT varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column COLOR varchar(7)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column SCHED_GROUP varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column HAVE_CODE varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column HAVE_CODE2 varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column NESTED_EVENT varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENTS ")+ + "modify column REMARKS text"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table EVENT_LINES ")+ + "modify column EVENT_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENT_LINES ")+ + "modify column MARKER_COMMENT varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table EVENT_PERMS ")+ + "modify column EVENT_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EVENT_PERMS ")+ + "modify column SERVICE_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table EXTENDED_PANELS ")+ + "modify column OWNER varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EXTENDED_PANELS ")+ + "modify column LABEL varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EXTENDED_PANELS ")+ + "modify column DEFAULT_COLOR varchar(7)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table EXTENDED_PANEL_NAMES ")+ + "modify column OWNER varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table EXTENDED_PANEL_NAMES ")+ + "modify column NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table FEEDS ")+ + "modify column KEY_NAME varchar(8) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_TITLE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_DESCRIPTION text"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_CATEGORY varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_LINK varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_COPYRIGHT varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_WEBMASTER varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column CHANNEL_LANGUAGE varchar(5) default \"en-us\""; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column BASE_URL varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column BASE_PREAMBLE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column PURGE_URL varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column PURGE_USERNAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column PURGE_PASSWORD varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column UPLOAD_EXTENSION varchar(16) default \"mp3\""; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEEDS ")+ + "modify column REDIRECT_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table FEED_PERMS ")+ + "modify column USER_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table FEED_PERMS ")+ + "modify column KEY_NAME varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table GPIO_EVENTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table GPIS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table GPOS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table GROUPS ")+ + "modify column NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table GROUPS ")+ + "modify column DESCRIPTION varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table GROUPS ")+ + "modify column DEFAULT_TITLE varchar(191) default 'Imported from %f.%e'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table GROUPS ")+ + "modify column COLOR varchar(7)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table HOSTVARS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table HOSTVARS ")+ + "modify column NAME varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table HOSTVARS ")+ + "modify column VARVALUE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table HOSTVARS ")+ + "modify column REMARK varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table IMPORTER_LINES ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table IMPORTER_LINES ")+ + "modify column TITLE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table IMPORTER_LINES ")+ + "modify column TRACK_STRING varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table IMPORTER_LINES ")+ + "modify column EXT_DATA varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table IMPORTER_LINES ")+ + "modify column EXT_EVENT_ID varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table IMPORTER_LINES ")+ + "modify column EXT_ANNC_TYPE varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table IMPORTER_LINES ")+ + "modify column EXT_CART_NAME varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table IMPORT_TEMPLATES ")+ + "modify column NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table INPUTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table INPUTS ")+ + "modify column NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table INPUTS ")+ + "modify column FEED_NAME varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table INPUTS ")+ + "modify column NODE_HOSTNAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column ISCI varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column FILENAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column TYPE varchar(1) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column ADVERTISER_NAME varchar(30)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column PRODUCT_NAME varchar(35)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column CREATIVE_TITLE varchar(30)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table ISCI_XREFERENCE ")+ + "modify column REGION_NAME varchar(80)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table JACK_CLIENTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table JACK_CLIENTS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table JACK_CLIENTS ")+ + "modify column COMMAND_LINE text"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table LIVEWIRE_GPIO_SLOTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LIVEWIRE_GPIO_SLOTS ")+ + "modify column IP_ADDRESS varchar(15)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table LOGS ")+ + "modify column NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column SERVICE varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column ORIGIN_USER varchar(191) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column LOCK_USER_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column LOCK_STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column LOCK_IPV4_ADDRESS varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOGS ")+ + "modify column LOCK_GUID varchar(82)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table LOG_LINES ")+ + "modify column LOG_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column COMMENT varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column LABEL varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column ORIGIN_USER varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column LINK_EVENT_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column EXT_CART_NAME varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column EXT_DATA varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column EXT_EVENT_ID varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_LINES ")+ + "modify column EXT_ANNC_TYPE varchar(8)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table LOG_MACHINES ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_MACHINES ")+ + "modify column LOG_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_MACHINES ")+ + "modify column CURRENT_LOG varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_MACHINES ")+ + "modify column UDP_ADDR varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_MACHINES ")+ + "modify column UDP_STRING varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table LOG_MACHINES ")+ + "modify column LOG_RML varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table LOG_MODES ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table MATRICES ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column IP_ADDRESS varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column IP_ADDRESS_2 varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column USERNAME varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column USERNAME_2 varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column PASSWORD varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column PASSWORD_2 varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table MATRICES ")+ + "modify column GPIO_DEVICE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table NOWNEXT_PLUGINS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table NOWNEXT_PLUGINS ")+ + "modify column PLUGIN_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table NOWNEXT_PLUGINS ")+ + "modify column PLUGIN_ARG varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table OUTPUTS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table OUTPUTS ")+ + "modify column NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table OUTPUTS ")+ + "modify column NODE_HOSTNAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table PANELS ")+ + "modify column OWNER varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PANELS ")+ + "modify column LABEL varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PANELS ")+ + "modify column DEFAULT_COLOR varchar(7)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table PANEL_NAMES ")+ + "modify column OWNER varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PANEL_NAMES ")+ + "modify column NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_TITLE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_DESCRIPTION text"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_CATEGORY varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_LINK varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_COMMENTS varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_AUTHOR varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_SOURCE_TEXT varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column ITEM_SOURCE_URL varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table PODCASTS ")+ + "modify column AUDIO_FILENAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDAIRPLAY ")+ + "modify column STATION varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column BUTTON_LABEL_TEMPLATE varchar(32) default '%t'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column DEFAULT_SERVICE varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column TITLE_TEMPLATE varchar(64) default '%t'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column ARTIST_TEMPLATE varchar(64) default '%a'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column OUTCUE_TEMPLATE varchar(64) default '%o'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column DESCRIPTION_TEMPLATE varchar(64) default '%i'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column EXIT_PASSWORD varchar(41)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY ")+ + "modify column SKIN_PATH varchar(191) default '/usr/share/pixmaps/rivendell/rdairplay_skin.png'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDAIRPLAY_CHANNELS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY_CHANNELS ")+ + "modify column START_RML varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDAIRPLAY_CHANNELS ")+ + "modify column STOP_RML varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDCATCH ")+ + "modify column STATION varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDCATCH ")+ + "modify column ERROR_RML varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDHOTKEYS ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDHOTKEYS ")+ + "modify column MODULE_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDHOTKEYS ")+ + "modify column KEY_VALUE varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDHOTKEYS ")+ + "modify column KEY_LABEL varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDLIBRARY ")+ + "modify column STATION varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDLIBRARY ")+ + "modify column RIPPER_DEVICE varchar(64) default '/dev/cdrom'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDLIBRARY ")+ + "modify column CDDB_SERVER varchar(64) default 'freedb.freedb.org'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDLOGEDIT ")+ + "modify column STATION varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDPANEL ")+ + "modify column STATION varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDPANEL ")+ + "modify column BUTTON_LABEL_TEMPLATE varchar(32) default '%t'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDPANEL ")+ + "modify column DEFAULT_SERVICE varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDPANEL ")+ + "modify column SKIN_PATH varchar(191) default '/usr/share/pixmaps/rivendell/rdpanel_skin.png'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RDPANEL_CHANNELS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDPANEL_CHANNELS ")+ + "modify column START_RML varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RDPANEL_CHANNELS ")+ + "modify column STOP_RML varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table RECORDINGS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RECORDINGS ")+ + "modify column CUT_NAME varchar(12) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RECORDINGS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RECORDINGS ")+ + "modify column URL varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RECORDINGS ")+ + "modify column URL_USERNAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table RECORDINGS ")+ + "modify column URL_PASSWORD varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPLICATORS ")+ + "modify column NAME varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPLICATORS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPLICATORS ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPLICATORS ")+ + "modify column URL varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPLICATORS ")+ + "modify column URL_USERNAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPLICATORS ")+ + "modify column URL_PASSWORD varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPLICATOR_MAP ")+ + "modify column REPLICATOR_NAME varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPLICATOR_MAP ")+ + "modify column GROUP_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPL_CART_STATE ")+ + "modify column REPLICATOR_NAME varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPL_CART_STATE ")+ + "modify column POSTED_FILENAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPL_CUT_STATE ")+ + "modify column REPLICATOR_NAME varchar(32) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPL_CUT_STATE ")+ + "modify column CUT_NAME varchar(12) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPORTS ")+ + "modify column NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORTS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORTS ")+ + "modify column EXPORT_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORTS ")+ + "modify column WIN_EXPORT_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORTS ")+ + "modify column STATION_ID varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORTS ")+ + "modify column SERVICE_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORTS ")+ + "modify column STATION_FORMAT varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPORT_GROUPS ")+ + "modify column REPORT_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORT_GROUPS ")+ + "modify column GROUP_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPORT_SERVICES ")+ + "modify column REPORT_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORT_SERVICES ")+ + "modify column SERVICE_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPORT_SERVICES ")+ + "modify column REPORT_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORT_SERVICES ")+ + "modify column SERVICE_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table REPORT_STATIONS ")+ + "modify column REPORT_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table REPORT_STATIONS ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table SERVICES ")+ + "modify column NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column DESCRIPTION varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column NAME_TEMPLATE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column DESCRIPTION_TEMPLATE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column PROGRAM_CODE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TRACK_GROUP varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column AUTOSPOT_GROUP varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_WIN_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_IMPORT_TEMPLATE varchar(64) default 'Rivendell Standard Import'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_LABEL_CART varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_TRACK_CART varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_BREAK_STRING varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column TFC_TRACK_STRING varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table SERVICES ")+ + "modify column MUS_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column MUS_WIN_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column MUS_IMPORT_TEMPLATE varchar(64) default 'Rivendell Standard Import'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column MUS_LABEL_CART varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column MUS_TRACK_CART varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column MUS_BREAK_STRING varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICES ")+ + "modify column MUS_TRACK_STRING varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table SERVICE_CLOCKS ")+ + "modify column SERVICE_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICE_CLOCKS ")+ + "modify column CLOCK_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table SERVICE_PERMS ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SERVICE_PERMS ")+ + "modify column SERVICE_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table STACK_LINES ")+ + "modify column SERVICE_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table STATIONS ")+ + "modify column NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column SHORT_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column DESCRIPTION varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column USER_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column DEFAULT_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column IPV4_ADDRESS varchar(15) default '127.0.0.2'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column HTTP_STATION varchar(64) default 'localhost'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column CAE_STATION varchar(64) default 'localhost'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column EDITOR_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column JACK_SERVER_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column JACK_COMMAND_LINE varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column HPI_VERSION varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column JACK_VERSION varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table STATIONS ")+ + "modify column ALSA_VERSION varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table SWITCHER_NODES ")+ + "modify column STATION_NAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SWITCHER_NODES ")+ + "modify column HOSTNAME varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SWITCHER_NODES ")+ + "modify column PASSWORD varchar(64)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SWITCHER_NODES ")+ + "modify column DESCRIPTION varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table SYSTEM ")+ + "modify column ISCI_XREFERENCE_PATH varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SYSTEM ")+ + "modify column TEMP_CART_GROUP varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table SYSTEM ")+ + "modify column NOTIFICATION_ADDRESS varchar(15) default '"+ + RD_NOTIFICATION_ADDRESS+"'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table TRIGGERS ")+ + "modify column CUT_NAME varchar(12)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table TTYS ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table TTYS ")+ + "modify column PORT varchar(20)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table USERS ")+ + "modify column LOGIN_NAME varchar(191) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USERS ")+ + "modify column FULL_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USERS ")+ + "modify column PHONE_NUMBER varchar(20)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USERS ")+ + "modify column DESCRIPTION varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USERS ")+ + "modify column PASSWORD varchar(32)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USERS ")+ + "modify column PAM_SERVICE varchar(32) default 'rivendell'"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table USER_PERMS ")+ + "modify column USER_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USER_PERMS ")+ + "modify column GROUP_NAME varchar(10)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table USER_SERVICE_PERMS ")+ + "modify column USER_NAME varchar(191) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table USER_SERVICE_PERMS ")+ + "modify column SERVICE_NAME varchar(10) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table VGUEST_RESOURCES ")+ + "modify column STATION_NAME varchar(64) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table WEBAPI_AUTHS ")+ + "modify column TICKET varchar(41) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table WEBAPI_AUTHS ")+ + "modify column LOGIN_NAME varchar(191) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table WEBAPI_AUTHS ")+ + "modify column IPV4_ADDRESS varchar(16) not null"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + sql=QString("alter table WEB_CONNECTIONS ")+ + "modify column LOGIN_NAME varchar(191)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + sql=QString("alter table WEB_CONNECTIONS ")+ + "modify column IP_ADDRESS varchar(16)"; + if(!RDSqlQuery::apply(sql,err_msg)) { + return false; + } + + WriteSchemaVersion(++cur_schema); + } + // From b18c15b973ba9c1aa2f08843e4acab693053f300 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Wed, 3 Oct 2018 18:23:08 -0400 Subject: [PATCH 09/10] 2018-10-03 Fred Gleason * Added a beta test warning to 'README'. --- ChangeLog | 2 ++ README | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e34b6f3..9dfabdc9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17738,3 +17738,5 @@ * Changed the default DB collation to 'utf8mb4_general_ci'. * Removed the MYSQL_BUILTIN_DATABASE define from 'lib/rd.h'. * Removed the POSTGRESQL_BUILTIN_DATABASE define from 'lib/rd.h'. +2018-10-03 Fred Gleason + * Added a beta test warning to 'README'. diff --git a/README b/README index aafc62c5..3600d910 100644 --- a/README +++ b/README @@ -1,5 +1,10 @@ This is the README file for the Rivendell package. +WARNING: This is a BETA TEST version of Rivendell. As such, it is virtually + guaranteed to contain bugs, possibly severe ones that could + cause LOSS OF DATA. It is intended for testing purposes, and + should not be used in 'production' siuations. + This software comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details. @@ -8,8 +13,8 @@ to be a robust, functionally complete digital audio system for use in professional radio broadcast environments. See the file INSTALL for installation instructions. If you are upgrading from -a 1.x version of Rivendell, also see the file 'UPGRADING' for important notes -and pointers. +a 1.x or 2.x version of Rivendell, also see the file 'UPGRADING' +for important notes and pointers. OVERVIEW From d6a45dbd6d1170cc4090928af8ca2fd46450854c Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Wed, 3 Oct 2018 19:59:25 -0400 Subject: [PATCH 10/10] 2018-10-03 Fred Gleason * Updated 'UPGRADING' to include information for v3.x. * Updated 'INSTALL'. --- ChangeLog | 3 ++ INSTALL | 125 ++++++++++++++++++++++++++++++------------------------ UPGRADING | 87 +++++++++++++++++++++++++++---------- 3 files changed, 138 insertions(+), 77 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9dfabdc9..df7146de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17740,3 +17740,6 @@ * Removed the POSTGRESQL_BUILTIN_DATABASE define from 'lib/rd.h'. 2018-10-03 Fred Gleason * Added a beta test warning to 'README'. +2018-10-03 Fred Gleason + * Updated 'UPGRADING' to include information for v3.x. + * Updated 'INSTALL'. diff --git a/INSTALL b/INSTALL index 0c80557c..c6e0812d 100644 --- a/INSTALL +++ b/INSTALL @@ -8,53 +8,56 @@ Apache Web Server Included with most distros, or available from: http://www.apache.org/. Cdda2Wav -A CD ripper engine. Included in most distributions, but also available from +A CD ripper engine. Included in most distributions, but also available from http://www.cdda2wav.de/. Expat A stream-oriented XML parser library. Available at https://libexpat.github.io/. ID3Lib -An audio metadata tag library. Included in most distros, or available at +An audio metadata tag library. Included in most distros, or available at http://id3lib.sourceforge.net/. LibCurl, v7.19.0 or later -A client-side URL transfer library. Included with most distros, or +A client-side URL transfer library. Included with most distros, or available at: http://curl.haxx.se/libcurl/. LibParanoia -A library for ripping audio CDs. Included in most distributions, but also +A library for ripping audio CDs. Included in most distributions, but also available from http://www.xiph.org/paranoia/. LibSndFile -An audio file support library, written by Erik de Castro Lopo. Included with +An audio file support library, written by Erik de Castro Lopo. Included with most distros, or you can find it at http://www.mega-nerd.com/libsndfile/. -mySQL Database Server -Included in most Linux distributions. See http://www.mysql.com/. +MySQL/MariaDB Database Server +Included in most Linux distributions. See http://www.mysql.com/. PAM Pluggable Authentication Modules A suite of shared libraries that enable the local system administrator to -choose how applications authenticate users. Included with virtually all modern +choose how applications authenticate users. Included with virtually all modern distros, or see http://www.kernel.org/pub/linux/libs/pam/. -OggVorbis - Open Source Audio Coding Library. Needed for OggVorbis -importing and exporting. Included with most distros, or available at: +OggVorbis - Open Source Audio Coding Library. Needed for OggVorbis +importing and exporting. Included with most distros, or available at: http://www.xiph.org/. Qt Toolkit, v4.6 or better -Most modern Linux distros include this. It's typically installed as part +Most modern Linux distros include this. It's typically installed as part of the KDE Desktop Environment, although KDE is by no means required. It can also be downloaded directly from TrollTech (http://www.trolltech.com/). Secret Rabbit Code -A sample-rate converter library, written by Erik de Castro Lopo. Included +A sample-rate converter library, written by Erik de Castro Lopo. Included with most distros, or you can find it at http://www.mega-nerd.com/SRC/. SoundTouch Audio Processing Library A library for altering the pitch and/or tempo of digital audio data. Available at http://www.surina.net/soundtouch/. +Systemd System and Service Manager +Most modern Linux distros include this. + X11 Window System Virtually all Linux distros should include this. @@ -63,15 +66,15 @@ OPTIONAL PREREQUISITES The following components are optional, but needed at build- and run- time in order for particular features to work: -One or more audio driver libraries. Choices are: +One or more audio driver libraries. Choices are: AudioScience HPI Driver - v3.00 or greater. - For supporting AudioScience's line of high-end professional audio adapters. + For supporting AudioScience's line of high-end professional audio adapters. See http://www.audioscience.com/. The JACK Audio Connection Kit A low latency audio server, designed from the ground up for - professional audio work. See http://jackit.sourceforge.net/. + professional audio work. See http://jackit.sourceforge.net/. Further information on running Rivendell with the JACK driver can be found in 'docs/JACK.txt'. @@ -80,45 +83,41 @@ One or more audio driver libraries. Choices are: See http://www.alsa-project.org/. Free Lossless Audio Codec (FLAC), v1.2.x or greater -A "lossless" audio encoding library. Included with most distros, or +A "lossless" audio encoding library. Included with most distros, or available from: http://flac.sourceforge.net/. -GPIO Driver -A kernel driver for the line of data-acquisition boards from -MeasurementComputing. See http://www.rivendellaudio.org/. - -FAAD2 / mp4v2 - AAC/MP4 Decoding Libraries. Needed for MP4 file importation. +FAAD2 / mp4v2 - AAC/MP4 Decoding Libraries. Needed for MP4 file importation. Available at http://www.audiocoding.com/faad2.html and https://code.google.com/p/mp4v2/ respectively. -LAME - MPEG Layer 3 Encoder Library. Needed for MPEG Layer 3 exporting. +LAME - MPEG Layer 3 Encoder Library. Needed for MPEG Layer 3 exporting. Available at http://lame.sourceforge.net/. -MAD - MPEG Audio Decoder Library. Needed for MPEG importing and playout. +MAD - MPEG Audio Decoder Library. Needed for MPEG importing and playout. Available at http://www.underbit.com/products/mad/. -TwoLAME - MPEG Layer 2 Encoder Library. Needed for MPEG Layer 2 exporting and -capture. Available at http://www.twolame.org/. +TwoLAME - MPEG Layer 2 Encoder Library. Needed for MPEG Layer 2 exporting and +capture. Available at http://www.twolame.org/. DOCUMENTATION ------------- The larger pieces of the Rivendell documentation are written in XML-DocBook5. Pre-generated docs are included in the source tarball, so special tools will -not normally be required to view or install them. However, if you need to +not normally be required to view or install them. However, if you need to rebuild them (either because you've modified the DocBook sources or are installing from the primary GitHub repository), then you will need the following: -XML-DocBook5 Stylesheets. Available at -http://sourceforge.net/projects/docbook/. You will also need to create a +XML-DocBook5 Stylesheets. Available at +http://sourceforge.net/projects/docbook/. You will also need to create a $DOCBOOK_STYLESHEETS variable in your environment that points to the top -of the stylesheet tree. More information can be found at -http://www.docbook.org/tdg5/en/html/appa.html#s.stylesheetinstall. On +of the stylesheet tree. More information can be found at +http://www.docbook.org/tdg5/en/html/appa.html#s.stylesheetinstall. On RHEL-ish systems, they are also available in the 'docbook5-style-xsl' package. -xsltproc. Command line XSLT processor. Available at +xsltproc. Command line XSLT processor. Available at http://xmlsoft.org/XSLT/xsltproc2.html Apache FOP. Formatting Objects (FO) processor. Available at @@ -126,7 +125,7 @@ https://xmlgraphics.apache.org/fop/. INSTALLATION There are three major steps to getting a Rivendell system up and -running. They are: +running. They are: 1) Setting up pre-requisite software @@ -138,16 +137,16 @@ running. They are: 1) Setting Up Prerequisites The major prerequisite piece of software needed for a functioning -Rivendell system is the mySQL database engine. This needs to +Rivendell system is the mySQL database engine. This needs to be accessible from the target system (either by running on the local host, or on a remote system) before Rivendell installation proper -is commenced. In practice, this means that the 'mysqld' daemon is -running and can be connected to using the mysql(1) client. You will +is commenced. In practice, this means that the 'mysqld' daemon is +running and can be connected to using the mysql(1) client. You will also need a login name/password for an account on the server with administrative rights. The process of configuring mySQL on a given host can be intricate and -is generally beyond the scope of this document. Details can be found +is generally beyond the scope of this document. Details can be found in a number of books on the subject, as well as in the very extensive documentation that accompanies the server itself. @@ -160,11 +159,11 @@ list of currently supported GPIO boards are included in the package. Once the prerequisites are set up, installation is most often a matter of cd'ing to the top of the Rivendell source tree and typing -'./configure', 'make', followed (as root) by 'make install'. Those +'./configure', 'make', followed (as root) by 'make install'. Those who obtained the source via CVS will need to do './autogen.sh' first. The ./configure script will auto-detect what sound drivers (HPI, JACK -or ALSA) are available and enable build support accordingly. To override +or ALSA) are available and enable build support accordingly. To override this behavior, it's possible to specify '--disable-hpi', '--disable-jack' or '--disable-alsa' as an argument to './configure'. Be sure to see the important additional information regarding @@ -174,12 +173,12 @@ plan on using those sound driver architectures. The installation of Rivendell's web services components are controlled by two parameters passed to 'configure', as follows: ---libexecdir Location to install web scripts and static content +--libexecdir Location to install web scripts and static content ---sysconfdir Location to install Apache configuration +--sysconfdir Location to install Apache configuration The specific values to pass will vary widely depending upon the specific -distro in question. Some known good values (assuming a default Apache +distro in question. Some known good values (assuming a default Apache setup): RHEL 5: --libexecdir=/var/httpd/rd-bin --sysconfdir=/etc/httpd/conf.d @@ -194,9 +193,9 @@ After doing 'make install', be sure to restart the Apache web service. 3) Initial Configuration Next, you'll need to install a small configuration file at -'/etc/rd.conf'. A sample can be found in 'conf/rd.conf-sample'. Much +'/etc/rd.conf'. A sample can be found in 'conf/rd.conf-sample'. Much of this can be used unchanged, with the exception of the entries in the -[Identity] section. These should be changed to reflect the user and group +[Identity] section. These should be changed to reflect the user and group name of the system accounts that will be running Rivendell. The directory for the audio sample data next needs to be created, as @@ -208,16 +207,32 @@ This directory should owned, readable, writable and searchable by the user and group specified in the 'AudioOwner=' and 'AudioGroup=' entires in '/etc/rd.conf' and readable and searchable by Others (mode 0775). -Finally, it's time to start things up. Run 'rdadmin' from a shell -prompt. For the first time startup, RDAdmin will prompt for a login -name/password on the mySQL server so that it can create the Rivendell -database. To log into RDAdmin for the first time, enter a User Name of -'admin' with no password. +Next, create an empty database on the MySQL/MariaDb server, as well as a +DB user to access it. This user should have the following privileges: -Much of the work in Rivendell gets done by three daemon processes, -named 'caed', 'ripcd' and 'rdcatchd'. These daemons *must* be running -before attempting to start any of the Rivendell applications. The -order in which they are started is important, and should be the same -as the order in which they are listed above. For convienence, a Sys-V -style init script called 'rivendell' that can start, stop and restart -the daemons properly is installed in '/etc/init.d/'. + Select + Insert + Update + Delete + Create + Drop + References + Index + Alter + Create Temporary Table + Lock Tables + +In the '[mySQL]' section of the '/etc/rd.conf' file, set the 'Database=', +'Loginname=' and 'Password=' parameters to the DB name, user and password +that you created. Then, create an initial Rivendell database by doing: + + rddbmgr --create + +If all goes well, this command should return with no output. + +Finally, start up the Rivendell service by doing (as root): + + systemctl start rivendell + +You should now be able to run the various Rivendell components from the +Applications menu. diff --git a/UPGRADING b/UPGRADING index a0c86832..01b92bb4 100644 --- a/UPGRADING +++ b/UPGRADING @@ -1,25 +1,25 @@ IMPORTANT NOTE: BE SURE TO SEE THE SECTION ON 'PASSWORD STORAGE' BELOW, OTHERWISE YOU MAY BE LOCKED OUT OF THE SYSTEM AFTER THE UPDATE! -This file provides some notes to those performing an upgrade from a v1.x -version to Rivendell. It is an attempt to provide some pointers about things -which have changed, but is in no way a substitute for reading the 'INSTALL' -file and other documentation! +This file provides some notes to those performing an upgrade from a v1.x or +v2.x version of Rivendell. It is an attempt to provide some pointers about +things which have changed, but is in no way a substitute for reading the +'INSTALL' file and other documentation! 1) DEPENDENCIES The set of external packages required to build and run Rivendell has changed -significantly from that required for a 1.x system. See 'INSTALL' for a full -list. +significantly from that required for a 1.x or 2.x system. See 'INSTALL' for +a full list. 2) MPEG SUPPORT -This version of Rivendell inaugurates optional support for MPEG Layer 2 +This version of Rivendell includes optional support for MPEG Layer 2 encoding within the core Rivendell audio library for all classes of audio -device (JACK and ALSA as well as AudioScience HPI). To make use of this +device (JACK and ALSA as well as AudioScience HPI). To make use of this feature, it will be necessary to have the appropriate MPEG libraries -properly installed at both build- and run-time. See 'INSTALL' for the +properly installed at both build- and run-time. See 'INSTALL' for the specifics. -3) FILE OWNERSHIP AND PERMISSIONS +3) FILE OWNERSHIP AND PERMISSIONS (v1.x only) Recommended file ownership and permissions for the '/var/snd' directory and its contents have changed. These items should be owned by system user and group accounts created specifically for Rivendell; no 'real' user on the @@ -32,25 +32,25 @@ should have read, write set for user and group and just read for others (0664). 4) WEB SERVICES This version of Rivendell makes use of a web services protocol to accomplish -many functions (audio import, export, ripping, etc). These services require +many functions (audio import, export, ripping, etc). These services require that a CGI-compliant web server be installed and active on the system. Any server that complies with CGI-1.1 should work, although as of this writing -only Apache 2.2 has been well tested. A configuration file snippet for Apache +only Apache 2.2 has been well tested. A configuration file snippet for Apache that will configure the target web services directory (set by the '--libexecdir=' switch passed to './configure') correctly is generated automatically as part of the build process; it can be found in 'conf/rd-bin.conf' after the build is complete. -5) PASSWORD STORAGE -The method of storing passwords in the database has changed in Rivendell 2.x, -requiring that all non-null passwords be reset after performing the upgrade. -This means that it is important that the account used to access RDAdmin be set -to use a null (blank) password *before* applying the update, otherwise you -will not be able to access RDAdmin afterwards! Once the update has been -applied, passwords should be re-entered for all user accounts in RDAdmin -(including administrative ones) in the usual manner. +5) PASSWORD STORAGE (v1.x only) +The method of storing passwords in the database has changed in Rivendell 2.x +and 3.x, requiring that all non-null passwords be reset after performing the +upgrade. This means that it is important that the account used to access +RDAdmin be set to use a null (blank) password *before* applying the update, +otherwise you will not be able to access RDAdmin afterwards! Once the update +has been applied, passwords should be re-entered for all user accounts in +RDAdmin (including administrative ones) in the usual manner. -6) AUDIO SAMPLE RATE +6) AUDIO SAMPLE RATE (v1.x only) The sample rate to be used for the Rivendell audio library is now a single system-wide setting (found in RDAdmin->SystemSettings); it is no longer possible to set sample rates individually per module/workstation. When @@ -67,8 +67,51 @@ the target file, respectively. The 'smb:' protocol is no longer supported. -8) RLM API CHANGES +8) RLM API CHANGES (V1.x only) The parameters passed to the RLMPadDataSent() callback in RLMs have changed; private plug-ins written for RD 1.x will need to be modified to work with the new API. (All plug-ins supplied with the Rivendell sources have already been modified appropriately.) + +9) DATABASE CHARACTER SET CONVERSION +Databases generated using Rivendell v1.x or v2.x used the 'latin1' character +set. Such databases must be converted to use the 'utf8mb4' character set +before they can be properly utilized by Rivendell 3.x. To perform this +conversion, proceed as follows: + +BEFORE UPDATING +--------------- +A) Make a full and complete backup of the database, using either rdadmin(1) +or the MySQL mysqldump(1) utility. Don't skip this! + +B) Use the rddbcheck(8) tool to verify the consistency of the database. +Be sure to fix any problems found *before* upgrading the Rivendell binaries! + +AFTER UPDATING +-------------- +C) Check the '[mySQL]' section of '/etc/rd.conf' and verify that the +following parameters are set: + +[mySQL] +Charset=utf8mb4 +Collation=utf8mb4_general_ci + +(There will likely be additional parameters present in the '[mySQL]' +section; these can be left unchanged). + +D) Update the DB schema using the rddbmgr(8) command: + + rddbmgr --modify + +If all goes well, the command should exit without printing anything. + +E) Convert the DB character set using the rddbmgr(8) command: + + rddbmgr --check --yes + +You should see a list of DB tables generated as each one is converted. + +At this point, you should be ready to start the Rivendell service, by doing: + + systemctl restart rivendell +