With MySQL v5.7+ you have to specifically set either a valid date or NULL
otherwise you get SQL errors. In previous versions setting a date to "" implied
NULL, this is no longer the case which causes nice SQL errors all over the
place.
This new RDCheckDateTime is an overloaded function that calls the respective
isValid method of QDate/Time/DateTime and either returns the requested formatted
string or returns NULL as a string.
This can then be used as part of an INSERT/UPDATE without breaking the stricter
NULL interpretation of MySQL v5.7+.
* Added 'RDAudioExport::cartNumber()', 'RDAudioExport::cutNumber()'
and 'RDAudioExport::settings()' meethods in 'lib/rdaudioexport.cpp'
and 'lib/rdaudioexport.h'.
* Added expanded error logging in 'utils/rdexport/rdexport.cpp'.
* Removed the 'not null' attribute from the 'LOGS.LINK_DATETIME',
'LOGS.START_DATE' and 'LOGS.END_DATE' fields in the database
[GitHub issue #000121].
* Incremented the database version to 257.
* Added support for the RDCatchd 'DE' command in
'rdcatchd/rdcatchd.cpp', 'rdcatchd/rdcatchd.h',
'rdcatchd/event_player.cpp', 'rdcatchd/event_player.h' and
'rdcatchd/local_macros.cpp'.
* Added a deck event indicator to RDCatch's deck monitor in
'rdcatch/deckmon.cpp' and 'rdcatch/deckmon.h'.
* Added an entry for the Broadcast Tools SRC-16 in
'docs/SWITCHERS.txt'.
* Added a 'CUT_EVENTS' table to the database.
* Added a 'DECK_EVENTS' table to the database.
* Incremented the database version to 256.
* Implemented a 'Cut Event' ['CE'] RML.
* Added a 'Event Carts' section to the Edit Deck dialog in
'rdadmin/edit_deck.cpp' and 'rdadmin/edit_deck.h'.
* Added a 'Cut Log' report in 'lib/export_cutlog.cpp'.
* Added 'DESCRIPTION' and 'OUTCUE' fields to the '_SRT' table
schema.
* Incremented the database version to 255.
* Update web test methods in 'web/tests/'.
* Added an 'RDSchedCode' class in 'lib/rdschedcode.cpp' and
'lib/rdschedcode.h'.
* Implemented the 'ListSchedCodes' web method in
'web/rdxport/schedcodes.cpp'.
* Implemented the 'AssignSchedCode' web method in
'web/rdxport/schedcodes.cpp'.
* Implemented the 'UnassignSchedCode' web method in
'web/rdxport/schedcodes.cpp'.
* Implemented the 'ListCartSchedCodes' web method in
'web/rdxport/schedcodes.cpp'.
* Extended 'RDGetWebTime()' and 'RDGetWebDateTime()' functions to
support XML 'xs' namespace formats.
* Implemented '*_POINT' fields in the 'EditCut' web method in
'web/rdxport/carts.cpp'.
* Modified the 'RDCart::removeSchedCode()' method so as to treat
scheduler codes in a case-insensitve manner.
* Modified the return of the 'EditCut' web method to provide a full
<cutList> record in 'web/rdxport/carts.cpp'.
* Added a 'CART.USE_WEIGHTING' field to the database.
* Added a 'CUTS.PLAY_ORDER' field to the database.
* Incremented the database version to 254.
* Added a 'Schedule Cuts By' control to the Edit Cart dialog in
'rdlibrary/edit_cart.cpp' and 'rdlibrary/edit_cart.h'.
* Added 'RDCart::useWeighting()' and 'RDCart::setUseWeighting()'
methods in 'lib/rdcart.cpp' and 'lib/rdcart.h'.
* Added 'RDCut::playOrder()' and 'RDCut::setPlayOrder()' methods
in 'lib/rdcut.cpp' and 'lib/rdcut.h'.
* Added an 'RDAudioConvert::Stage3Pcm24()' method in
'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
* Added a 'Format::Pcm24' value to the 'RDSettings::Format'
enumeration in 'lib/rdsettings.h'.
* Modified the 'RDAudioConvert' class to support generating PCM24
output in 'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
* Modified the 'RDPlayStream' class to support playing PCM24
data in 'rdhpi/rdplaystream.cpp'.
* Modified the 'RDRecordStream' class to support capturing PCM24
data in 'rdhpi/rdrecordstream.cpp'.
* Added an 'audio_peaks_test' harness in 'tests/audio_peaks_test.cpp'
and 'tests/audio_peaks_test.h'.
* Added 'PCM24' to the list of available formats in
'rdadmin/edit_rdlibrary.cpp' and 'rdadmin/edit_rdlibrary.h'.
* Added 'PCM24' to the list of available formats in
'rdadmin/edit_decks.cpp'.
* Added PCM24 support for file importation in
'web/rdxport/import.cpp'.
* Added an 'RDCae::Pcm24' value to the 'RDCae::AudioCoding
enumeration in 'lib/rdcae.h'.
* Added an 'RDMatrix::RossNkScp' value to the 'RDMatrix::Type'
enumeration in 'lib/rdmatrix.cpp' and 'lib/rdmatrix.h'.
* Implemented a switcher driver for the Ross NK line of video
switchers via the SCP/A serial interface in 'ripcd/rossnkscp.cpp'
and 'riptcd/rossnkscp.h'.
* Added a 'RDLIBRARY.READ_ISRC' field to the database.
* Incremented the database version to 245.
* Added 'RDLibraryConf::readIsrc()' and 'RDLibraryConf::setReadIsrc()'
methods in 'lib/rdlibrary_conf.cpp' and 'lib/rdlibrary_conf.h'.
* Added a 'Read ISRCs from CD' control to the 'Edit RDLibrary' dialog
in 'rdadmin/edit_rdlibrary.cpp' and 'rdadmin/edi_rdlibrary.h'.
* Implemented the 'Read ISRCs from CD' option in the full disc
ripper in 'rdlibrary/disk_ripper.cpp'.
* Implemented the 'Read ISRCs from CD' option in the per-track disc
ripper in 'rdlibrary/cdripper.cpp'.
* Modified the definition of the 'JACK_CLIENTS.COMMAND_LINE'
field from 'char(255)' to 'text' in the database.
* Incremented the database version to 244.
* Added a 'STATIONS.HAVE_MP4_DECODE' field to the database.
* Incremented the database version to 243.
* Added a 'Capability::HaveMp4Decode' value to the
'RDStation::Capability' enumeration in 'lib/rdstation.cpp' and
'lib/rdstation.h'.
* Renamed the 'SAS User Serial Interface' driver to
'SAS USI (3 digit)'.
* Added an 'SAS USI (2 digit)' swticher driver in
'ripcd/sasusi2digit.cpp' and 'ripcd/sasusi2digit.h'.
* Fixed a bug in 'lib/rdlivewire.cpp' that caused long LWRP
messages to be truncated.
* Refactored parser code in 'lib/rdlivewire.cpp' for greater
robustness.
* Fixed a bug in 'rdadmin/view_node_info.cpp' that caused
slots to be sorted in incorrect order.
* Renamed the 'STREAMING' column to 'ACTIVE' in
'rdadmin/view_node_info.cpp'.
* Fixed a bug in 'lib/rdmatrix.cpp' that caused the configuration
for 'Software Authority Protocol' to grey out the 'IP Address'
field when creating a new matrix.