Ticket #9134: people.patch
| File people.patch, 4.0 KB (added by , 16 years ago) |
|---|
-
mythplugins/mythvideo/mythvideo/dbcheck.cpp
88 88 const QString lastMythDVDDBVersion = "1002"; 89 89 const QString lastMythVideoVersion = "1010"; 90 90 91 const QString currentDatabaseVersion = "103 8";91 const QString currentDatabaseVersion = "1039"; 92 92 93 93 const QString OldMythVideoVersionName = "VideoDBSchemaVer"; 94 94 const QString OldMythDVDVersionName = "DVDDBSchemaVer"; … … 1240 1240 return false; 1241 1241 } 1242 1242 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 1243 1260 return true; 1244 1261 } 1245 1262 } -
mythtv/libs/libmythmetadata/dbaccess.cpp
265 265 m_id_name(id_name), m_value_name(value_name), m_ready(false), 266 266 m_clean_stub(this) 267 267 { 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)") 269 269 .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) 271 271 .arg(m_value_name).arg(m_table_name).arg(m_id_name); 272 272 } 273 273 … … 289 289 int add(int id, int value) 290 290 { 291 291 bool db_insert = false; 292 unsigned sortorder = 1; 292 293 id_map::iterator p = m_val_map.find(id); 293 294 if (p != m_val_map.end()) 294 295 { … … 298 299 if (v == va.end()) 299 300 { 300 301 va.push_back(value); 302 sortorder = va.size(); 301 303 db_insert = true; 302 304 } 303 305 } … … 316 318 query.prepare(m_insert_sql); 317 319 query.bindValue(":ID", id); 318 320 query.bindValue(":VALUE", value); 321 query.bindValue(":SORTORDER", sortorder); 319 322 if (!query.exec()) 320 323 MythDB::DBError("multi value insert", query); 321 324 } -
mythtv/libs/libmythmetadata/metadatacommon.cpp
137 137 138 138 QList<PersonInfo> MetadataLookup::GetPeople(PeopleType type) const 139 139 { 140 // QMultiMap reverses the order of items added, so put them back in the right order 140 141 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); 142 146 return ret; 143 147 } 144 148
