Ticket #6457: SG-Preferences.diff
File SG-Preferences.diff, 4.2 KB (added by , 16 years ago) |
---|
-
mythtv/libs/libmythtv/dbcheck.cpp
18 18 #define MINIMUM_DBMS_VERSION 5,0,15 19 19 20 20 /// This is the DB schema version expected by the running MythTV instance. 21 const QString currentDatabaseVersion = "123 2";21 const QString currentDatabaseVersion = "1233"; 22 22 23 23 static bool UpdateDBVersionNumber(const QString &newnumber); 24 24 static bool performActualUpdate( … … 4458 4458 if (!performActualUpdate(updates, "1232", dbver)) 4459 4459 return false; 4460 4460 } 4461 if (dbver == "1232") 4462 { 4463 const char *updates[] = { 4464 "CREATE TABLE storagemetadata (" 4465 " groupname VARCHAR( 32 ) NOT NULL ," 4466 " dirname VARCHAR( 255 ) NOT NULL ," 4467 " subdir VARCHAR( 255 ) NOT NULL ," 4468 " value VARCHAR( 255 ) NOT NULL ," 4469 " data TEXT NOT NULL" 4470 ");", 4471 NULL 4472 }; 4473 if (!performActualUpdate(updates, "1233", dbver)) 4474 return false; 4475 } 4461 4476 4462 4477 return true; 4463 4478 } -
mythtv/libs/libmyth/storagegroup.cpp
464 464 return groups; 465 465 } 466 466 467 QString StorageGroup::getSGSetting(QString groupname, QString dirname, 468 QString value, QString subdir = "") 469 { 470 QString ret; 467 471 472 MSqlQuery query(MSqlQuery::InitCon()); 473 474 QString sql = QString("SELECT data FROM storagemetadata " 475 "WHERE groupname = :GROUPNAME AND " 476 "dirname = :DIRNAME AND " 477 "subdir = :SUBDIR AND " 478 "value = :VALUE"); 479 480 query.prepare(sql); 481 query.bindValue(":GROUPNAME", groupname); 482 query.bindValue(":DIRNAME", dirname); 483 query.bindValue(":SUBDIR", subdir); 484 query.bindValue(":VALUE", value); 485 486 if (query.exec() && query.isActive() && query.size() > 0) 487 ret = query.value(0).toString(); 488 489 return ret; 490 } 491 492 void StorageGroup::setSGSetting(QString groupname, QString dirname, 493 QString value, QString data, 494 QString subdir = "") 495 { 496 497 QString drop = QString("DELETE FROM storagemetadata WHERE " 498 "groupname = :GROUPNAME AND " 499 "dirname = :DIRNAME AND " 500 "subdir = :SUBDIR AND " 501 "value = :VALUE"); 502 503 MSqlQuery remove(MSqlQuery::InitCon()); 504 505 remove.prepare(drop); 506 remove.bindValue(":GROUPNAME", groupname); 507 remove.bindValue(":DIRNAME", dirname); 508 remove.bindValue(":SUBDIR", subdir); 509 remove.bindValue(":VALUE", value); 510 511 if (!remove.exec()) 512 MythDB::DBError("StorageGroup::setSGSetting", remove); 513 514 MSqlQuery query(MSqlQuery::InitCon()); 515 516 QString sql = QString("INSERT INTO storagemetadata " 517 "(groupname, dirname, subdir, value, data) " 518 "VALUES (:GROUPNAME, :DIRNAME, :SUBDIR, " 519 ":VALUE, :DATA)"); 520 521 query.prepare(sql); 522 query.bindValue(":GROUPNAME", groupname); 523 query.bindValue(":DIRNAME", dirname); 524 query.bindValue(":SUBDIR", subdir); 525 query.bindValue(":VALUE", value); 526 query.bindValue(":DATA", data); 527 528 if (!query.exec()) 529 MythDB::DBError("StorageGroup::setSGSetting", query); 530 } 531 468 532 /****************************************************************************/ 469 533 typedef enum { 470 534 SGPopup_OK = 0, -
mythtv/libs/libmyth/storagegroup.h
36 36 37 37 static QStringList getRecordingsGroups(void); 38 38 static QStringList getGroupDirs(QString groupname, QString host); 39 QString getSGSetting(QString groupname, QString dirname, 40 QString value, QString subdir); 41 void setSGSetting(QString groupname, QString dirname, 42 QString value, QString data, 43 QString subdir); 39 44 45 40 46 private: 41 47 QString m_groupname; 42 48 QString m_hostname;