summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael T. Dean <mdean@mythtv.org>2012-01-20 20:55:46 (GMT)
committer Michael T. Dean <mdean@mythtv.org>2012-01-20 20:55:46 (GMT)
commit96cf1cfcecae7a3ce7f27c2485bb0486f0bdff0b (patch)
tree5f29c2d32fb0a5bdfc3d93ed4eee853f21693e9c
parentbe8919faf54b9c0384f44acbee3950c79e6230a8 (diff)
Fix warnings in 1262 DB upgrade.
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.
-rw-r--r--mythtv/libs/libmythtv/dbcheck.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/mythtv/libs/libmythtv/dbcheck.cpp b/mythtv/libs/libmythtv/dbcheck.cpp
index 2f23c54..c3804ad 100644
--- a/mythtv/libs/libmythtv/dbcheck.cpp
+++ b/mythtv/libs/libmythtv/dbcheck.cpp
@@ -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) "