Ticket #6591: mythplugins-6591-check_return_value_of_MSqlQuery_exec.patch

File mythplugins-6591-check_return_value_of_MSqlQuery_exec.patch, 50.7 KB (added by sphery <mtdean@…>, 12 years ago)

Fixes all occurrences in mythplugins. Adds logging, removes unnecessary isActive() and size() calls.

  • mytharchive/mytharchive/videoselector.cpp

    old new  
    397397    CategoryMap categoryMap;
    398398    MSqlQuery query(MSqlQuery::InitCon());
    399399    query.prepare("SELECT intid, category FROM videocategory");
    400     query.exec();
    401     if (query.isActive() && query.size())
     400    if (query.exec())
    402401    {
    403402        while (query.next())
    404403        {
     
    413412    query.prepare("SELECT intid, title, plot, length, filename, coverfile, "
    414413                  "category, showlevel "
    415414                  "FROM videometadata ORDER BY title");
    416     query.exec();
    417     if (query.isActive() && query.size())
     415    if (query.exec() && query.size())
    418416    {
    419417        QString artist, genre;
    420418        while (query.next())
  • mytharchive/mytharchive/archiveutil.cpp

    old new  
    135135            "WHERE basename = :BASENAME");
    136136    query.bindValue(":BASENAME", baseName);
    137137
    138     query.exec();
    139     if (query.isActive() && query.size())
     138    if (query.exec() && query.next())
    140139    {
    141         query.first();
    142140        chanID = query.value(0).toString();
    143141        startTime= query.value(1).toString();
    144142    }
  • mytharchive/mytharchive/mythburn.cpp

    old new  
    495495        MSqlQuery query(MSqlQuery::InitCon());
    496496        query.prepare("SELECT title FROM recorded WHERE basename = :FILENAME");
    497497        query.bindValue(":FILENAME", baseName);
    498         query.exec();
    499         if (query.isActive() && query.size())
     498        if (query.exec() && query.size())
    500499            return true;
    501500        else
    502501        {
     
    511510        query.prepare("SELECT title FROM videometadata"
    512511                      " WHERE filename = :FILENAME");
    513512        query.bindValue(":FILENAME", filename);
    514         query.exec();
    515         if (query.isActive() && query.size())
     513        if (query.exec() && query.size())
    516514            return true;
    517515        else
    518516        {
     
    739737    // remove all old archive items from DB
    740738    MSqlQuery query(MSqlQuery::InitCon());
    741739    query.prepare("DELETE FROM archiveitems;");
    742     query.exec();
     740    if (!query.exec())
     741        MythDB::DBError("MythBurn::saveConfiguration - deleting archiveitems",
     742                        query);
    743743
    744744    // save new list of archive items to DB
    745745    ArchiveItem *a;
     
    992992{
    993993    MSqlQuery query(MSqlQuery::InitCon());
    994994    query.prepare("SELECT title FROM videometadata");
    995     query.exec();
    996     if (query.isActive() && query.size())
     995    if (query.exec() && query.size())
    997996    {
    998997    }
    999998    else
  • mytharchive/mytharchive/exportnative.cpp

    old new  
    286286                  "startdate, starttime, filename, hascutlist "
    287287                  "FROM archiveitems WHERE type = 'Recording' OR type = 'Video' "
    288288                  "ORDER BY title, subtitle");
    289     query.exec();
    290     if (query.isActive() && query.size())
     289    if (query.exec())
    291290    {
    292291        while (query.next())
    293292        {
     
    330329    // remove all old archive items from DB
    331330    MSqlQuery query(MSqlQuery::InitCon());
    332331    query.prepare("DELETE FROM archiveitems;");
    333     query.exec();
     332    if (!query.exec())
     333        MythDB::DBError("ExportNative::saveConfiguration - "
     334                        "deleting archiveitems", query);
    334335
    335336    // save new list of archive items to DB
    336337    ArchiveItem *a;
     
    394395    MSqlQuery query(MSqlQuery::InitCon());
    395396    query.prepare("DELETE FROM archiveitems WHERE filename = :FILENAME;");
    396397    query.bindValue(":FILENAME", curItem->filename);
    397     query.exec();
    398     if (query.isActive() && query.numRowsAffected())
     398    if (query.exec() && query.numRowsAffected())
    399399    {
    400400        getArchiveList();
    401401    }
     
    508508{
    509509    MSqlQuery query(MSqlQuery::InitCon());
    510510    query.prepare("SELECT title FROM videometadata");
    511     query.exec();
    512     if (query.isActive() && query.size())
     511    if (query.exec() && query.size())
    513512    {
    514513    }
    515514    else
  • mytharchive/mytharchive/importnative.cpp

    old new  
    482482    query.bindValue(":NAME", name);
    483483    query.bindValue(":CALLSIGN", callsign);
    484484
    485     query.exec();
    486     if (query.isActive() && query.size())
     485    if (query.exec() && query.next())
    487486    {
    488487        // got match
    489         query.first();
    490488        m_localChanID_text->SetText(query.value(0).toString());
    491489        m_localChanNo_text->SetText(query.value(1).toString());
    492490        m_localChanName_text->SetText(query.value(2).toString());
     
    499497            "WHERE callsign = :CALLSIGN;");
    500498    query.bindValue(":CALLSIGN", callsign);
    501499
    502     query.exec();
    503     if (query.isActive() && query.size())
     500    if (query.exec() && query.next())
    504501    {
    505502        // got match
    506         query.first();
    507503        m_localChanID_text->SetText(query.value(0).toString());
    508504        m_localChanNo_text->SetText(query.value(1).toString());
    509505        m_localChanName_text->SetText(query.value(2).toString());
     
    516512            "WHERE name = :NAME;");
    517513    query.bindValue(":NAME", callsign);
    518514
    519     query.exec();
    520     if (query.isActive() && query.size())
     515    if (query.exec() && query.next())
    521516    {
    522517        // got match
    523         query.first();
    524518        m_localChanID_text->SetText(query.value(0).toString());
    525519        m_localChanNo_text->SetText(query.value(1).toString());
    526520        m_localChanName_text->SetText(query.value(2).toString());
     
    564558    querystr = QString("SELECT %1 FROM channel ORDER BY %2").arg(field).arg(field);
    565559
    566560    MSqlQuery query(MSqlQuery::InitCon());
    567     query.exec(querystr);
    568561
    569     if (query.isActive() && query.size())
     562    if (query.exec(querystr))
    570563    {
    571564        while (query.next())
    572565        {
     
    591584    query.prepare("SELECT chanid, channum, name, callsign "
    592585            "FROM channel WHERE chanid = :CHANID;");
    593586    query.bindValue(":CHANID", value);
    594     query.exec();
    595587
    596     if (query.isActive() && query.size())
     588    if (query.exec() && query.next())
    597589    {
    598         query.next();
    599590        m_localChanID_text->SetText(query.value(0).toString());
    600591        m_localChanNo_text->SetText(query.value(1).toString());
    601592        m_localChanName_text->SetText(query.value(2).toString());
     
    619610    query.prepare("SELECT chanid, channum, name, callsign "
    620611            "FROM channel WHERE channum = :CHANNUM;");
    621612    query.bindValue(":CHANNUM", value);
    622     query.exec();
    623613
    624     if (query.isActive() && query.size())
     614    if (query.exec() && query.next())
    625615    {
    626         query.next();
    627616        m_localChanID_text->SetText(query.value(0).toString());
    628617        m_localChanNo_text->SetText(query.value(1).toString());
    629618        m_localChanName_text->SetText(query.value(2).toString());
     
    647636    query.prepare("SELECT chanid, channum, name, callsign "
    648637            "FROM channel WHERE name = :NAME;");
    649638    query.bindValue(":NAME", value);
    650     query.exec();
    651639
    652     if (query.isActive() && query.size())
     640    if (query.exec() && query.next())
    653641    {
    654         query.next();
    655642        m_localChanID_text->SetText(query.value(0).toString());
    656643        m_localChanNo_text->SetText(query.value(1).toString());
    657644        m_localChanName_text->SetText(query.value(2).toString());
     
    675662    query.prepare("SELECT chanid, channum, name, callsign "
    676663            "FROM channel WHERE callsign = :CALLSIGN;");
    677664    query.bindValue(":CALLSIGN", value);
    678     query.exec();
    679665
    680     if (query.isActive() && query.size())
     666    if (query.exec() && query.next())
    681667    {
    682         query.next();
    683668        m_localChanID_text->SetText(query.value(0).toString());
    684669        m_localChanNo_text->SetText(query.value(1).toString());
    685670        m_localChanName_text->SetText(query.value(2).toString());
  • mytharchive/mytharchivehelper/main.cpp

    old new  
    439439    query.bindValue(":CHANID", chanID);
    440440    query.bindValue(":STARTTIME", startTime);
    441441
    442     query.exec();
    443     if (query.isActive() && query.size())
     442    if (query.exec() && query.next())
    444443    {
    445         query.first();
    446444        QDomElement elem;
    447445        QDomText text;
    448446
     
    628626            "FROM channel WHERE chanid = :CHANID;");
    629627    query.bindValue(":CHANID", chanID);
    630628
    631     query.exec();
    632     if (query.isActive() && query.size())
     629    if (query.exec() && query.next())
    633630    {
    634         query.first();
    635631        QDomElement channel = doc.createElement("channel");
    636632        channel.setAttribute("chanid", query.value(0).toString());
    637633        channel.setAttribute("channum", query.value(1).toString());
     
    662658    query.bindValue(":CHANID", chanID);
    663659    query.bindValue(":STARTTIME", startTime);
    664660
    665     query.exec();
    666     if (query.isActive() && query.size())
     661    if (query.exec() && query.size())
    667662    {
    668663        QDomElement credits = doc.createElement("credits");
    669664        while (query.next())
     
    684679    query.bindValue(":CHANID", chanID);
    685680    query.bindValue(":STARTTIME", startTime);
    686681
    687     query.exec();
    688     if (query.isActive() && query.size())
     682    if (query.exec() && query.next())
    689683    {
    690         query.first();
    691684        QDomElement rating = doc.createElement("rating");
    692685        rating.setAttribute("system", query.value(0).toString());
    693686        rating.setAttribute("rating", query.value(1).toString());
     
    702695            "WHERE chanid = :CHANID and starttime = :STARTTIME;");
    703696    query.bindValue(":CHANID", chanID);
    704697    query.bindValue(":STARTTIME", startTime);
    705     query.exec();
    706     if (query.isActive() && query.size())
     698    if (query.exec() && query.size())
    707699    {
    708700        while (query.next())
    709701        {
     
    724716            "WHERE chanid = :CHANID and starttime = :STARTTIME;");
    725717    query.bindValue(":CHANID", chanID);
    726718    query.bindValue(":STARTTIME", startTime);
    727     query.exec();
    728     if (query.isActive() && query.size())
     719    if (query.exec() && query.size())
    729720    {
    730721        while (query.next())
    731722        {
     
    821812            "FROM videometadata WHERE filename = :FILENAME;");
    822813    query.bindValue(":FILENAME", filename);
    823814
    824     query.exec();
    825     if (query.isActive() && query.size())
     815    if (query.exec() && query.next())
    826816    {
    827         query.first();
    828817        QDomElement elem;
    829818        QDomText text;
    830819
     
    924913            "FROM videocategory WHERE intid = :INTID;");
    925914    query.bindValue(":INTID", categoryID);
    926915
    927     query.exec();
    928     if (query.isActive() && query.size())
     916    if (query.exec() && query.next())
    929917    {
    930         query.first();
    931918        QDomElement category = doc.createElement("category");
    932919        category.setAttribute("intid", query.value(0).toString());
    933920        category.setAttribute("category", query.value(1).toString());
     
    14361423    int intid;
    14371424    query.prepare("SELECT intid FROM videometadata WHERE filename = :FILENAME;");
    14381425    query.bindValue(":FILENAME", path + "/" + basename);
    1439     if (query.exec())
     1426    if (query.exec() && query.next())
    14401427    {
    1441         query.first();
    14421428        intid = query.value(0).toInt();
    14431429    }
    14441430    else
     
    14801466                query.prepare("SELECT intid FROM videogenre "
    14811467                        "WHERE genre = :GENRE");
    14821468                query.bindValue(":GENRE", genre);
    1483                 query.exec();
    1484                 if (query.isActive() && query.size())
     1469                if (query.exec() && query.next())
    14851470                {
    1486                     query.first();
    14871471                    genreID = query.value(0).toInt();
    14881472                }
    14891473                else
     
    14911475                    // genre doesn't exist so add it
    14921476                    query.prepare("INSERT INTO videogenre (genre) VALUES(:GENRE);");
    14931477                    query.bindValue(":GENRE", genre);
    1494                     query.exec();
     1478                    if (!query.exec())
     1479                        MythDB::DBError("NativeArchive::importVideo - "
     1480                                        "insert videogenre", query);
    14951481
    14961482                    // get new intid of genre
    14971483                    query.prepare("SELECT intid FROM videogenre "
    14981484                            "WHERE genre = :GENRE");
    14991485                    query.bindValue(":GENRE", genre);
    1500                     query.exec();
    1501                     if (query.isActive() && query.size())
     1486                    if (query.exec() && query.next())
    15021487                    {
    1503                         query.first();
    15041488                        genreID = query.value(0).toInt();
    15051489                    }
    15061490                    else
     
    15151499                        "VALUES (:IDVIDEO, :IDGENRE);");
    15161500                query.bindValue(":IDVIDEO", intid);
    15171501                query.bindValue(":IDGENRE", genreID);
    1518                 query.exec();
     1502                if (!query.exec())
     1503                    MythDB::DBError("NativeArchive::importVideo - "
     1504                                    "insert videometadatagenre", query);
    15191505            }
    15201506
    15211507            VERBOSE(VB_JOBQUEUE, "Inserted genre details into database");
     
    15511537                query.prepare("SELECT intid FROM videocountry "
    15521538                        "WHERE country = :COUNTRY");
    15531539                query.bindValue(":COUNTRY", country);
    1554                 query.exec();
    1555                 if (query.isActive() && query.size())
     1540                if (query.exec() && query.next())
    15561541                {
    1557                     query.first();
    15581542                    countryID = query.value(0).toInt();
    15591543                }
    15601544                else
     
    15621546                    // country doesn't exist so add it
    15631547                    query.prepare("INSERT INTO videocountry (country) VALUES(:COUNTRY);");
    15641548                    query.bindValue(":COUNTRY", country);
    1565                     query.exec();
     1549                    if (!query.exec())
     1550                        MythDB::DBError("NativeArchive::importVideo - "
     1551                                        "insert videocountry", query);
    15661552
    15671553                    // get new intid of country
    15681554                    query.prepare("SELECT intid FROM videocountry "
    15691555                            "WHERE country = :COUNTRY");
    15701556                    query.bindValue(":COUNTRY", country);
    1571                     query.exec();
    1572                     if (query.isActive() && query.size())
     1557                    if (query.exec() && query.next())
    15731558                    {
    1574                         query.first();
    15751559                        countryID = query.value(0).toInt();
    15761560                    }
    15771561                    else
     
    15861570                        "VALUES (:IDVIDEO, :IDCOUNTRY);");
    15871571                query.bindValue(":IDVIDEO", intid);
    15881572                query.bindValue(":IDCOUNTRY", countryID);
    1589                 query.exec();
     1573                if (!query.exec())
     1574                    MythDB::DBError("NativeArchive::importVideo - "
     1575                                    "insert videometadatacountry", query);
    15901576            }
    15911577
    15921578            VERBOSE(VB_JOBQUEUE, "Inserted country details into database");
     
    16091595        query.prepare("SELECT intid FROM videocategory "
    16101596                "WHERE category = :CATEGORY");
    16111597        query.bindValue(":CATEGORY", category);
    1612         query.exec();
    1613         if (query.isActive() && query.size())
     1598        if (query.exec() && query.next())
    16141599        {
    1615             query.first();
    16161600            categoryID = query.value(0).toInt();
    16171601        }
    16181602        else
     
    16201604            // category doesn't exist so add it
    16211605            query.prepare("INSERT INTO videocategory (category) VALUES(:CATEGORY);");
    16221606            query.bindValue(":CATEGORY", category);
    1623             query.exec();
     1607            if (!query.exec())
     1608                MythDB::DBError("NativeArchive::importVideo - "
     1609                                "insert videocategory", query);
    16241610
    16251611            // get new intid of category
    16261612            query.prepare("SELECT intid FROM videocategory "
    16271613                    "WHERE category = :CATEGORY");
    16281614            query.bindValue(":CATEGORY", category);
    1629             query.exec();
    1630             if (query.isActive() && query.size())
     1615            if (query.exec() && query.next())
    16311616            {
    1632                 query.first();
    16331617                categoryID = query.value(0).toInt();
    16341618            }
    16351619            else
     
    16451629                "WHERE intid = :INTID;");
    16461630        query.bindValue(":CATEGORY", categoryID);
    16471631        query.bindValue(":INTID", intid);
    1648         query.exec();
     1632        if (!query.exec())
     1633            MythDB::DBError("NativeArchive::importVideo - "
     1634                            "update category", query);
    16491635
    16501636        VERBOSE(VB_JOBQUEUE, "Fixed the category in the database");
    16511637    }
  • mythbrowser/mythbookmarkmanager/browserdbutil.cpp

    old new  
    193193        delete siteList.takeFirst();
    194194
    195195    MSqlQuery query(MSqlQuery::InitCon());
    196     query.exec("SELECT category, name, url FROM websites "
    197                "ORDER BY category, name");
    198196
    199     if (!query.isActive())
     197    if (!query.exec("SELECT category, name, url FROM websites "
     198                    "ORDER BY category, name"))
    200199    {
    201200        VERBOSE(VB_IMPORTANT, "BookmarkManager: Error in loading from DB");
    202201    }
  • mythgallery/mythgallery/galleryutil.cpp

    old new  
    2424#include <mythtv/mythdbcon.h>
    2525#include <mythtv/util.h>
    2626#include <mythtv/mythdirs.h>
     27#include <mythtv/mythdb.h>
    2728
    2829// mythgallery
    2930#include "config.h"
     
    636637                        "WHERE image = :IMAGEOLD");
    637638            subquery.bindValue(":IMAGENEW", newImage);
    638639            subquery.bindValue(":IMAGEOLD", oldImage);
    639             subquery.exec();
     640            if (!subquery.exec())
     641                MythDB::DBError("GalleryUtil::RenameDirectory - update image",
     642                                subquery);
    640643        }
    641644    }
    642645
  • mythgame/mythgame/gamehandler.cpp

    old new  
    1313#include <mythtv/mythdbcon.h>
    1414#include <mythtv/mythdialogs.h>
    1515#include <mythtv/util.h>
     16#include <mythtv/mythdb.h>
    1617
    1718#define LOC_ERR QString("MythGame:GAMEHANDLER Error: ")
    1819#define LOC QString("MythGame:GAMEHANDLER: ")
     
    5051    }
    5152
    5253    MSqlQuery query(MSqlQuery::InitCon());
    53     query.exec("SELECT DISTINCT playername FROM gameplayers WHERE playername <> '';");
     54    if (!query.exec("SELECT DISTINCT playername FROM gameplayers "
     55                    "WHERE playername <> '';"))
     56        MythDB::DBError("checkHandlers - selecting playername", query);
    5457
    5558    while (query.next())
    5659    {   
     
    7578
    7679    query.bindValue(":SYSTEM", handler->SystemName());
    7780
    78     query.exec();
    79 
    80     query.next();
    81     handler->rompath = query.value(0).toString();
    82     handler->workingpath = query.value(1).toString();
    83     handler->commandline = query.value(2).toString();
    84     handler->screenshots = query.value(3).toString();
    85     handler->gameplayerid = query.value(4).toInt();
    86     handler->gametype = query.value(5).toString();
    87     handler->validextensions = QStringList::split(",", query.value(6).toString().stripWhiteSpace().remove(" "));
    88     handler->spandisks = query.value(7).toInt();
     81    if (query.exec() && query.next())
     82    {
     83        handler->rompath = query.value(0).toString();
     84        handler->workingpath = query.value(1).toString();
     85        handler->commandline = query.value(2).toString();
     86        handler->screenshots = query.value(3).toString();
     87        handler->gameplayerid = query.value(4).toInt();
     88        handler->gametype = query.value(5).toString();
     89        handler->validextensions = QStringList::split(",",
     90                     query.value(6).toString().stripWhiteSpace().remove(" "));
     91        handler->spandisks = query.value(7).toInt();
     92    }
    8993
    9094}
    9195
     
    118122                  "binfile FROM romdb WHERE platform = :GAMETYPE;");
    119123                             
    120124    query.bindValue(":GAMETYPE",GameType);
    121     query.exec();
    122125
    123     if (query.isActive() && query.size() > 0)
     126    if (query.exec())
    124127    {
    125128        while (query.next())
    126129        {
     
    207210    query.bindValue(":ROMNAME",filename);
    208211    query.bindValue(":ROMPATH",RomPath);
    209212
    210     query.exec();
     213    if (!query.exec())
     214        MythDB::DBError("purgeGameDB", query);
    211215
    212216}
    213217
     
    263267    query.bindValue(":ROMNAME", romname);
    264268    query.bindValue(":SYSTEM", Systemname);
    265269
    266     query.exec();
     270    if (!query.exec())
     271        MythDB::DBError("updateDisplayRom", query);
    267272
    268273}
    269274
     
    277282    query.bindValue(":ROMNAME", romname);
    278283    query.bindValue(":GAMETYPE",GameType);
    279284
    280     query.exec();
     285    if (!query.exec())
     286        MythDB::DBError("updateDiskCount", query);
    281287
    282288}
    283289
     
    291297    query.bindValue(":ROMNAME", romname);
    292298    query.bindValue(":SYSTEM", Systemname);
    293299
    294     query.exec();
     300    if (!query.exec())
     301        MythDB::DBError("updateGameName", query);
    295302
    296303}
    297304
     
    321328
    322329        query.bindValue(":GAMETYPE",GameType);
    323330
    324         query.exec();
    325 
    326         if (query.isActive() && query.size() > 0)
     331        if (query.exec())
    327332        {   
    328333            while (query.next())
    329334            {   
     
    464469            query.bindValue(":PUBLISHER", Publisher);
    465470            query.bindValue(":VERSION", Version);
    466471                   
    467             query.exec();
     472            if (!query.exec())
     473                MythDB::DBError("GameHandler::UpdateGameDB - "
     474                                "insert gamemetadata", query);
    468475        }
    469476        else if ((iter.data().FoundLoc() == inDatabase) && (removalprompt))
    470477        {
     
    490497
    491498    query.bindValue(":SYSTEM",handler->SystemName());
    492499
    493     query.exec();
     500    if (!query.exec())
     501        MythDB::DBError("GameHandler::VerifyGameDB - "
     502                        "select", query);
    494503
    495504    MythProgressDialog *progressDlg = new MythProgressDialog(
    496505        QObject::tr("Verifying %1 files").arg(handler->SystemName()),
     
    599608            break;
    600609        case kDialogCodeButton1:
    601610            MSqlQuery query(MSqlQuery::InitCon());
    602             query.exec("DELETE FROM gamemetadata;");
     611            if (!query.exec("DELETE FROM gamemetadata;"))
     612                MythDB::DBError("GameHandler::clearAllGameData - "
     613                                "delete gamemetadata", query);
    603614            break;
    604615    };
    605616}
  • mythgame/mythgame/dbcheck.cpp

    old new  
    199199    {
    200200
    201201        if (!gContext->GetSetting("GameAllTreeLevels").isEmpty())
    202             query.exec("UPDATE settings SET data = 'system gamename' WHERE value = 'GameAllTreeLevels'; ");
     202            if (!query.exec("UPDATE settings SET data = 'system gamename' "
     203                            "WHERE value = 'GameAllTreeLevels'; "))
     204                MythDB::DBError("update GameAllTreeLevels", query);
    203205
    204206        QString updates[] = {
    205207"ALTER TABLE gamemetadata ADD COLUMN country varchar(128) NOT NULL default ''; ",
  • mythgame/mythgame/gametree.cpp

    old new  
    568568            query.bindValue(":GAMENAME", curItem->m_romInfo->Gamename());
    569569    }
    570570
    571     query.exec();
    572571
    573     if (query.isActive() && query.size() > 0)
     572    if (query.exec())
    574573    {
    575574        while (query.next())
    576575        {
  • mythgame/mythgame/rominfo.cpp

    old new  
    217217    query.prepare(thequery);
    218218    query.bindValue(":SYSTEM", system);
    219219    query.bindValue(":GAMENAME", gamename);
    220     query.exec();
    221220
    222     if (query.next())
     221    if (query.exec() && query.next())
    223222    {
    224223        setSystem(query.value(0).toString());
    225224        setGamename(query.value(1).toString());
     
    239238    query.prepare("SELECT screenshots FROM gameplayers "
    240239                  "WHERE playername = :SYSTEM");
    241240    query.bindValue(":SYSTEM",system);
    242     query.exec();
    243241
    244     if (query.next())
     242    if (query.exec() && query.next())
    245243    {
    246244        if (!query.value(0).toString().isEmpty())
    247245        {
     
    262260        query.prepare("SELECT DISTINCT system FROM gamemetadata "
    263261                      "WHERE romname = :ROMNAME");
    264262        query.bindValue(":ROMNAME", Romname());
    265         query.exec();
     263        if (!query.exec())
     264            MythDB::DBError("RomInfo::fillData - selecting systems", query);
    266265
    267266        while (query.next())
    268267        {
  • mythmusic/mythmusic/main.cpp

    old new  
    111111        query.bindValue(":DATA", pending);
    112112        query.bindValue(":HOST", gContext->GetHostName());
    113113
    114         query.exec();
     114        if (!query.exec())
     115            MythDB::DBError("SavePending - inserting LastMusicPlaylistPush",
     116                            query);
    115117    }
    116118    else if (query.size() == 1)
    117119    {
     
    123125        query.bindValue(":LASTPUSH", "LastMusicPlaylistPush");
    124126        query.bindValue(":HOST", gContext->GetHostName());
    125127
    126         query.exec();
     128        if (!query.exec())
     129            MythDB::DBError("SavePending - updating LastMusicPlaylistPush",
     130                            query);
    127131    }
    128132    else
    129133    {
     
    135139                         "AND hostname = :HOST ;");
    136140        query.bindValue(":LASTPUSH", "LastMusicPlaylistPush");
    137141        query.bindValue(":HOST", gContext->GetHostName());
    138         query.exec();
     142        if (!query.exec())
     143            MythDB::DBError("SavePending - deleting LastMusicPlaylistPush",
     144                            query);
    139145
    140146        query.prepare("INSERT INTO settings (value,data,hostname) VALUES "
    141147                         "(:LASTPUSH, :DATA, :HOST );");
     
    143149        query.bindValue(":DATA", pending);
    144150        query.bindValue(":HOST", gContext->GetHostName());
    145151
    146         query.exec();
     152        if (!query.exec())
     153            MythDB::DBError("SavePending - inserting LastMusicPlaylistPush (2)",
     154                            query);
    147155    }
    148156}
    149157
     
    428436    CheckFreeDBServerFile();
    429437
    430438    MSqlQuery count_query(MSqlQuery::InitCon());
    431     count_query.exec("SELECT COUNT(*) FROM music_songs;");
    432439
    433440    bool musicdata_exists = false;
    434     if (count_query.isActive())
     441    if (count_query.exec("SELECT COUNT(*) FROM music_songs;"))
    435442    {
    436443        if(count_query.next() &&
    437444           0 != count_query.value(0).toInt())
  • mythmusic/mythmusic/metadata.cpp

    old new  
    410410    else
    411411        query.bindValue(":ID", m_id);
    412412
    413     query.exec();
     413    if (!query.exec())
     414        MythDB::DBError("Metadata::dumpToDatabase - updating music_songs",
     415                        query);
    414416
    415417    if (m_id < 1 && query.isActive() && 1 == query.numRowsAffected())
    416418        m_id = query.lastInsertId().toInt();
     
    424426                          "song_id=:SONGID AND imagetype=:TYPE;");
    425427            query.bindValue(":TYPE", (*it).imageType);
    426428            query.bindValue(":SONGID", m_id);
    427             query.exec();
    428429
    429             if (query.next())
     430            if (query.exec() && query.next())
    430431            {
    431432                int artid = query.value(0).toInt();
    432433
     
    449450            query.bindValue(":SONGID", m_id);
    450451            query.bindValue(":EMBED", 1);
    451452
    452             query.exec();
     453            if (!query.exec())
     454                MythDB::DBError("Metadata::dumpToDatabase - "
     455                                "inserting music_albumart", query);
    453456        }
    454457    }
    455458
     
    821824    MSqlQuery query(MSqlQuery::InitCon());
    822825    query.prepare(aquery);
    823826    query.bindValue(":TRACKID", id);
    824     query.exec();
    825827
    826     if (query.isActive() && query.size() > 0)
     828    if (query.exec() && query.next())
    827829    {
    828         query.next();
    829830        filename = query.value(9).toString();
    830831        if (!filename.contains("://"))
    831832            filename = m_startdir + filename;
     
    985986    QString filename, artist, album, title;
    986987
    987988    MSqlQuery query(MSqlQuery::InitCon());
    988     query.exec(aquery);
     989    if (!query.exec(aquery))
     990        MythDB::DBError("AllMusic::resync", query);
    989991
    990992    m_root_node->clear();
    991993    m_all_music.clear();
  • mythmusic/mythmusic/dbcheck.cpp

    old new  
    115115
    116116        MSqlQuery query(MSqlQuery::InitCon());
    117117        // urls as filenames are NOT officially supported yet
    118         query.exec("SELECT filename, intid FROM musicmetadata WHERE "
    119                         "filename NOT LIKE ('%://%');");
    120 
    121         if (query.isActive() && query.size() > 0)
     118        if (query.exec("SELECT filename, intid FROM musicmetadata WHERE "
     119                       "filename NOT LIKE ('%://%');"))
    122120        {
    123121            int i = 0;
    124122            QString intid, name, newname;
     
    133131                if (newname.startsWith(startdir))
    134132                {
    135133                    newname.remove(0, startdir.length());
    136                     modify.exec(QString("UPDATE musicmetadata SET "
    137                                 "filename = \"%1\" "
    138                                 "WHERE filename = \"%2\" AND intid = %3;")
    139                                 .arg(newname).arg(name).arg(intid));
    140                     if (modify.isActive())
     134                    if (modify.exec(QString("UPDATE musicmetadata SET "
     135                                    "filename = \"%1\" "
     136                                    "WHERE filename = \"%2\" AND intid = %3;")
     137                                    .arg(newname).arg(name).arg(intid)))
    141138                        i += modify.numRowsAffected();
    142139                }
    143140            }
  • mythmusic/mythmusic/filescanner.cpp

    old new  
    351351    MSqlQuery query(MSqlQuery::InitCon());
    352352    MSqlQuery deletequery(MSqlQuery::InitCon());
    353353
    354     query.exec("SELECT g.genre_id FROM music_genres g LEFT JOIN music_songs s "
    355                "ON g.genre_id=s.genre_id WHERE s.genre_id IS NULL;");
     354    if (!query.exec("SELECT g.genre_id FROM music_genres g "
     355                    "LEFT JOIN music_songs s ON g.genre_id=s.genre_id "
     356                    "WHERE s.genre_id IS NULL;"))
     357        MythDB::DBError("FileScanner::cleanDB - select music_genres", query);
    356358    while (query.next())
    357359    {
    358360        int genreid = query.value(0).toInt();
    359361        deletequery.prepare("DELETE FROM music_genres WHERE genre_id=:GENREID");
    360362        deletequery.bindValue(":GENREID", genreid);
    361         deletequery.exec();
     363        if (!deletequery.exec())
     364            MythDB::DBError("FileScanner::cleanDB - delete music_genres",
     365                            deletequery);
    362366    }
    363367
    364368    if (clean_progress)
    365369        clean_progress->SetProgress(++counter);
    366370
    367     query.exec("SELECT a.album_id FROM music_albums a LEFT JOIN music_songs s "
    368                "ON a.album_id=s.album_id WHERE s.album_id IS NULL;");
     371    if (!query.exec("SELECT a.album_id FROM music_albums a "
     372                    "LEFT JOIN music_songs s ON a.album_id=s.album_id "
     373                    "WHERE s.album_id IS NULL;"))
     374        MythDB::DBError("FileScanner::cleanDB - select music_albums", query);
    369375    while (query.next())
    370376    {
    371377        int albumid = query.value(0).toInt();
    372378        deletequery.prepare("DELETE FROM music_albums WHERE album_id=:ALBUMID");
    373379        deletequery.bindValue(":ALBUMID", albumid);
    374         deletequery.exec();
     380        if (!deletequery.exec())
     381            MythDB::DBError("FileScanner::cleanDB - delete music_albums",
     382                            deletequery);
    375383    }
    376384
    377385    if (clean_progress)
    378386        clean_progress->SetProgress(++counter);
    379387
    380     query.exec("SELECT a.artist_id FROM music_artists a "
    381                "LEFT JOIN music_songs s ON a.artist_id=s.artist_id "
    382                "LEFT JOIN music_albums l ON a.artist_id=l.artist_id "
    383                "WHERE s.artist_id IS NULL AND l.artist_id IS NULL");
     388    if (!query.exec("SELECT a.artist_id FROM music_artists a "
     389                    "LEFT JOIN music_songs s ON a.artist_id=s.artist_id "
     390                    "LEFT JOIN music_albums l ON a.artist_id=l.artist_id "
     391                    "WHERE s.artist_id IS NULL AND l.artist_id IS NULL"))
     392        MythDB::DBError("FileScanner::cleanDB - select music_artists", query);
    384393    while (query.next())
    385394    {
    386395        int artistid = query.value(0).toInt();
    387396        deletequery.prepare("DELETE FROM music_artists WHERE artist_id=:ARTISTID");
    388397        deletequery.bindValue(":ARTISTID", artistid);
    389         deletequery.exec();
     398        if (!deletequery.exec())
     399            MythDB::DBError("FileScanner::cleanDB - delete music_artists",
     400                            deletequery);
    390401    }
    391402
    392403    if (clean_progress)
    393404        clean_progress->SetProgress(++counter);
    394405
    395     query.exec("SELECT a.albumart_id FROM music_albumart a LEFT JOIN "
    396                "music_songs s ON a.song_id=s.song_id WHERE "
    397                "embedded='1' AND s.song_id IS NULL;");
     406    if (!query.exec("SELECT a.albumart_id FROM music_albumart a LEFT JOIN "
     407                    "music_songs s ON a.song_id=s.song_id WHERE "
     408                    "embedded='1' AND s.song_id IS NULL;"))
     409        MythDB::DBError("FileScanner::cleanDB - select music_albumart", query);
    398410    while (query.next())
    399411    {
    400412        int albumartid = query.value(0).toInt();
    401413        deletequery.prepare("DELETE FROM music_albumart WHERE albumart_id=:ALBUMARTID");
    402414        deletequery.bindValue(":ALBUMARTID", albumartid);
    403         deletequery.exec();
     415        if (!deletequery.exec())
     416            MythDB::DBError("FileScanner::cleanDB - delete music_albumart",
     417                            deletequery);
    404418    }
    405419
    406420    if (clean_progress)
     
    449463    MSqlQuery query(MSqlQuery::InitCon());
    450464    query.prepare("DELETE FROM music_songs WHERE filename = :NAME ;");
    451465    query.bindValue(":NAME", sqlfilename);
    452     query.exec();
     466    if (!query.exec())
     467        MythDB::DBError("FileScanner::RemoveFileFromDB - deleting music_songs",
     468                        query);
    453469}
    454470
    455471/*!
     
    622638    MusicLoadedMap::Iterator iter;
    623639
    624640    MSqlQuery query(MSqlQuery::InitCon());
    625     query.exec("SELECT CONCAT_WS('/', path, filename), date_modified "
    626                "FROM music_songs LEFT JOIN music_directories "
    627                "ON music_songs.directory_id=music_directories.directory_id "
    628                "WHERE filename NOT LIKE ('%://%')");
     641    if (!query.exec("SELECT CONCAT_WS('/', path, filename), date_modified "
     642                    "FROM music_songs LEFT JOIN music_directories ON "
     643                    "music_songs.directory_id=music_directories.directory_id "
     644                    "WHERE filename NOT LIKE ('%://%')"))
     645        MythDB::DBError("FileScanner::ScanMusic", query);
    629646
    630647    uint counter = 0;
    631648
     
    693710    MusicLoadedMap::Iterator iter;
    694711
    695712    MSqlQuery query(MSqlQuery::InitCon());
    696     query.exec("SELECT CONCAT_WS('/', path, filename) "
    697                "FROM music_albumart LEFT JOIN music_directories "
    698                "ON music_albumart.directory_id=music_directories.directory_id "
    699                "WHERE music_albumart.embedded=0");
     713    if (!query.exec("SELECT CONCAT_WS('/', path, filename) "
     714                    "FROM music_albumart LEFT JOIN music_directories ON "
     715                    "music_albumart.directory_id=music_directories.directory_id"
     716                    " WHERE music_albumart.embedded=0"))
     717        MythDB::DBError("FileScanner::ScanArtwork", query);
    700718
    701719    uint counter = 0;
    702720
  • mythmusic/mythmusic/playlist.cpp

    old new  
    440440    query.bindValue(":ID", id);
    441441    query.bindValue(":HOST", a_host);
    442442
    443     query.exec();
     443    if (!query.exec())
     444        MythDB::DBError("Playlist::loadPlaylistByID", query);
    444445
    445446    while (query.next())
    446447    {
     
    697698                  "FROM music_smartplaylist_items "
    698699                  "WHERE smartplaylistid = :ID;");
    699700    query.bindValue(":ID", ID);
    700     query.exec();
    701     if (query.isActive() && query.size() > 0)
     701    if (query.exec())
    702702    {
    703703        bool bFirst = true;
    704704        while (query.next())
     
    773773                    "WHERE playlist_id = :ID ;");
    774774                an_int *= -1;
    775775                query.bindValue(":ID", an_int);
    776                 query.exec();
    777776
    778                 if (query.size() > 0)
     777                if (query.exec() && query.next())
    779778                {
    780                     query.next();
    781779                    length = query.value(0).toInt();
    782780                }
    783781            }
  • mythmusic/mythmusic/smartplaylist.cpp

    old new  
    17271727    listView->clear();
    17281728
    17291729    MSqlQuery query(MSqlQuery::InitCon());
    1730     query.exec(sql);
    17311730
    1732     if (query.last())
     1731    if (query.exec(sql) && query.last())
    17331732    {
    17341733        do
    17351734        {
  • mythvideo/mythvideo/metadata.cpp

    old new  
    587587    {
    588588        // Must make sure we have 'id' filled before we call updateGenres or
    589589        // updateCountries
    590         query.exec("SELECT LAST_INSERT_ID()");
    591590
    592         if (!query.isActive() || query.size() < 1)
     591        if (!query.exec("SELECT LAST_INSERT_ID()") || !query.next())
    593592        {
    594593            MythDB::DBError("metadata id get", query);
    595594            return;
    596595        }
    597596
    598         query.next();
    599597        m_id = query.value(0).toUInt();
    600598
    601599        if (0 == m_id)
  • mythvideo/mythvideo/dbcheck.cpp

    old new  
    5050    {
    5151        MSqlQuery query(MSqlQuery::InitCon());
    5252
    53         query.exec(QString("DELETE FROM settings WHERE value='%1';")
    54                    .arg(field_name));
    55         query.exec(QString("INSERT INTO settings (value, data, hostname) "
    56                            "VALUES ('%1', %2, NULL);")
    57                    .arg(field_name).arg(newnumber));
     53        if (!query.exec(QString("DELETE FROM settings WHERE value='%1';")
     54                        .arg(field_name)))
     55            MythDB::DBError("UpdateDBVersionNumber - delete", query);
     56        if (!query.exec(QString("INSERT INTO settings (value, data, hostname) "
     57                                "VALUES ('%1', %2, NULL);")
     58                        .arg(field_name).arg(newnumber)))
     59            MythDB::DBError("UpdateDBVersionNumber - insert", query);
    5860
    5961        VERBOSE(VB_IMPORTANT,
    6062                QString("Upgraded to MythVideo schema version %1")
     
    7375        for (QStringList::const_iterator p = updates.begin();
    7476             p != updates.end(); ++p)
    7577        {
    76             query.exec(*p);
     78            if (!query.exec(*p))
     79                MythDB::DBError("performActualUpdate", query);
    7780        }
    7881
    7982        UpdateDBVersionNumber(field_name, version);
     
    131134        performActualUpdate(updates, "1000", dbver, OldMythVideoVersionName);
    132135
    133136        MSqlQuery qQuery(MSqlQuery::InitCon());
    134         qQuery.exec("SELECT * FROM videotypes;");
    135137
    136         if (!qQuery.isActive() || qQuery.size() <= 0)
     138        if (!qQuery.exec("SELECT * FROM videotypes;") || qQuery.size() <= 0)
    137139        {
    138140            const QString updates2[] = {
    139141    "INSERT INTO videotypes (extension, playcommand, f_ignore, use_default)"
     
    292294            QStringList updates;
    293295
    294296            MSqlQuery query(MSqlQuery::InitCon());
    295             query.exec("SELECT intid FROM videocategory;");
    296297
    297             if (query.isActive() && query.size())
     298            if (query.exec("SELECT intid FROM videocategory;") && query.size())
    298299            {
    299300                QString categoryIDs = "'0'";
    300301                while (query.next())
     
    317318        if (dbver == "1009")
    318319        {
    319320            MSqlQuery query(MSqlQuery::InitCon());
    320             query.exec("SELECT extension, playcommand FROM videotypes");
    321321
    322322            QRegExp extChange("^(img|vob|mpeg|mpg|iso|VIDEO_TS)$",
    323323                              Qt::CaseInsensitive);
    324324            QStringList updates;
    325             if (query.isActive() && query.size())
     325            if (query.exec("SELECT extension, playcommand FROM videotypes"))
    326326            {
    327327                while (query.next())
    328328                {
     
    355355                "Inserting MythDVD initial database information.");
    356356
    357357        MSqlQuery qQuery(MSqlQuery::InitCon());
    358         qQuery.exec("SELECT * FROM dvdinput;");
    359358
    360         if (!qQuery.isActive() || qQuery.size() <= 0)
     359        if (!qQuery.exec("SELECT * FROM dvdinput;") || qQuery.size() <= 0)
    361360        {
    362361            const QString updates[] = {
    363362"CREATE TABLE IF NOT EXISTS dvdinput ("
     
    416415            performActualUpdate(updates, "1000", dbver, OldMythDVDVersionName);
    417416        }
    418417
    419         qQuery.exec("SELECT * FROM dvdtranscode;");
    420         if (!qQuery.isActive() || qQuery.size() <= 0)
     418        if (!qQuery.exec("SELECT * FROM dvdtranscode;") || qQuery.size() <= 0)
    421419        {
    422420            const QString updates[] = {
    423421"CREATE TABLE IF NOT EXISTS dvdtranscode ("
  • mythvideo/mythvideo/dbaccess.cpp

    old new  
    6666            MSqlQuery query(MSqlQuery::InitCon());
    6767            query.prepare(m_insert_sql);
    6868            query.bindValue(":NAME", name);
    69             if (query.exec() && query.isActive())
     69            if (query.exec())
    7070            {
    71                 query.exec("SELECT LAST_INSERT_ID()");
    72                 if (query.isActive() && query.size() > 0)
     71                if (query.exec("SELECT LAST_INSERT_ID()") && query.next())
    7372                {
    74                     query.next();
    7573                    id = query.value(0).toInt();
    7674                    m_entries.insert(entry_map::value_type(id, name));
    7775                    m_dirty = true;
     
    178176        m_entries.clear();
    179177
    180178        MSqlQuery query(MSqlQuery::InitCon());
    181         query.exec(m_fill_sql);
    182179
    183         if (query.isActive() && query.size() > 0)
     180        if (query.exec(m_fill_sql))
    184181        {
    185182            while (query.next())
    186183            {
     
    406403        m_val_map.clear();
    407404
    408405        MSqlQuery query(MSqlQuery::InitCon());
    409         query.exec(m_fill_sql);
    410406
    411         if (query.isActive() && query.size() > 0)
     407        if (query.exec(m_fill_sql) && query.size() > 0)
    412408        {
    413409            id_map::iterator p = m_val_map.end();
    414410            while (query.next())
     
    664660        {
    665661            if (!existing_fa)
    666662            {
    667                 query.exec("SELECT LAST_INSERT_ID()");
    668                 if (query.isActive() && query.size() > 0)
     663                if (query.exec("SELECT LAST_INSERT_ID()") && query.next())
    669664                {
    670                     query.next();
    671665                    ret_fa.id = query.value(0).toUInt();
    672666                    m_file_associations.push_back(ret_fa);
    673667                }
     
    756750    void fill_from_db()
    757751    {
    758752        MSqlQuery query(MSqlQuery::InitCon());
    759         query.exec("SELECT intid, extension, playcommand, f_ignore, "
    760                    "use_default FROM videotypes");
    761         if (query.isActive() && query.size() > 0)
     753        if (query.exec("SELECT intid, extension, playcommand, f_ignore, "
     754                       "use_default FROM videotypes"))
    762755        {
    763756            while (query.next())
    764757            {
  • mythvideo/mythvideo/titledialog.cpp

    old new  
    156156                                    .arg(m_currentTitle->getInputID());
    157157
    158158        MSqlQuery a_query(MSqlQuery::InitCon());
    159         a_query.exec(q_string);
    160159
    161         if(a_query.isActive() && a_query.size() > 0)
     160        if(a_query.exec(q_string))
    162161        {
    163162            while(a_query.next())
    164163            {
  • mythmovies/mythmovies/moviesui.cpp

    old new  
    200200    QString currentDate = QDate::currentDate().toString();
    201201
    202202    MSqlQuery query(MSqlQuery::InitCon());
    203     query.exec("truncate table movies_showtimes");
    204     query.exec("truncate table movies_movies");
    205     query.exec("truncate table movies_theaters");
     203    if (!query.exec("truncate table movies_showtimes"))
     204        MythDB::DBError("truncating movies_showtimes", query);
     205    if (!query.exec("truncate table movies_movies"))
     206        MythDB::DBError("truncating movies_movies", query);
     207    if (!query.exec("truncate table movies_theaters"))
     208        MythDB::DBError("truncating movies_theaters", query);
    206209
    207210    QString grabber = gContext->GetSetting("MythMovies.Grabber");
    208211    grabber.replace("%z", gContext->GetSetting("MythMovies.ZipCode"));
  • mythweather/mythweather/sourceManager.cpp

    old new  
    102102    db.prepare("SELECT sourceid, path FROM weathersourcesettings "
    103103               "WHERE hostname = :HOST;");
    104104    db.bindValue(":HOST", gContext->GetHostName());
    105     db.exec();
     105    if (!db.exec())
     106        MythDB::DBError("SourceManager::findScripts - select", query);
    106107    QStringList toRemove;
    107108    while (db.next())
    108109    {
  • mythweather/mythweather/weatherSetup.cpp

    old new  
    55// MythTV headers
    66#include <mythdbcon.h>
    77#include <mythprogressdialog.h>
     8#include <mythtv/mythdb.h>
    89
    910// MythWeather headers
    1011#include "weatherScreen.h"
     
    406407    QString query = "DELETE FROM weatherscreens WHERE hostname=:HOST";
    407408    db.prepare(query);
    408409    db.bindValue(":HOST", gContext->GetHostName());
    409     db.exec();
     410    if (!db.exec())
     411        MythDB::DBError("ScreenSetup::saveData - delete weatherscreens", db);
    410412
    411413    query = "INSERT into weatherscreens (draworder, container, units, hostname) "
    412414            "VALUES (:DRAW, :CONT, :UNITS, :HOST);";
  • mythweather/mythweather/weatherSource.cpp

    old new  
    524524               "WHERE sourceid = :ID AND "
    525525               "TIMESTAMPADD(SECOND,update_timeout,updated) > NOW()");
    526526    db.bindValue(":ID", getId());
    527     db.exec();
    528     if (db.size() > 0)
     527    if (db.exec() && db.size() > 0)
    529528    {
    530529        VERBOSE(VB_IMPORTANT, QString("%1 recently updated, skipping.")
    531530                                    .arg(m_info->name));