3.4 KiB
Phase 5A – EPG-Abhängigkeiten vor Reparatur
Quelle ist ausschließlich der verifizierte Snapshot mit SHA-256
71403743206d5082aae56c4a947f3429f5c3d54b908c4abe2eb0ca66e06694ba.
Tabellenmatrix
| Tabelle | Zeilen | Größe | Schlüssel/Indizes | Zweck und Abhängigkeit | Kandidat |
|---|---|---|---|---|---|
android_metadata |
1 | 4 KiB | keine PK/FK | SQLite-Locale; keine TV-Nutzdaten | exakt übernehmen |
channelmapversiontable |
0 | 4 KiB | id PK |
Versionscache für Sender-/Favoritenspiegel | exakt übernehmen (leer) |
indextable |
358 | 24 KiB | dbitindex PK; (satnum,sid,tsid,onid), (presetid,presetnumber) |
EPG-interner Spiegel von Sender/Preset, Name, favoriteNumber, svlid/svlrecid; kanonische Sender liegen außerhalb |
exakt übernehmen |
mappingtable |
203 | 4 KiB | mappingid PK; (svlid,svlrecid) |
Preset-zu-SVL-Mappingcache | exakt übernehmen |
nowtable |
195 | 84 KiB plus 2 kleine Indizes | _id PK |
reines Now-EPG; alle Werte im Snapshot veraltet | leeren |
nexttable |
162 | 76 KiB plus 2 kleine Indizes | _id PK |
reines Next-EPG; alle Werte veraltet | leeren |
scheduletable |
3.071.250 | 1.436,98 MiB plus 222,06 MiB Indizes | _id PK; End-/Startzeit, Preset, (presetid,eventid) |
ausschließlich Broadcast-Schedule; 100 % abgelaufen | leeren |
fastipnownexttable |
0 | 4 KiB | _id PK |
Fast-IP Now/Next | leer lassen |
fvpnownexttable |
0 | 4 KiB plus Auto-/Sekundärindex | PK (channelid,starttime,endtime) |
FVP Now/Next | leer lassen |
fvpscheduletable |
0 | 4 KiB plus Auto-/Sekundärindex | PK (channelid,starttime,endtime) |
FVP Schedule | leer lassen |
Relationen und persistente TV-Daten
PRAGMA foreign_key_listist für jede Tabelle leer.- Es gibt keine Trigger und keine Views.
- Die kanonische Senderliste ist
TvContract.Channelsin einem separaten Provider.indextableist nur Spiegel/Cache, wird aber vorsichtshalber exakt erhalten. - Favoriten liegen in
org.droidtv.tv.provider.favorite; EPG speichert nur Spiegelwerte wiefavoriteNumber. - Aufnahmen/Timer/Reminder liegen in separater
/data/vendor/user_setting/rw/RecordingsRemindersList.dbmit externem Provider. Keine ihrer Tabellen kommt im EPG-Schema vor. - Der Philips-Rebuild liest die Senderquelle neu und löscht die externen Sender-/Favoriten-/Recordingtabellen nicht direkt.
- Event-ID-Verknüpfungen können während einer leeren EPG-Phase vorübergehend keine Metadaten auflösen. Im Snapshot existiert aber ohnehin kein einziges aktuelles oder zukünftiges Schedule-Event.
Öffnen, Erstellen und Rebuild
EpgDatabaseHelper erbt SQLiteOpenHelper, Dateiname EpgDatabase.db,
Version 6. createTables() legt exakt die obigen Tabellen und Indizes an.
dropTables() ist irreführend benannt und führt große zeilenweise
SQLiteDatabase.delete(...,null,null)-Operationen aus. Der
rebuilddbonnewchannellist-Pfad leert EPG-Tabellen und baut Index/Mapping aus
TvContract.Channels neu. Ein echtes Datei-Neuanlegen oder VACUUM ist dort
nicht implementiert.
Ergebnis: Eine schemaidentische kompakte DB mit erhaltenem
indextable/mappingtable und leeren EPG-Payloadtabellen zerstört keine
kanonische Sender-, Favoriten-, Aufnahme- oder Timerpersistenz. Dieses Urteil
ist für direkte Tabellenlöschung CONFIRMED; visuelle und Event-ID-bezogene
Folgewirkungen bleiben bis zur Live-Prüfung USER VALIDATION REQUIRED.