Skip to content

Commit

Permalink
Fix warnings in 1262 DB upgrade.
Browse files Browse the repository at this point in the history
Fix warnings that can occur in the 1262 DB upgrade if any of the columns
being changed to varchar contain NULL values.

These warnings resulted in a DB upgrade failure for a at least one user,
but in attempting to reproduce the failure (with Qt4.6.2+MySQL5.1,
Qt4.6.2+MySQL5.5, Qt4.7.3+MySQL5.1, Qt4.8.0+MySQL5.1, and
Qt4.8.0+MySQL5.5), I was unsuccessful.  The only way I was able to cause
it to fail was with MySQL strict mode enabled
(sql_mode=STRICT_ALL_TABLES).  Note that many other parts of MythTV are
likely to fail with strict mode enabled, so it is recommended that users
do not enable strict mode.

Thanks to dchilton for reporting the issue, and to JK for helping to
troubleshoot.
  • Loading branch information
sphery committed Jan 20, 2012
1 parent be8919f commit 96cf1cf
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions mythtv/libs/libmythtv/dbcheck.cpp
Expand Up @@ -5463,6 +5463,16 @@ NULL
if (dbver == "1261")
{
const char *updates[] = {
"UPDATE program SET description = '' WHERE description IS NULL;",
"UPDATE record SET description = '' WHERE description IS NULL;",
"UPDATE recorded SET description = '' WHERE description IS NULL;",
"UPDATE recordedprogram SET description = '' WHERE description IS NULL;",
"UPDATE oldrecorded SET description = '' WHERE description IS NULL;",
"UPDATE mythlog SET details = '' WHERE details IS NULL;",
"UPDATE settings SET data = '' WHERE data IS NULL;",
"UPDATE powerpriority SET selectclause = '' WHERE selectclause IS NULL;",
"UPDATE customexample SET fromclause = '' WHERE fromclause IS NULL;",
"UPDATE customexample SET whereclause = '' WHERE whereclause IS NULL;",
"ALTER TABLE program MODIFY COLUMN description VARCHAR(16000) "
" NOT NULL default '';",
"ALTER TABLE record MODIFY COLUMN description VARCHAR(16000) "
Expand Down

0 comments on commit 96cf1cf

Please sign in to comment.