[mythtv-commits] Ticket #5347: channelutils.cpp construct an incomplete query to update/insert into dtv_multiplex

MythTV mythtv at cvs.mythtv.org
Mon May 12 15:24:02 UTC 2008


#5347: channelutils.cpp construct an incomplete query to update/insert into
dtv_multiplex
-------------------------+--------------------------------------------------
 Reporter:  hp at oeri.ch   |       Owner:  danielk
     Type:  defect       |      Status:  new    
 Priority:  minor        |   Milestone:  unknown
Component:  channelscan  |     Version:  head   
 Severity:  medium       |     Mlocked:  0      
-------------------------+--------------------------------------------------
 I get tons of errors while updating channels with new transports. the
 console window shows, that qt barks about "not set" parameters. A quick
 glance to channelutils.cpp:224 shows, that many parameters may be left
 unset - which probably worked fine in previous versions of qt?

 I had to change that behaviour slightly... Always setting at least a null
 value solves the problem for me:


 {{{
 Index: libs/libmythtv/channelutil.cpp
 ===================================================================
 --- libs/libmythtv/channelutil.cpp      (revision 17307)
 +++ libs/libmythtv/channelutil.cpp      (working copy)
 @@ -225,36 +225,28 @@
      query.bindValue(":SISTANDARD",        sistandard);
      query.bindValue(":FREQUENCY",         frequency);

 -    if (!modulation.isNull())
 -        query.bindValue(":MODULATION",    modulation);
 +    query.bindValue(":MODULATION", (!modulation.isNull() ?  modulation :
 QVariant(QVariant::String)) );
      if (sistandard.lower() == "dvb")
      {
          query.bindValue(":TRANSPORTID",   transport_id);
          query.bindValue(":NETWORKID",     network_id);
      }
 -    if (symbol_rate >= 0)
 -        query.bindValue(":SYMBOLRATE",    symbol_rate);
 -    if (bandwidth >= 0)
 -        query.bindValue(":BANDWIDTH",
 QString("%1").arg((char)bandwidth));
 -    if (polarity >= 0)
 -        query.bindValue(":POLARITY",
 QString("%1").arg((char)polarity));
 -    if (inversion >= 0)
 -        query.bindValue(":INVERSION",
 QString("%1").arg((char)inversion));
 -    if (trans_mode >= 0)
 -        query.bindValue(":TRANS_MODE",
 QString("%1").arg((char)trans_mode));
 +    else {
 +        query.bindValue(":TRANSPORTID",   QVariant(QVariant::String));
 +        query.bindValue(":NETWORKID",     QVariant(QVariant::String));
 +    }
 +    query.bindValue(":SYMBOLRATE", (symbol_rate >= 0 ? symbol_rate :
 QVariant(QVariant::Int)) );
 +    query.bindValue(":BANDWIDTH", (bandwidth >= 0 ?
 QString("%1").arg((char)bandwidth) : QVariant(QVariant::String)));
 +    query.bindValue(":POLARITY", (polarity >= 0 ?
 QString("%1").arg((char)polarity) : QVariant(QVariant::String)));
 +    query.bindValue(":INVERSION", (inversion >= 0 ?
 QString("%1").arg((char)inversion) : QVariant(QVariant::String)) );
 +    query.bindValue(":TRANS_MODE", (trans_mode >= 0 ?
 QString("%1").arg((char)trans_mode) : QVariant(QVariant::String)) );

 -    if (!inner_FEC.isNull())
 -        query.bindValue(":INNER_FEC",     inner_FEC);
 -    if (!constellation.isNull())
 -        query.bindValue(":CONSTELLATION", constellation);
 -    if (hierarchy >= 0)
 -        query.bindValue(":HIERARCHY",
 QString("%1").arg((char)hierarchy));
 -    if (!hp_code_rate.isNull())
 -        query.bindValue(":HP_CODE_RATE",  hp_code_rate);
 -    if (!lp_code_rate.isNull())
 -        query.bindValue(":LP_CODE_RATE",  lp_code_rate);
 -    if (!guard_interval.isNull())
 -        query.bindValue(":GUARD_INTERVAL",guard_interval);
 +    query.bindValue(":INNER_FEC", (!inner_FEC.isNull() ? inner_FEC :
 QVariant(QVariant::String)) );
 +    query.bindValue(":CONSTELLATION", (!constellation.isNull() ?
 constellation : QVariant(QVariant::String)) );
 +    query.bindValue(":HIERARCHY", (hierarchy >= 0 ?
 QString("%1").arg((char)hierarchy) : QVariant(QVariant::String)) );
 +    query.bindValue(":HP_CODE_RATE", (!hp_code_rate.isNull() ?
 hp_code_rate : QVariant(QVariant::String)) );
 +    query.bindValue(":LP_CODE_RATE", (!lp_code_rate.isNull() ?
 lp_code_rate : QVariant(QVariant::String)) );
 +    query.bindValue(":GUARD_INTERVAL", (!guard_interval.isNull() ?
 guard_interval : QVariant(QVariant::String)) );

      if (!query.exec() || !query.isActive())
      {

 }}}

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/5347>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list