Checking is probably not needed and even if it did find an invalid date it would
likely not return valid SQL e.g this is just one paraphrased example from the
code:
SELECT x FROM y WHERE EVENT_DATETIME<="NULL 00:00:00"
I've reverted back the two select changes for the daypart code and put a TODO
note there as a marker.
This doesn't use a dedicated setRow, instead it converts to QString and then
tries to insert the dates instead.
Amended setOrigin and setEffectiveDateTime to use RDCheckDateTime
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'.