Skip to content

Commit

Permalink
Add index on chanid in iptv_channel and channelgroup (#991)
Browse files Browse the repository at this point in the history
The tables iptv_channel and channelgroup are accessed via
the chanid but there was no index on chanid in both tables.
Having these indices greatly speeds up the start of playback,
both for recordings and for live TV, when there is a large
number of channels available in various video sources.
This is influenced by the automatic creation of
channelgroups per video source when there is more than
one video source present in the system.
  • Loading branch information
kmdewaal authored Dec 7, 2024
1 parent 69b954b commit 00b5817
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion mythtv/bindings/perl/MythTV.pm
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ package MythTV;
# schema version supported in the main code. We need to check that the schema
# version in the database is as expected by the bindings, which are expected
# to be kept in sync with the main code.
our $SCHEMA_VERSION = "1381";
our $SCHEMA_VERSION = "1382";

# NUMPROGRAMLINES is defined in mythtv/libs/libmythtv/programinfo.h and is
# the number of items in a ProgramInfo QStringList group used by
Expand Down
2 changes: 1 addition & 1 deletion mythtv/bindings/python/MythTV/_versions.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The file MythTV/_versions.py is usually generated by ./configure.
"""

OWN_VERSION = @MYTHTV_PYTHON_OWN_VERSION@
SCHEMA_VERSION = 1381
SCHEMA_VERSION = 1382
NVSCHEMA_VERSION = 1007
MUSICSCHEMA_VERSION = 1025
PROTO_VERSION = '91'
Expand Down
2 changes: 1 addition & 1 deletion mythtv/libs/libmythbase/mythversion.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ static constexpr const char* MYTH_PROTO_TOKEN { "BuzzOff" };
* mythtv/bindings/php/MythBackend.php
*/

static constexpr const char* MYTH_DATABASE_VERSION { "1381" };
static constexpr const char* MYTH_DATABASE_VERSION { "1382" };

MBASE_PUBLIC const char *GetMythSourceVersion();
MBASE_PUBLIC const char *GetMythSourcePath();
Expand Down
11 changes: 11 additions & 0 deletions mythtv/libs/libmythtv/dbcheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4074,6 +4074,17 @@ static bool doUpgradeTVDatabaseSchema(void)
return false;
}

if (dbver == "1381")
{
DBUpdates updates {
"ALTER TABLE iptv_channel ADD INDEX (chanid);"
"ALTER TABLE channelgroup ADD INDEX (chanid);"
} ;
if (!performActualUpdate("MythTV", "DBSchemaVer",
updates, "1382", dbver))
return false;
}

return true;
}

Expand Down

0 comments on commit 00b5817

Please sign in to comment.