Ticket #1865: recordedseek.2.diff
File recordedseek.2.diff, 7.8 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/dbcheck.cpp
10 10 #include "mythdbcon.h" 11 11 12 12 /// This is the DB schema version expected by the running MythTV instance. 13 const QString currentDatabaseVersion = "114 1";13 const QString currentDatabaseVersion = "1142"; 14 14 15 15 static bool UpdateDBVersionNumber(const QString &newnumber); 16 16 static bool performActualUpdate(const QString updates[], QString version, … … 2250 2250 return false; 2251 2251 } 2252 2252 2253 if (dbver == "1141") 2254 { 2255 const QString updates[] = { 2256 "ALTER TABLE recordedmarkup DROP PRIMARY KEY, ADD PRIMARY KEY (chanid,starttime,type,mark);", 2257 "CREATE TABLE IF NOT EXISTS recordedseek (" 2258 " chanid int(10) unsigned NOT NULL default '0'," 2259 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2260 " mark bigint(20) NOT NULL default '0'," 2261 " offset varchar(32) default NULL," 2262 " type int(11) NOT NULL default '0'," 2263 " PRIMARY KEY (chanid,starttime,type,mark));", 2264 "INSERT INTO recordedseek (chanid, starttime, mark, offset, type) SELECT" 2265 " chanid, starttime, mark, offset, type FROM recordedmarkup WHERE type in (6, 7, 9);", 2266 "DELETE FROM recordedmarkup WHERE type in (6, 7, 9);", 2267 "", 2268 }; 2253 2269 2270 if (!performActualUpdate(updates, "1142", dbver)) 2271 return false; 2272 } 2273 2274 //"ALTER TABLE recordedmarkup DROP COLUMN offset;" in 0.22 2254 2275 //"ALTER TABLE capturecard DROP COLUMN dvb_recordts;" in 0.21 2255 2276 //"ALTER TABLE capturecard DROP COLUMN dvb_hw_decoder;" in 0.21 2256 2277 //"ALTER TABLE cardinput DROP COLUMN preference;" in 0.22 -
libs/libmythtv/programinfo.cpp
1487 1487 } 1488 1488 pathname = prefix + "/" + pathname; 1489 1489 1490 query.prepare("DELETE FROM recordedseek WHERE chanid = :CHANID" 1491 " AND starttime = :START;"); 1492 query.bindValue(":CHANID", chanid); 1493 query.bindValue(":START", recstartts); 1494 1495 if (!query.exec() || !query.isActive()) 1496 MythContext::DBError("Clear seek info on record", query); 1497 1490 1498 query.prepare("DELETE FROM recordedmarkup WHERE chanid = :CHANID" 1491 1499 " AND starttime = :START;"); 1492 1500 query.bindValue(":CHANID", chanid); … … 2273 2281 } 2274 2282 else 2275 2283 { 2276 query.prepare("SELECT mark, offset FROM recorded markup"2284 query.prepare("SELECT mark, offset FROM recordedseek" 2277 2285 " WHERE chanid = :CHANID" 2278 2286 " AND starttime = :STARTTIME" 2279 2287 " AND type = :TYPE ;"); … … 2303 2312 } 2304 2313 else 2305 2314 { 2306 query.prepare("DELETE FROM recorded markup"2315 query.prepare("DELETE FROM recordedseek" 2307 2316 " WHERE chanid = :CHANID" 2308 2317 " AND starttime = :STARTTIME" 2309 2318 " AND type = :TYPE ;"); … … 2311 2320 query.bindValue(":STARTTIME", recstartts); 2312 2321 } 2313 2322 query.bindValue(":TYPE", type); 2314 2323 2315 2324 if (!query.exec() || !query.isActive()) 2316 2325 MythContext::DBError("clear position map", 2317 2326 query); … … 2348 2357 } 2349 2358 else 2350 2359 { 2351 query.prepare("DELETE FROM recorded markup"2360 query.prepare("DELETE FROM recordedseek" 2352 2361 " WHERE chanid = :CHANID" 2353 2362 " AND starttime = :STARTTIME" 2354 2363 " AND type = :TYPE" … … 2391 2400 } 2392 2401 else 2393 2402 { 2394 query.prepare("INSERT INTO recorded markup"2403 query.prepare("INSERT INTO recordedseek" 2395 2404 " (chanid, starttime, mark, type, offset)" 2396 2405 " VALUES" 2397 2406 " ( :CHANID , :STARTTIME , :MARK , :TYPE , :OFFSET );"); … … 2437 2446 } 2438 2447 else 2439 2448 { 2440 query.prepare("INSERT INTO recorded markup"2449 query.prepare("INSERT INTO recordedseek" 2441 2450 " (chanid, starttime, mark, type, offset)" 2442 2451 " VALUES" 2443 2452 " ( :CHANID , :STARTTIME , :MARK , :TYPE , :OFFSET );"); -
programs/mythtranscode/main.cpp
653 653 { 654 654 query.prepare("DELETE FROM recordedmarkup " 655 655 "WHERE chanid = :CHANID " 656 "AND starttime = :STARTTIME " 657 "AND type not in ( :KEYFRAME, :GOP_BYFRAME ) ;"); 656 "AND starttime = :STARTTIME "); 658 657 query.bindValue(":CHANID", pginfo->chanid); 659 658 query.bindValue(":STARTTIME", pginfo->recstartts); 660 query.bindValue(":KEYFRAME", MARK_KEYFRAME);661 query.bindValue(":GOP_BYFRAME", MARK_GOP_BYFRAME);662 659 query.exec(); 663 660 664 661 if (!query.isActive()) 665 662 MythContext::DBError("Error in mythtranscode", query); 666 663 667 664 query.prepare("UPDATE recorded " 668 "SET cutlist = NULL, bookmark = NULL"665 "SET cutlist = :CUTLIST, bookmark = :BOOKMARK " 669 666 "WHERE chanid = :CHANID " 670 667 "AND starttime = :STARTTIME ;"); 668 query.bindValue(":CUTLIST", "0"); 669 query.bindValue(":BOOKMARK", "0"); 671 670 query.bindValue(":CHANID", pginfo->chanid); 672 671 query.bindValue(":STARTTIME", pginfo->recstartts); 673 672 query.exec(); … … 682 681 query.prepare("DELETE FROM recordedmarkup " 683 682 "WHERE chanid = :CHANID " 684 683 "AND starttime = :STARTTIME " 685 "AND type not in ( :KEYFRAME, :GOP_BYFRAME, " 686 " :COMM_START, :COMM_END) ;"); 684 "AND type not in ( :COMM_START, " 685 " :COMM_END, :BOOKMARK, " 686 " :CUTLIST_START, :CUTLIST_END) ;"); 687 687 query.bindValue(":CHANID", pginfo->chanid); 688 688 query.bindValue(":STARTTIME", pginfo->recstartts); 689 query.bindValue(":KEYFRAME", MARK_KEYFRAME);690 query.bindValue(":GOP_BYFRAME", MARK_GOP_BYFRAME);691 689 query.bindValue(":COMM_START", MARK_COMM_START); 692 690 query.bindValue(":COMM_END", MARK_COMM_END); 691 query.bindValue(":BOOKMARK", MARK_BOOKMARK); 692 query.bindValue(":CUTLIST_START", MARK_CUT_START); 693 query.bindValue(":CUTLIST_END", MARK_CUT_END); 693 694 query.exec(); 694 695 695 696 if (!query.isActive()) -
programs/mythbackend/mainserver.cpp
1466 1466 .arg(logInfo)); 1467 1467 } 1468 1468 1469 query.prepare("DELETE FROM recordedseek " 1470 "WHERE chanid = :CHANID AND starttime = :STARTTIME;"); 1471 query.bindValue(":CHANID", ds->chanid); 1472 query.bindValue(":STARTTIME", ds->recstartts); 1473 query.exec(); 1474 1475 if (!query.isActive()) 1476 { 1477 MythContext::DBError("Recorded program delete recordedseek", 1478 query); 1479 gContext->LogEntry("mythbackend", LP_ERROR, "Delete Recording", 1480 QString("Error deleting recordedseek for %1.") 1481 .arg(logInfo)); 1482 } 1483 1469 1484 if (pginfo->recgroup != "LiveTV") 1470 1485 ScheduledRecording::signalChange(0); 1471 1486