#13420: DB Error in mythtv-setup and QString initialization
-------------------------------------+-------------------------------------
Reporter: Klaas de Waal | Owner: (none)
Type: Patch - Bug Fix | Status: new
Priority: minor | Milestone: needs_triage
Component: MythTV - Channel | Version: Master Head
Scanner | Keywords: DVB channelscan QString
Severity: medium | initialization
Ticket locked: 0 |
-------------------------------------+-------------------------------------
A channelscan with mythtv-setup gives the following error messages, one
for each channel:
{{{
DB Error (MSqlQuery):
Query was:
INSERT INTO channelscan_channel ( scanid, transportid,
mplex_id, source_id, channel_id, callsign,
service_name, chan_num, service_id,
atsc_major_channel, atsc_minor_channel, use_on_air_guide, hidden,
hidden_in_guide, freqid, icon, tvformat,
xmltvid, pat_tsid, vct_tsid,
vct_chan_tsid, sdt_tsid, orig_netid, netid,
si_standard, in_channels_conf, in_pat, in_pmt,
in_vct, in_nit, in_sdt,
is_encrypted, is_data_service, is_audio_service,
is_opencable, could_be_opencable, decryption_status,
default_authority ) VALUES ( ?, ?,
?, ?, ?, ?, ?, ?,
?, ?,?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
?,?, ? );
Bindings were:
:ATSC_MAJOR_CHANNEL=0, :ATSC_MINOR_CHANNEL=0, :CALLSIGN="Penthouse HD1",
:CHANNEL_ID=0, :CHAN_NUM="792", :COULD_BE_OPENCABLE=false,
:DECRYPTION_STATUS=2,
:DEFAULT_AUTHORITY=NULL, :FREQID="", :HIDDEN=false,
:HIDDEN_IN_GUIDE=false,
:ICON=NULL, :IN_CHANNELS_CONF=false, :IN_NIT=true, :IN_PAT=true,
:IN_PMT=true,
:IN_SDT=true, :IN_VCT=false, :IS_AUDIO_SERVICE=false,
:IS_DATA_SERVICE=false,
:IS_ENCRYPTED=true, :IS_OPEBCABLE=false, :MPLEX_ID=43, :NETID=5555,
:ORIG_NETID=1536, :PAT
2019-03-03 21:20:13.973048 E Original query failed, but resend with empty
strings in place of NULL strings worked.
}}}
This message is caused by database access with QString variables which are
NULL. There is an error catching mechanism present that replaces each NULL
strings with an empty string. The last line in the message above states
that this is done and that then the database access succeeded.\\
This problem is caused by the recent change to move initialization to the
header files. This in itself should and does not make any difference,
however, the initializations for the QString members of ChannelInsertInfo
in channelinfo.cpp/.h have been lost in this process.
This can be found in the following commit:\\
https://github.com/MythTV/mythtv/commit/4d5526816f5c5d5ddbf52f960b597afbf5b31fea
#diff-0500d09455f90efc1704bfbb28b33aab
The obvious solution is to restore the initialization of
ChannelInsertinfo.
A patch for this is attached.
--
Ticket URL: <https://code.mythtv.org/trac/ticket/13420>
MythTV <http://www.mythtv.org>
MythTV Media Center
-------------------------------------+-------------------------------------
Reporter: Klaas de Waal | Owner: (none)
Type: Patch - Bug Fix | Status: new
Priority: minor | Milestone: needs_triage
Component: MythTV - Channel | Version: Master Head
Scanner | Keywords: DVB channelscan QString
Severity: medium | initialization
Ticket locked: 0 |
-------------------------------------+-------------------------------------
A channelscan with mythtv-setup gives the following error messages, one
for each channel:
{{{
DB Error (MSqlQuery):
Query was:
INSERT INTO channelscan_channel ( scanid, transportid,
mplex_id, source_id, channel_id, callsign,
service_name, chan_num, service_id,
atsc_major_channel, atsc_minor_channel, use_on_air_guide, hidden,
hidden_in_guide, freqid, icon, tvformat,
xmltvid, pat_tsid, vct_tsid,
vct_chan_tsid, sdt_tsid, orig_netid, netid,
si_standard, in_channels_conf, in_pat, in_pmt,
in_vct, in_nit, in_sdt,
is_encrypted, is_data_service, is_audio_service,
is_opencable, could_be_opencable, decryption_status,
default_authority ) VALUES ( ?, ?,
?, ?, ?, ?, ?, ?,
?, ?,?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?,
?,?, ? );
Bindings were:
:ATSC_MAJOR_CHANNEL=0, :ATSC_MINOR_CHANNEL=0, :CALLSIGN="Penthouse HD1",
:CHANNEL_ID=0, :CHAN_NUM="792", :COULD_BE_OPENCABLE=false,
:DECRYPTION_STATUS=2,
:DEFAULT_AUTHORITY=NULL, :FREQID="", :HIDDEN=false,
:HIDDEN_IN_GUIDE=false,
:ICON=NULL, :IN_CHANNELS_CONF=false, :IN_NIT=true, :IN_PAT=true,
:IN_PMT=true,
:IN_SDT=true, :IN_VCT=false, :IS_AUDIO_SERVICE=false,
:IS_DATA_SERVICE=false,
:IS_ENCRYPTED=true, :IS_OPEBCABLE=false, :MPLEX_ID=43, :NETID=5555,
:ORIG_NETID=1536, :PAT
2019-03-03 21:20:13.973048 E Original query failed, but resend with empty
strings in place of NULL strings worked.
}}}
This message is caused by database access with QString variables which are
NULL. There is an error catching mechanism present that replaces each NULL
strings with an empty string. The last line in the message above states
that this is done and that then the database access succeeded.\\
This problem is caused by the recent change to move initialization to the
header files. This in itself should and does not make any difference,
however, the initializations for the QString members of ChannelInsertInfo
in channelinfo.cpp/.h have been lost in this process.
This can be found in the following commit:\\
https://github.com/MythTV/mythtv/commit/4d5526816f5c5d5ddbf52f960b597afbf5b31fea
#diff-0500d09455f90efc1704bfbb28b33aab
The obvious solution is to restore the initialization of
ChannelInsertinfo.
A patch for this is attached.
--
Ticket URL: <https://code.mythtv.org/trac/ticket/13420>
MythTV <http://www.mythtv.org>
MythTV Media Center