Ticket #9134: people.patch

File people.patch, 4.0 KB (added by Kevin Ross <kevin@…>, 16 years ago)
  • mythplugins/mythvideo/mythvideo/dbcheck.cpp

     
    8888    const QString lastMythDVDDBVersion = "1002";
    8989    const QString lastMythVideoVersion = "1010";
    9090
    91     const QString currentDatabaseVersion = "1038";
     91    const QString currentDatabaseVersion = "1039";
    9292
    9393    const QString OldMythVideoVersionName = "VideoDBSchemaVer";
    9494    const QString OldMythDVDVersionName = "DVDDBSchemaVer";
     
    12401240                return false;
    12411241        }
    12421242
     1243        if (dbver == "1038")
     1244        {
     1245            QStringList updates;
     1246            updates += "ALTER TABLE videometadatacast ADD `sortorder` INT UNSIGNED;";
     1247            updates += "ALTER TABLE videometadatacast DROP INDEX idvideo;";
     1248            updates += "ALTER TABLE videometadatacast ADD UNIQUE INDEX (`idvideo`,`idcast`,`sortorder`);";
     1249            updates += "ALTER TABLE videometadatacountry ADD `sortorder` INT UNSIGNED;";
     1250            updates += "ALTER TABLE videometadatacountry DROP INDEX idvideo;";
     1251            updates += "ALTER TABLE videometadatacountry ADD UNIQUE INDEX (`idvideo`,`idcountry`,`sortorder`);";
     1252            updates += "ALTER TABLE videometadatagenre ADD `sortorder` INT UNSIGNED;";
     1253            updates += "ALTER TABLE videometadatagenre DROP INDEX idvideo;";
     1254            updates += "ALTER TABLE videometadatagenre ADD UNIQUE INDEX (`idvideo`,`idgenre`,`sortorder`);";
     1255            if (!performActualUpdate(updates, "1039", dbver,
     1256                                     MythVideoVersionName))
     1257                return false;
     1258        }
     1259
    12431260        return true;
    12441261    }
    12451262}
  • mythtv/libs/libmythmetadata/dbaccess.cpp

     
    265265        m_id_name(id_name), m_value_name(value_name), m_ready(false),
    266266        m_clean_stub(this)
    267267    {
    268         m_insert_sql = QString("INSERT INTO %1 (%2, %3) VALUES (:ID, :VALUE)")
     268        m_insert_sql = QString("INSERT INTO %1 (%2, %3, sortorder) VALUES (:ID, :VALUE, :SORTORDER)")
    269269                .arg(m_table_name).arg(m_id_name).arg(m_value_name);
    270         m_fill_sql = QString("SELECT %1, %2 FROM %3 ORDER BY %4").arg(m_id_name)
     270        m_fill_sql = QString("SELECT %1, %2 FROM %3 ORDER BY %4,sortorder").arg(m_id_name)
    271271                .arg(m_value_name).arg(m_table_name).arg(m_id_name);
    272272    }
    273273
     
    289289    int add(int id, int value)
    290290    {
    291291        bool db_insert = false;
     292        unsigned sortorder = 1;
    292293        id_map::iterator p = m_val_map.find(id);
    293294        if (p != m_val_map.end())
    294295        {
     
    298299            if (v == va.end())
    299300            {
    300301                va.push_back(value);
     302                sortorder = va.size();
    301303                db_insert = true;
    302304            }
    303305        }
     
    316318            query.prepare(m_insert_sql);
    317319            query.bindValue(":ID", id);
    318320            query.bindValue(":VALUE", value);
     321            query.bindValue(":SORTORDER", sortorder);
    319322            if (!query.exec())
    320323                MythDB::DBError("multi value insert", query);
    321324        }
  • mythtv/libs/libmythmetadata/metadatacommon.cpp

     
    137137
    138138QList<PersonInfo> MetadataLookup::GetPeople(PeopleType type) const
    139139{
     140    // QMultiMap reverses the order of items added, so put them back in the right order
    140141    QList<PersonInfo> ret;
    141     ret = m_people.values(type);
     142    QList<PersonInfo> backwards = m_people.values(type);
     143    QList<PersonInfo>::iterator iter;
     144    for(iter = backwards.begin(); iter != backwards.end(); iter++)
     145        ret.push_front(*iter);
    142146    return ret;
    143147}
    144148