Ticket #108: db_helper_fn.patch
| File db_helper_fn.patch, 60.4 KB (added by , 21 years ago) |
|---|
-
.cpp
old new 18 18 static bool InitializeDatabase(void); 19 19 static bool doUpgradeTVDatabaseSchema(void); 20 20 21 /// These are the helper functions for supporting different db backends 22 const QString dbType = "QMYSQL3"; // change this to check the user's settings 23 24 static QString createTable(const QString &dbType, const QString &tableName); 25 static QString dbInt(const QString &dbType, const QString &colName, const QString &width = "", bool nullable = true, bool unsignedCol = false, const QString &defaultVal = "", bool auto_num = false); 26 static QString dbBigInt(const QString &dbType, const QString &colName, const QString &width = "", bool nullable = true, bool unsignedCol = false, const QString &defaultVal = "", bool auto_num = false); 27 static QString dbSmallInt(const QString &dbType, const QString &colName, const QString &width = "", bool nullable = true, bool unsignedCol = false, const QString &defaultVal = "", bool auto_num = false); 28 static QString dbTinyInt(const QString &dbType, const QString &colName, const QString &width = "", bool nullable = true, bool unsignedCol = false, const QString &defaultVal = "", bool auto_num = false); 29 static QString dbMedInt(const QString &dbType, const QString &colName, const QString &width = "", bool nullable = true, bool unsignedCol = false, const QString &defaultVal = "", bool auto_num = false); 30 31 32 33 21 34 /** \defgroup db_schema MythTV Database Schema 22 35 23 36 \section db_intro Introduction … … 311 324 312 325 MSqlQuery lockquery(MSqlQuery::InitCon()); 313 326 314 lockquery.prepare("CREATE TABLE IF NOT EXISTS " 315 "schemalock ( schemalock int(1));"); 327 lockquery.prepare(createTable(dbType, "schemalock") 328 + " ( " + 329 dbInt(dbType, "schemalock", "1") + " );" ); 330 316 331 if (!lockquery.exec()) 317 332 { 318 333 VERBOSE(VB_IMPORTANT, QString("ERROR: Unable to create database " … … 382 397 const QString updates[] = { 383 398 "ALTER TABLE program ADD COLUMN category_type VARCHAR(64) NULL;", 384 399 "DROP TABLE IF EXISTS transcoding;", 385 "CREATE TABLE transcoding(chanid INT UNSIGNED, starttime TIMESTAMP, status INT, hostname VARCHAR(255));",400 createTable(dbType, "transcoding") + " (chanid INT UNSIGNED, starttime TIMESTAMP, status INT, hostname VARCHAR(255));", 386 401 "" 387 402 }; 388 403 if (!performActualUpdate(updates, "901", dbver)) … … 404 419 if (dbver == "902") 405 420 { 406 421 const QString updates[] = { 407 "ALTER TABLE record ADD rank INT(10) DEFAULT '0' NOT NULL;",408 "ALTER TABLE channel ADD rank INT(10) DEFAULT '0' NOT NULL;",422 "ALTER TABLE record ADD " + dbInt(dbType, "rank", "10", false, false, "'0'") + ";", 423 "ALTER TABLE channel ADD " + dbInt(dbType, "rank", "10", false, false, "'0'") + ";", 409 424 "" 410 425 }; 411 426 if (!performActualUpdate(updates, "903", dbver)) … … 469 484 { 470 485 const QString updates[] = { 471 486 "DROP TABLE IF EXISTS profilegroups;", 472 "CREATE TABLE profilegroups("473 " id int(10) unsigned NOT NULL auto_increment,"487 createTable(dbType, "profilegroups") + " (" 488 + dbInt(dbType, "id", "10", false, true, "", true) + "," 474 489 " name varchar(128) default NULL," 475 490 " cardtype varchar(32) NOT NULL default 'V4L'," 476 " is_default int(1) default 0,"491 + dbInt(dbType, "is_default", "1", true, false, "0") + "," 477 492 " hostname varchar(255) default NULL," 478 493 " PRIMARY KEY (id)," 479 494 " UNIQUE (name, hostname)" … … 485 500 "INSERT INTO profilegroups SET name = \"Hardware DVB Encoders\", cardtype = 'DVB', is_default = 1;", 486 501 "INSERT INTO profilegroups SET name = \"Transcoders\", cardtype = 'TRANSCODE', is_default = 1;", 487 502 "DROP TABLE recordingprofiles;", 488 "CREATE TABLE recordingprofiles("489 " id int(10) unsigned NOT NULL auto_increment,"503 createTable(dbType, "recordingprofiles") + " (" 504 + dbInt(dbType, "id", "10", false, true, "", true) + "," 490 505 " name varchar(128) default NULL," 491 506 " videocodec varchar(128) default NULL," 492 507 " audiocodec varchar(128) default NULL," 493 " profilegroup int(10) unsigned NOT NULL DEFAULT 0,"508 + dbInt(dbType, "profilegroup", "10", false, true, "0") + "," 494 509 " PRIMARY KEY (id)" 495 510 ");", 496 511 "INSERT INTO recordingprofiles SET name = \"Default\", profilegroup = 1;", … … 536 551 if (dbver == "1006") 537 552 { 538 553 const QString updates[] = { 539 "CREATE TABLE IF NOT EXISTS recordingprofiles("540 " id int(10) unsigned NOT NULL auto_increment,"554 createTable(dbType, "recordingprofiles") + " (" 555 + dbInt(dbType, "id", "10", false, true, "", true) + "," 541 556 " name varchar(128) default NULL," 542 557 " videocodec varchar(128) default NULL," 543 558 " audiocodec varchar(128) default NULL," 544 " profilegroup int(10) unsigned NOT NULL DEFAULT 0,"559 + dbInt(dbType, "profilegroup", "10", false, true, "0") + "," 545 560 " PRIMARY KEY (id)" 546 561 ");", 547 562 "" … … 556 571 "ALTER TABLE capturecard CHANGE use_ts dvb_swfilter INT DEFAULT '0';", 557 572 "ALTER TABLE capturecard CHANGE dvb_type dvb_recordts INT DEFAULT '1';", 558 573 "DROP TABLE IF EXISTS channel_dvb;", 559 "CREATE TABLE IF NOT EXISTS dvb_channel("560 " chanid SMALLINT NOT NULL,"561 " serviceid SMALLINT NULL,"562 " networkid SMALLINT NULL,"563 " providerid SMALLINT NULL,"564 " transportid SMALLINT NULL,"574 createTable(dbType, "dvb_channel") + " (" 575 + dbSmallInt(dbType, "chanid", "", false) + "," 576 + dbSmallInt(dbType, "serviceid") + "," 577 + dbSmallInt(dbType, "networkid") + "," 578 + dbSmallInt(dbType, "providerid") + "," 579 + dbSmallInt(dbType, "transportid") + "," 565 580 " frequency INTEGER NULL," 566 581 " inversion CHAR(1) NULL," 567 582 " symbolrate INTEGER NULL," 568 583 " fec VARCHAR(10) NULL," 569 584 " polarity CHAR(1) NULL," 570 " satid SMALLINT NULL,"585 + dbSmallInt(dbType, "satid") + "," 571 586 " modulation VARCHAR(10) NULL," 572 587 " bandwidth CHAR(1) NULL," 573 588 " lp_code_rate VARCHAR(10) NULL," … … 576 591 " hierarchy CHAR(1) NULL," 577 592 " PRIMARY KEY (chanid)" 578 593 ");", 579 "CREATE TABLE IF NOT EXISTS dvb_sat("580 " satid SMALLINT NOT NULL AUTO_INCREMENT,"581 " lnbid SMALLINT NOT NULL,"582 " cardnum SMALLINT NOT NULL,"594 createTable(dbType, "dvb_sat") + " (" 595 + dbSmallInt(dbType, "satid", "", false, false, "", true) + "," 596 + dbSmallInt(dbType, "lnbid", "", false) + "," 597 + dbSmallInt(dbType, "cardnum", "", false) + "," 583 598 " PRIMARY KEY (cardnum,satid,lnbid)" 584 599 ");", 585 "CREATE TABLE IF NOT EXISTS dvb_lnb("586 " lnbid SMALLINT NOT NULL AUTO_INCREMENT,"587 " disecqid SMALLINT NULL,"588 " diseqc_port SMALLINT NULL,"600 createTable(dbType, "dvb_lnb") + " (" 601 + dbSmallInt(dbType, "lnbid", "", false, false, "", true) + "," 602 + dbSmallInt(dbType, "disecqid") + "," 603 + dbSmallInt(dbType, "diseqc_port") + "," 589 604 " lof_switch INTEGER DEFAULT 11700000 NOT NULL," 590 605 " lof_hi INTEGER DEFAULT 10600000 NOT NULL," 591 606 " lof_lo INTEGER DEFAULT 9750000 NOT NULL," 592 607 " PRIMARY KEY (lnbid)" 593 608 ");", 594 "CREATE TABLE IF NOT EXISTS dvb_pids("595 " chanid SMALLINT NOT NULL,"596 " pid SMALLINT NOT NULL,"609 createTable(dbType, "dvb_pids") + " (" 610 + dbSmallInt(dbType, "chanid", "", false) + "," 611 + dbSmallInt(dbType, "pid") + "," 597 612 " type CHAR(1) DEFAULT 'o' NOT NULL," 598 613 " lang CHAR(3) DEFAULT '' NOT NULL," 599 614 " PRIMARY KEY (chanid,pid)" … … 607 622 if (dbver == "1008") 608 623 { 609 624 const QString updates[] = { 610 "CREATE TABLE IF NOT EXISTS dvb_sat("611 " satid SMALLINT NOT NULL AUTO_INCREMENT,"612 " lnbid SMALLINT NOT NULL,"613 " cardnum SMALLINT NOT NULL,"625 createTable(dbType, "dvb_sat") + " (" 626 + dbSmallInt(dbType, "satid", "", false, false, "", true) + "," 627 + dbSmallInt(dbType, "lnbid", "", false) + "," 628 + dbSmallInt(dbType, "cardnum", "", false) + "," 614 629 " PRIMARY KEY (cardnum,satid,lnbid)" 615 630 ");", 616 631 "" … … 636 651 "DROP TABLE IF EXISTS dvb_diseqc;", 637 652 "DROP TABLE IF EXISTS dvb_lnb;", 638 653 "DROP TABLE IF EXISTS dvb_sat;", 639 "CREATE TABLE IF NOT EXISTS dvb_sat("640 " satid SMALLINT NOT NULL AUTO_INCREMENT,"654 createTable(dbType, "dvb_sat") + " (" 655 + dbSmallInt(dbType, "satid", "", false, false, "", true) + "," 641 656 " sourceid INT DEFAULT 0," 642 " pos SMALLINT DEFAULT 0,"657 + dbSmallInt(dbType, "pos", "", true, false, "0") + "," 643 658 " name VARCHAR(128)," 644 " diseqc_type SMALLINT DEFAULT 0,"645 " diseqc_port SMALLINT DEFAULT 0,"646 " lnb_lof_switch SMALLINT DEFAULT 11700000,"659 + dbSmallInt(dbType, "diseqc_type", "", true, false, "0") + "," 660 + dbSmallInt(dbType, "diseqc_port", "", true, false, "0") + "," 661 + dbSmallInt(dbType, "lnb_lof_switch", "", true, false, "11700000") + "," 647 662 " lnb_lof_hi INTEGER DEFAULT 10600000," 648 663 " lnb_lof_lo INTEGER DEFAULT 9750000," 649 664 " PRIMARY KEY(satid)" … … 657 672 if (dbver == "1011") 658 673 { 659 674 const QString updates[] = { 660 "CREATE TABLE IF NOT EXISTS recordoverride("675 createTable(dbType, "recordoverride") + " (" 661 676 " recordid INT UNSIGNED NOT NULL, " 662 677 " type INT UNSIGNED NOT NULL, " 663 678 " chanid INT UNSIGNED NULL, " … … 688 703 if (dbver == "1013") 689 704 { 690 705 const QString updates[] = { 691 "ALTER TABLE record CHANGE rank recpriority INT(10) DEFAULT '0' NOT NULL;",692 "ALTER TABLE channel CHANGE rank recpriority INT(10) DEFAULT '0' NOT NULL;",706 "ALTER TABLE record CHANGE rank " + dbInt(dbType, "recpriority", "10", false, false, "'0'") + ";", 707 "ALTER TABLE channel CHANGE rank " + dbInt(dbType, "recpriority", "10", false, false, "'0'") + ";", 693 708 "UPDATE settings SET value='RecPriorityingActive' WHERE value='RankingActive';", 694 709 "UPDATE settings SET value='RecPriorityingOrder' WHERE value='RankingOrder';", 695 710 "UPDATE settings SET value='SingleRecordRecPriority' WHERE value='SingleRecordRank';", … … 720 735 if (dbver == "1015") 721 736 { 722 737 const QString updates[] = { 723 "CREATE TABLE jumppoints("738 createTable(dbType, "jumppoints") + " (" 724 739 " destination varchar(128) NOT NULL," 725 740 " description varchar(255) default NULL," 726 741 " keylist varchar(32) default NULL," 727 742 " hostname varchar(255) NOT NULL" 728 743 ");", 729 "CREATE TABLE keybindings("744 createTable(dbType, "keybindings") + " (" 730 745 " context varchar(32) NOT NULL," 731 746 " action varchar(32) NOT NULL," 732 747 " description varchar(255) default NULL," … … 796 811 if (dbver == "1020") 797 812 { 798 813 const QString updates[] = { 799 "CREATE TABLE oldprogram("814 createTable(dbType, "oldprogram") + " (" 800 815 " oldtitle VARCHAR(128) NOT NULL PRIMARY KEY," 801 816 " airdate TIMESTAMP NOT NULL" 802 817 ");", … … 810 825 if (dbver == "1021") 811 826 { 812 827 const QString updates[] = { 813 "ALTER TABLE recorded ADD COLUMN commflagged int(10) unsigned NOT NULL default '0';",828 "ALTER TABLE recorded ADD COLUMN " + dbInt(dbType, "commflagged", "10", false, true, "'0'") + ";", 814 829 "" 815 830 }; 816 831 … … 889 904 if (dbver == "1025") 890 905 { 891 906 const QString updates[] = { 892 "CREATE TABLE keyword("907 createTable(dbType, "keyword") + " (" 893 908 " phrase VARCHAR(128) NOT NULL PRIMARY KEY," 894 909 " UNIQUE(phrase)" 895 910 ");", … … 915 930 if (dbver == "1027") 916 931 { 917 932 const QString updates[] = { 918 "CREATE TABLE IF NOT EXISTS dvb_signal_quality("933 createTable(dbType, "dvb_signal_quality") + " (" 919 934 " id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY," 920 935 " sampletime TIMESTAMP NOT NULL," 921 936 " cardid INT UNSIGNED NOT NULL," … … 929 944 " FOREIGN KEY(cardid) REFERENCES capturecard(id)," 930 945 " INDEX (sampletime,cardid)" 931 946 ");", 932 "ALTER TABLE capturecard ADD skipbtaudio TINYINT(1) DEFAULT 0;",947 "ALTER TABLE capturecard ADD " + dbTinyInt(dbType, "skipbtaudio", "1", true, false, "0") + ";", 933 948 "" 934 949 }; 935 950 if (!performActualUpdate(updates, "1028", dbver)) … … 938 953 939 954 if (dbver == "1028") { 940 955 const QString updates[] = { 941 "ALTER TABLE channel ADD COLUMN commfree TINYINT NOT NULL default '0';",956 "ALTER TABLE channel ADD COLUMN " + dbTinyInt(dbType, "commfree", "", false, false, "'0'") + ";", 942 957 "ALTER TABLE record ADD COLUMN recgroup VARCHAR(32) default 'Default';", 943 958 "ALTER TABLE record ADD COLUMN dupmethod INT NOT NULL DEFAULT 6;", 944 959 "ALTER TABLE record ADD COLUMN dupin INT NOT NULL DEFAULT 15;", … … 947 962 "ALTER TABLE record DROP COLUMN recorddups;", 948 963 "ALTER TABLE recorded ADD COLUMN recgroup VARCHAR(32) default 'Default';", 949 964 "ALTER TABLE recorded ADD COLUMN recordid INT DEFAULT NULL;", 950 "CREATE TABLE recgrouppassword("965 createTable(dbType, "recgrouppassword") + " (" 951 966 " recgroup VARCHAR(32) NOT NULL PRIMARY KEY, " 952 967 " password VARCHAR(10) NOT NULL, " 953 968 " UNIQUE(recgroup)" … … 972 987 if (dbver == "1030") 973 988 { 974 989 const QString updates[] = { 975 "ALTER TABLE channel ADD COLUMN visible TINYINT(1) NOT NULL default '1';",990 "ALTER TABLE channel ADD COLUMN " + dbTinyInt(dbType, "visible", "1", false, false, "'1'") + ";", 976 991 "UPDATE channel SET visible = 1;", 977 992 "" 978 993 }; … … 982 997 983 998 if (dbver == "1031") { 984 999 const QString updates[] = { 985 "ALTER TABLE capturecard ADD dvb_on_demand TINYINT NOT NULL DEFAULT 0;",1000 "ALTER TABLE capturecard ADD " + dbTinyInt(dbType, "dvb_on_demand", "", false, false, "0") + ";", 986 1001 "" 987 1002 }; 988 1003 if (!performActualUpdate(updates, "1032", dbver)) … … 1013 1028 if (dbver == "1034") 1014 1029 { 1015 1030 const QString updates[] = { 1016 "CREATE TABLE mythlog("1017 " logid int(10) unsigned PRIMARY KEY NOT NULL auto_increment,"1031 createTable(dbType, "mythlog") + " (" 1032 + dbInt(dbType, "logid", "10", false, true, "", true) + "PRIMARY KEY," 1018 1033 " module char(32) NOT NULL," 1019 " priority int(11) NOT NULL,"1034 + dbInt(dbType, "priority", "11", false) + "," 1020 1035 " acknowledged bool default 0," 1021 1036 " logdate datetime," 1022 1037 " host varchar(128)," 1023 1038 " message varchar(255) NOT NULL," 1024 1039 " details text" 1025 1040 ");", 1026 "CREATE TABLE housekeeping("1041 createTable(dbType, "housekeeping") + " (" 1027 1042 " tag varchar(64) PRIMARY KEY NOT NULL," 1028 1043 " lastrun datetime" 1029 1044 ");", … … 1037 1052 { 1038 1053 const QString updates[] = { 1039 1054 "ALTER TABLE dvb_sat CHANGE pos pos FLOAT;", 1040 "ALTER TABLE dvb_sat ADD diseqc_pos SMALLINT DEFAULT 0AFTER diseqc_port;",1055 "ALTER TABLE dvb_sat ADD " + dbSmallInt(dbType,"diseqc_pos", "", true, false, "0") + " AFTER diseqc_port;", 1041 1056 "" 1042 1057 }; 1043 1058 if (!performActualUpdate(updates,"1036", dbver)) … … 1081 1096 "DELETE FROM people;", 1082 1097 "ALTER TABLE people DROP INDEX name;", 1083 1098 "ALTER TABLE people ADD UNIQUE name (name(41));", 1084 "CREATE TABLE programgenres( "1099 createTable(dbType, "programgenres") + " ( " 1085 1100 " chanid int unsigned NOT NULL, " 1086 1101 " starttime timestamp NOT NULL, " 1087 1102 " relevance char(1) NOT NULL, " … … 1097 1112 if (dbver == "1038") 1098 1113 { 1099 1114 const QString updates[] = { 1100 "CREATE TABLE IF NOT EXISTS programgenres( "1115 createTable(dbType, "programgenres") + " ( " 1101 1116 " chanid int unsigned NOT NULL, " 1102 1117 " starttime timestamp NOT NULL, " 1103 1118 " relevance char(1) NOT NULL, " … … 1254 1269 if (dbver == "1047") 1255 1270 { 1256 1271 const QString updates[] = { 1257 "CREATE TABLE networkiconmap("1272 createTable(dbType, "networkiconmap") + " (" 1258 1273 " id INTEGER NOT NULL AUTO_INCREMENT," 1259 1274 " network VARCHAR(20) NOT NULL UNIQUE," 1260 1275 " url VARCHAR(255) NOT NULL," 1261 1276 " PRIMARY KEY(id)" 1262 1277 ");", 1263 "CREATE TABLE callsignnetworkmap("1278 createTable(dbType, "callsignnetworkmap") + " (" 1264 1279 " id INTEGER NOT NULL AUTO_INCREMENT," 1265 1280 " callsign VARCHAR(20) NOT NULL UNIQUE," 1266 1281 " network VARCHAR(20) NOT NULL," … … 1303 1318 "ALTER TABLE recorded CHANGE starttime starttime DATETIME NOT NULL;", 1304 1319 "ALTER TABLE recorded CHANGE endtime endtime DATETIME NOT NULL;", 1305 1320 "ALTER TABLE recorded ADD COLUMN lastmodified TIMESTAMP NOT NULL;", 1306 "ALTER TABLE recorded ADD COLUMN filesize BIGINT(20) DEFAULT 0 NOT NULL;", 1321 "ALTER TABLE recorded ADD COLUMN " + 1322 dbBigInt(dbType, "filesize", "20", false, false, "0") + ";", 1307 1323 "ALTER TABLE credits CHANGE starttime starttime DATETIME NOT NULL;", 1308 1324 "ALTER TABLE oldprogram CHANGE airdate airdate DATETIME NOT NULL;", 1309 1325 "ALTER TABLE oldrecorded CHANGE starttime starttime DATETIME NOT NULL;", … … 1337 1353 { 1338 1354 const QString updates[] = { 1339 1355 "ALTER TABLE recorded ADD COLUMN stars FLOAT NOT NULL DEFAULT 0;", 1340 "ALTER TABLE recorded ADD COLUMN previouslyshown TINYINT(1) DEFAULT 0;",1356 "ALTER TABLE recorded ADD COLUMN " + dbTinyInt(dbType, "previouslyshown", "1", true, false, "0") + ";", 1341 1357 "ALTER TABLE recorded ADD COLUMN originalairdate DATE;", 1342 1358 "INSERT INTO settings VALUES ('HaveRepeats', '0', NULL);", 1343 1359 "" … … 1380 1396 if (dbver == "1056") 1381 1397 { 1382 1398 const QString updates[] = { 1383 "CREATE TABLE jobqueue("1399 createTable(dbType, "jobqueue") + " (" 1384 1400 " id INTEGER NOT NULL AUTO_INCREMENT," 1385 1401 " chanid INTEGER(10) NOT NULL," 1386 1402 " starttime DATETIME NOT NULL," … … 1396 1412 " PRIMARY KEY(id)," 1397 1413 " UNIQUE(chanid, starttime, type, inserttime)" 1398 1414 ");", 1399 "ALTER TABLE record ADD COLUMN autotranscode TINYINT(1) NOT NULL DEFAULT 0;",1400 "ALTER TABLE record ADD COLUMN autocommflag TINYINT(1) NOT NULL DEFAULT 0;",1401 "ALTER TABLE record ADD COLUMN autouserjob1 TINYINT(1) NOT NULL DEFAULT 0;",1402 "ALTER TABLE record ADD COLUMN autouserjob2 TINYINT(1) NOT NULL DEFAULT 0;",1403 "ALTER TABLE record ADD COLUMN autouserjob3 TINYINT(1) NOT NULL DEFAULT 0;",1404 "ALTER TABLE record ADD COLUMN autouserjob4 TINYINT(1) NOT NULL DEFAULT 0;",1415 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "autotranscode", "1", false, false, "0") + ";", 1416 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "autocommflag", "1", false, false, "0") + ";", 1417 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "autouserjob1", "1", false, false, "0") + ";", 1418 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "autouserjob2", "1", false, false, "0") + ";", 1419 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "autouserjob3", "1", false, false, "0") + ";", 1420 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "autouserjob4", "1", false, false, "0") + ";", 1405 1421 "" 1406 1422 }; 1407 1423 if (!performActualUpdate(updates, "1057", dbver)) … … 1437 1453 if (dbver == "1059") 1438 1454 { 1439 1455 const QString updates[] = { 1440 "ALTER TABLE recorded ADD COLUMN preserve TINYINT(1) NOT NULL DEFAULT 0;",1456 "ALTER TABLE recorded ADD COLUMN " + dbTinyInt(dbType, "preserve", "1", false, false, "0") + ";", 1441 1457 "" 1442 1458 }; 1443 1459 if (!performActualUpdate(updates, "1060", dbver)) … … 1447 1463 if (dbver == "1060") 1448 1464 { 1449 1465 const QString updates[] = { 1450 1451 "ALTER TABLE record ADD COLUMN record.findday TINYINT NOT NULL DEFAULT 0;", 1466 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "record.findday", "", false, false, "0") + ";", 1452 1467 "ALTER TABLE record ADD COLUMN record.findtime TIME NOT NULL DEFAULT '00:00:00';", 1453 1468 "ALTER TABLE record ADD COLUMN record.findid INT NOT NULL DEFAULT 0;", 1454 1469 "ALTER TABLE recorded ADD COLUMN recorded.findid INT NOT NULL DEFAULT 0;", … … 1462 1477 if (dbver == "1061") 1463 1478 { 1464 1479 const QString updates[] = { 1465 "ALTER TABLE record ADD COLUMN inactive TINYINT(1) NOT NULL DEFAULT 0;",1480 "ALTER TABLE record ADD COLUMN " + dbTinyInt(dbType, "inactive", "1", false, false, "0") + ";", 1466 1481 "" 1467 1482 }; 1468 1483 if (!performActualUpdate(updates, "1062", dbver)) … … 1472 1487 if (dbver == "1062") 1473 1488 { 1474 1489 const QString updates[] = { 1475 "ALTER TABLE cardinput ADD COLUMN freetoaironly TINYINT(1) DEFAULT 1;",1476 "ALTER TABLE channel ADD COLUMN useonairguide TINYINT(1) DEFAULT 0;",1477 "ALTER TABLE capturecard ADD COLUMN dvb_diseqc_type SMALLINT(6);",1478 "ALTER TABLE cardinput ADD COLUMN diseqc_port SMALLINT(6);",1490 "ALTER TABLE cardinput ADD COLUMN " + dbTinyInt(dbType, "freetoaironly", "1", true, false, "1") + ";", 1491 "ALTER TABLE channel ADD COLUMN " + dbTinyInt(dbType, "useonairguide", "1", true, false, "0") + ";", 1492 "ALTER TABLE capturecard ADD COLUMN " + dbSmallInt(dbType, "dvb_diseqc_type", "6") + ";", 1493 "ALTER TABLE cardinput ADD COLUMN " + dbSmallInt(dbType, "diseqc_port", "6") + ";", 1479 1494 "ALTER TABLE cardinput ADD COLUMN diseqc_pos FLOAT;", 1480 "ALTER TABLE cardinput ADD COLUMN lnb_lof_switch INT(11) DEFAULT 11700000;",1481 "ALTER TABLE cardinput ADD COLUMN lnb_lof_hi INT(11) DEFAULT 10600000;",1482 "ALTER TABLE cardinput ADD COLUMN lnb_lof_lo INT(11) DEFAULT 9750000;",1483 "ALTER TABLE channel ADD COLUMN mplexid SMALLINT(6);",1484 "ALTER TABLE channel ADD COLUMN serviceid SMALLINT(6);",1485 "ALTER TABLE channel ADD COLUMN atscsrcid INT(11) DEFAULT NULL;",1486 "CREATE TABLE dtv_multiplex("1487 " mplexid smallint(6) NOT NULL auto_increment, "1488 " sourceid smallint(6) default NULL,"1489 " transportid int(11) default NULL,"1490 " networkid int(11) default NULL,"1491 " frequency int(11) default NULL,"1495 "ALTER TABLE cardinput ADD COLUMN " + dbInt(dbType, "lnb_lof_switch", "11", true, false, "11700000") + ";", 1496 "ALTER TABLE cardinput ADD COLUMN " + dbInt(dbType, "lnb_lof_hi", "11", true, false, "10600000") + ";", 1497 "ALTER TABLE cardinput ADD COLUMN " + dbInt(dbType, "lnb_lof_lo", "11", true, false, "9750000") + ";", 1498 "ALTER TABLE channel ADD COLUMN " + dbSmallInt(dbType, "mplexid", "6") + ";", 1499 "ALTER TABLE channel ADD COLUMN " + dbSmallInt(dbType, "serviceid", "6") + ";", 1500 "ALTER TABLE channel ADD COLUMN " + dbInt(dbType, "atscsrcid", "11", true, false, "NULL")+ ";", 1501 createTable(dbType, "dtv_multiplex") + " (" 1502 + dbSmallInt(dbType, "mplexid", "6", false, false, "", true) + ", " 1503 + dbSmallInt(dbType, "sourceid", "6", true, false, "NULL") + "," 1504 + dbInt(dbType, "transportid", "11", true, false, "NULL") + "," 1505 + dbInt(dbType, "networkid", "11", true, false, "NULL") + "," 1506 + dbInt(dbType, "frequency", "11", true, false, "NULL") + "," 1492 1507 " inversion char(1) default 'a'," 1493 " symbolrate int(11) default NULL,"1508 + dbInt(dbType, "symbolrate", "11", true, false, "NULL") + "," 1494 1509 " fec varchar(10) default 'auto'," 1495 1510 " polarity char(1) default NULL," 1496 1511 " modulation varchar(10) default 'auto'," … … 1498 1513 " lp_code_rate varchar(10) default 'auto'," 1499 1514 " transmission_mode char(1) default 'a'," 1500 1515 " guard_interval varchar(10) default 'auto'," 1501 " visible smallint(1) NOT NULL default '0',"1516 + dbSmallInt(dbType, "visible", "1", false, false, "'0'") + "," 1502 1517 " constellation varchar(10) default 'auto'," 1503 1518 " hierarchy varchar(10) default 'auto'," 1504 1519 " hp_code_rate varchar(10) default 'auto'," 1505 1520 " sistandard varchar(10) default 'dvb'," 1506 " serviceversion smallint(6) default 33,"1521 + dbSmallInt(dbType, "serviceversion", "6", true, false, "33") + "," 1507 1522 " updatetimestamp timestamp(14) NOT NULL," 1508 1523 " PRIMARY KEY (mplexid)" 1509 1524 ") TYPE=MyISAM;", 1510 1525 // These should be included in an update after the 0.17 release. 1511 // "DROP TABLE IF EXISTS dvb_channel;",1526 // "DROP TABLE const QString &dbType, const QString &colName, const QString &width = "", bool nullable = true, bool unsignedCol = false, const QString &defaultVal = "", bool auto_num = falseIF EXISTS dvb_channel;", 1512 1527 // "DROP TABLE IF EXISTS dvb_pids;", 1513 1528 // "DROP TABLE IF EXISTS dvb_sat;", 1514 "CREATE TABLE dtv_privatetypes("1529 createTable(dbType, "dtv_privatetypes") + " (" 1515 1530 " sitype varchar(4) NOT NULL, " 1516 " networkid int(11) NOT NULL, "1531 + dbInt(dbType, "networkid", "11", false) + ", " 1517 1532 " private_type varchar(20) NOT NULL, " 1518 1533 " private_value varchar(100) NOT NULL " 1519 1534 ");", … … 1572 1587 if (dbver == "1063") 1573 1588 { 1574 1589 const QString updates[] = { 1575 "CREATE TABLE IF NOT EXISTS recordmatch(recordid int unsigned, "1590 createTable(dbType, "recordmatch") + " (recordid int unsigned, " 1576 1591 "chanid int unsigned, starttime datetime, INDEX (recordid));", 1577 1592 "" 1578 1593 }; … … 1583 1598 if (dbver == "1064") 1584 1599 { 1585 1600 const QString updates[] = { 1586 "ALTER TABLE `program` CHANGE `stereo` `stereo` TINYINT( 1 ) DEFAULT '0' NOT NULL;",1587 "ALTER TABLE `program` CHANGE `subtitled` `subtitled` TINYINT( 1 ) DEFAULT '0' NOT NULL;",1588 "ALTER TABLE `program` CHANGE `hdtv` `hdtv` TINYINT( 1 ) DEFAULT '0' NOT NULL;",1589 "ALTER TABLE `program` CHANGE `closecaptioned` `closecaptioned` TINYINT( 1 ) DEFAULT '0' NOT NULL;",1590 "ALTER TABLE `program` CHANGE `partnumber` `partnumber` INT( 11 ) DEFAULT '0' NOT NULL;",1591 "ALTER TABLE `program` CHANGE `parttotal` `parttotal` INT( 11 ) DEFAULT '0' NOT NULL;",1601 "ALTER TABLE `program` CHANGE `stereo` " + dbTinyInt(dbType, "`stereo`", "1", false, false, "'0'") + ";", 1602 "ALTER TABLE `program` CHANGE `subtitled` " + dbTinyInt(dbType, "`subtitled`", "1", false, false, "'0'") + ";", 1603 "ALTER TABLE `program` CHANGE `hdtv` " + dbTinyInt(dbType, "`hdtv`", "1", false, false, "'0'") + ";", 1604 "ALTER TABLE `program` CHANGE `closecaptioned` " + dbTinyInt(dbType, "`closecaptioned`", "1", false, false, "'0'") + ";", 1605 "ALTER TABLE `program` CHANGE `partnumber` " + dbInt(dbType, "`partnumber`", "11", false, false, "'0'") + ";", 1606 "ALTER TABLE `program` CHANGE `parttotal` " + dbInt(dbType, "`parttotal`", "11", false, false, "'0'") + ";", 1592 1607 "ALTER TABLE `program` CHANGE `programid` `programid` VARCHAR( 20 ) NOT NULL;", 1593 1608 "ALTER TABLE `oldrecorded` CHANGE `programid` `programid` VARCHAR( 20 ) NOT NULL;", 1594 1609 "ALTER TABLE `recorded` CHANGE `programid` `programid` VARCHAR( 20 ) NOT NULL;", … … 1643 1658 if (dbver == "1068") 1644 1659 { 1645 1660 const QString updates[] = { 1646 "ALTER TABLE recorded ADD COLUMN deletepending TINYINT(1) NOT NULL DEFAULT 0;",1661 "ALTER TABLE recorded ADD COLUMN " + dbTinyInt(dbType, "deletepending", "1", false, false, "0") + ";", 1647 1662 "" 1648 1663 }; 1649 1664 if (!performActualUpdate(updates, "1069", dbver)) … … 1721 1736 if (dbver == "1075") 1722 1737 { 1723 1738 const QString updates[] = { 1724 "CREATE TABLE IF NOT EXISTS recordedprogram("1725 " chanid int(10) unsigned NOT NULL default '0',"1739 createTable(dbType, "recordedprogram") + " (" 1740 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 1726 1741 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 1727 1742 " endtime datetime NOT NULL default '0000-00-00 00:00:00'," 1728 1743 " title varchar(128) NOT NULL default ''," … … 1732 1747 " category_type varchar(64) NOT NULL default ''," 1733 1748 " airdate year(4) NOT NULL default '0000'," 1734 1749 " stars float unsigned NOT NULL default '0'," 1735 " previouslyshown tinyint(4) NOT NULL default '0',"1750 + dbTinyInt(dbType, "previouslyshown", "4", false, false, "'0'") + "," 1736 1751 " title_pronounce varchar(128) NOT NULL default ''," 1737 " stereo tinyint(1) NOT NULL default '0',"1738 " subtitled tinyint(1) NOT NULL default '0',"1739 " hdtv tinyint(1) NOT NULL default '0',"1740 " closecaptioned tinyint(1) NOT NULL default '0',"1741 " partnumber int(11) NOT NULL default '0',"1742 " parttotal int(11) NOT NULL default '0',"1752 + dbTinyInt(dbType, "stereo", "1", false, false, "'0'") + "," 1753 + dbTinyInt(dbType, "subtitled", "1", false, false, "'0'") + "," 1754 + dbTinyInt(dbType, "hdtv", "1", false, false, "'0'") + "," 1755 + dbTinyInt(dbType, "closecaptioned", "1", false, false, "'0'") + "," 1756 + dbInt(dbType, "partnumber", "11", false, false, "'0'") + "," 1757 + dbInt(dbType, "parttotal", "11", false, false, "'0'") + "," 1743 1758 " seriesid varchar(12) NOT NULL default ''," 1744 1759 " originalairdate date default NULL," 1745 1760 " showtype varchar(30) NOT NULL default ''," 1746 1761 " colorcode varchar(20) NOT NULL default ''," 1747 1762 " syndicatedepisodenumber varchar(20) NOT NULL default ''," 1748 1763 " programid varchar(20) NOT NULL default ''," 1749 " manualid int(10) unsigned NOT NULL default '0',"1764 + dbInt(dbType, "manualid", "10", false, true, "'0'") + "," 1750 1765 " PRIMARY KEY (chanid,starttime,manualid)," 1751 1766 " KEY endtime (endtime)," 1752 1767 " KEY title (title)," … … 1755 1770 " KEY programid (programid)," 1756 1771 " KEY id_start_end (chanid,starttime,endtime)" 1757 1772 ");", 1758 "CREATE TABLE IF NOT EXISTS recordedcredits (" 1759 " person mediumint(8) unsigned NOT NULL default '0',"1760 " chanid int(10) unsigned NOT NULL default '0',"1773 createTable(dbType, "recordedcredits") + " (" + 1774 dbMedInt(dbType, "person", "8", false, true, "'0'") + "," 1775 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 1761 1776 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 1762 1777 " role set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default ''," 1763 1778 " UNIQUE KEY chanid (chanid,starttime,person,role)," 1764 1779 " KEY person (person,role)" 1765 1780 ");", 1766 "CREATE TABLE IF NOT EXISTS recordedrating("1767 " chanid int(10) unsigned NOT NULL default '0',"1781 createTable(dbType, "recordedrating") + " (" 1782 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 1768 1783 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 1769 1784 " system char(8) NOT NULL default ''," 1770 1785 " rating char(8) NOT NULL default ''," … … 1835 1850 if (dbver == "1081") 1836 1851 { 1837 1852 const QString updates[] = { 1838 "CREATE TABLE IF NOT EXISTS oldfind("1853 createTable(dbType, "oldfind") + " (" 1839 1854 "recordid INT NOT NULL DEFAULT 0," 1840 1855 "findid INT NOT NULL DEFAULT 0," 1841 1856 "PRIMARY KEY (recordid, findid)" … … 1850 1865 if (dbver == "1082") 1851 1866 { 1852 1867 const QString updates[] = { 1853 "CREATE TABLE IF NOT EXISTS videobookmarks("1868 createTable(dbType, "videobookmarks") + " (" 1854 1869 " filename varchar(255) NOT NULL," 1855 1870 " bookmark varchar(128) default NULL," 1856 1871 " PRIMARY KEY (filename)" … … 1911 1926 { 1912 1927 const QString updates[] = { 1913 1928 "DROP TABLE IF EXISTS pidcache;", 1914 "CREATE TABLE IF NOT EXISTS pidcache("1915 " chanid smallint(6) NOT NULL default '0',"1916 " pid int(11) NOT NULL default '-1',"1917 " tableid int(11) NOT NULL default '-1',"1929 createTable(dbType, "pidcache") + " (" 1930 + dbSmallInt(dbType, "chanid", "6", false, false, "'0'") + "," 1931 + dbInt(dbType, "pid", "11", false, false, "'-1'") + "," 1932 + dbInt(dbType, "tableid", "11", false, false, "'-1'") + "," 1918 1933 " INDEX(chanid)" 1919 1934 ");", 1920 1935 "" … … 1926 1941 if (dbver == "1086") 1927 1942 { 1928 1943 const QString updates[] = { 1929 "CREATE TABLE IF NOT EXISTS xvmc_buffer_settings( "1930 " id int(11) NOT NULL auto_increment, "1944 createTable(dbType, "xvmc_buffer_settings") + " ( " 1945 + dbInt(dbType, "id", "11", false, false, "", true) + ", " 1931 1946 " description varchar(255) NOT NULL default ''," 1932 " osd_num int(11) NOT NULL default '0',"1933 " osd_res_num int(11) NOT NULL default '0',"1934 " min_surf int(11) NOT NULL default '0',"1935 " max_surf int(11) NOT NULL default '0',"1936 " decode_num int(11) NOT NULL default '0',"1937 " agressive int(11) NOT NULL default '1',"1947 + dbInt(dbType, "osd_num", "11", false, false, "'0'") + "," 1948 + dbInt(dbType, "osd_res_num", "11", false, false, "'0'") + "," 1949 + dbInt(dbType, "min_surf", "11", false, false, "'0'") + "," 1950 + dbInt(dbType, "max_surf", "11", false, false, "'0'") + "," 1951 + dbInt(dbType, "decode_num", "11", false, false, "'0'") + "," 1952 + dbInt(dbType, "agressive", "11", false, false, "'1'") + "," 1938 1953 " PRIMARY KEY (id) );", 1939 1954 "INSERT INTO xvmc_buffer_settings VALUES (1,'Default / nVidia',2,2,8,16,8,1);", 1940 1955 "INSERT INTO xvmc_buffer_settings VALUES (2,'VLD (More decode buffers)',2,2,8,16,16,1);", 1941 1956 "" 1942 }; 1943 1944 if (!performActualUpdate(updates, "1087", dbver))1957 }; 1958 1959 if (!performActualUpdate(updates, "1087", dbver)) 1945 1960 return false; 1946 }1947 1961 } 1962 1948 1963 return true; 1949 1964 } 1950 1965 … … 1969 1984 VERBOSE(VB_ALL, "Inserting MythTV initial database information."); 1970 1985 1971 1986 const QString updates[] = { 1972 "CREATE TABLE IF NOT EXISTS callsignnetworkmap("1973 " id int(11) NOT NULL auto_increment,"1987 createTable(dbType, "callsignnetworkmap") + " (" 1988 + dbInt(dbType, "id", "11", false, false, "", true) + "," 1974 1989 " callsign varchar(20) NOT NULL default ''," 1975 1990 " network varchar(20) NOT NULL default ''," 1976 1991 " PRIMARY KEY (id)," 1977 1992 " UNIQUE KEY callsign (callsign)" 1978 1993 ");", 1979 "CREATE TABLE IF NOT EXISTS capturecard("1980 " cardid int(10) unsigned NOT NULL auto_increment,"1994 createTable(dbType, "capturecard") + " (" 1995 + dbInt(dbType, "cardid", "10", false, true, "", true) + "," 1981 1996 " videodevice varchar(128) default NULL," 1982 1997 " audiodevice varchar(128) default NULL," 1983 1998 " vbidevice varchar(128) default NULL," 1984 1999 " cardtype varchar(32) default 'V4L'," 1985 2000 " defaultinput varchar(32) default 'Television'," 1986 " audioratelimit int(11) default NULL,"2001 + dbInt(dbType, "audioratelimit", "11", true, false, "NULL") + "," 1987 2002 " hostname varchar(255) default NULL," 1988 " dvb_swfilter int(11) default '0',"1989 " dvb_recordts int(11) default '1',"1990 " dvb_sat_type int(11) NOT NULL default '0',"1991 " dvb_wait_for_seqstart int(11) NOT NULL default '1',"1992 " dvb_dmx_buf_size int(11) NOT NULL default '8192',"1993 " dvb_pkt_buf_size int(11) NOT NULL default '8192',"1994 " skipbtaudio tinyint(1) default '0',"1995 " dvb_on_demand tinyint(4) NOT NULL default '0',"2003 + dbInt(dbType, "dvb_swfilter", "11", true, false, "'0'") + "," 2004 + dbInt(dbType, "dvb_recordts", "11", true, false, "'1'") + "," 2005 + dbInt(dbType, "dvb_sat_type", "11", false, false, "'0'") + "," 2006 + dbInt(dbType, "dvb_wait_for_seqstart", "11", false, false, "'1'") + "," 2007 + dbInt(dbType, "dvb_dmx_buf_size", "11", false, false, "'8192'") + "," 2008 + dbInt(dbType, "dvb_pkt_buf_size", "11", false, false, "'8192'") + "," 2009 + dbTinyInt(dbType, "skipbtaudio", "1", true, false, "'0'") + "," 2010 + dbTinyInt(dbType, "dvb_on_demand", "4", false, false, "'0'") + "," 1996 2011 " PRIMARY KEY (cardid)" 1997 2012 ");", 1998 "CREATE TABLE IF NOT EXISTS cardinput("1999 " cardinputid int(10) unsigned NOT NULL auto_increment,"2000 " cardid int(10) unsigned NOT NULL default '0',"2001 " sourceid int(10) unsigned NOT NULL default '0',"2013 createTable(dbType, "cardinput") + " (" 2014 + dbInt(dbType, "cardinputid", "10", false, true, "", true) + "," 2015 + dbInt(dbType, "cardid", "10", false, true, "'0'") + "," 2016 + dbInt(dbType, "sourceid", "10", false, true, "'0'") + "," 2002 2017 " inputname varchar(32) NOT NULL default ''," 2003 2018 " externalcommand varchar(128) default NULL," 2004 " preference int(11) NOT NULL default '0',"2019 + dbInt(dbType, "preference", "11", false, false, "'0'") + "," 2005 2020 " shareable char(1) default 'N'," 2006 2021 " tunechan varchar(5) NOT NULL default ''," 2007 2022 " startchan varchar(5) NOT NULL default ''," 2008 2023 " PRIMARY KEY (cardinputid)" 2009 2024 ");", 2010 "CREATE TABLE IF NOT EXISTS channel("2011 " chanid int(10) unsigned NOT NULL default '0',"2025 createTable(dbType, "channel") + " (" 2026 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2012 2027 " channum varchar(5) NOT NULL default ''," 2013 2028 " freqid varchar(10) default NULL," 2014 " sourceid int(10) unsigned default NULL,"2029 + dbInt(dbType, "sourceid", "10", true, false, "NULL") + "," 2015 2030 " callsign varchar(20) NOT NULL default ''," 2016 2031 " name varchar(64) NOT NULL default ''," 2017 2032 " icon varchar(255) NOT NULL default 'none'," 2018 " finetune int(11) default NULL,"2033 + dbInt(dbType, "finetune", "11", true, false, "NULL") + "," 2019 2034 " videofilters varchar(255) NOT NULL default ''," 2020 2035 " xmltvid varchar(64) NOT NULL default ''," 2021 " recpriority int(10) NOT NULL default '0',"2022 " contrast int(11) default '32768',"2023 " brightness int(11) default '32768',"2024 " colour int(11) default '32768',"2025 " hue int(11) default '32768',"2036 + dbInt(dbType, "recpriority", "10", false, false, "'0'") + "," 2037 + dbInt(dbType, "contrast", "11", true, false, "'32768'") + "," 2038 + dbInt(dbType, "brightness", "11", true, false, "'32768'") + "," 2039 + dbInt(dbType, "colour", "11", true, false, "'32768'") + "," 2040 + dbInt(dbType, "hue", "11", true, false, "'32768'") + "," 2026 2041 " tvformat varchar(10) NOT NULL default 'Default'," 2027 " commfree tinyint(4) NOT NULL default '0',"2028 " visible tinyint(1) NOT NULL default '1',"2042 + dbTinyInt(dbType, "commfree", "4", false, false, "'0'") + "," 2043 + dbTinyInt(dbType, "visible", "1", false, false, "'1'") + "," 2029 2044 " outputfilters varchar(255) NOT NULL default ''," 2030 2045 " PRIMARY KEY (chanid)," 2031 2046 " KEY channel_src (channum,sourceid)" 2032 2047 ");", 2033 "CREATE TABLE IF NOT EXISTS codecparams("2034 " profile int(10) unsigned NOT NULL default '0',"2048 createTable(dbType, "codecparams") + " (" 2049 + dbInt(dbType, "profile", "10", false, true, "'0'") + "," 2035 2050 " name varchar(128) NOT NULL default ''," 2036 2051 " value varchar(128) default NULL," 2037 2052 " PRIMARY KEY (profile,name)" 2038 2053 ");", 2039 "CREATE TABLE IF NOT EXISTS conflictresolutionany("2054 createTable(dbType, "conflictresolutionany") + " (" 2040 2055 " prefertitle varchar(128) NOT NULL default ''," 2041 2056 " disliketitle varchar(128) NOT NULL default ''," 2042 2057 " KEY prefertitle (prefertitle)," 2043 2058 " KEY disliketitle (disliketitle)" 2044 2059 ");", 2045 "CREATE TABLE IF NOT EXISTS conflictresolutionoverride("2046 " chanid int(10) unsigned NOT NULL default '0',"2060 createTable(dbType, "conflictresolutionoverride") + " (" 2061 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2047 2062 " starttime timestamp(14) NOT NULL," 2048 2063 " endtime timestamp(14) NOT NULL default '00000000000000'," 2049 2064 " KEY chanid (chanid,starttime)," 2050 2065 " KEY endtime (endtime)" 2051 2066 ");", 2052 "CREATE TABLE IF NOT EXISTS conflictresolutionsingle("2053 " preferchanid int(10) unsigned NOT NULL default '0',"2067 createTable(dbType, "conflictresolutionsingle") + " (" 2068 + dbInt(dbType, "preferchanid", "10", false, true, "'0'") + "," 2054 2069 " preferstarttime timestamp(14) NOT NULL," 2055 2070 " preferendtime timestamp(14) NOT NULL default '00000000000000'," 2056 " dislikechanid int(10) unsigned NOT NULL default '0',"2071 + dbInt(dbType, "dislikechanid", "10", false, true, "'0'") + "," 2057 2072 " dislikestarttime timestamp(14) NOT NULL default '00000000000000'," 2058 2073 " dislikeendtime timestamp(14) NOT NULL default '00000000000000'," 2059 2074 " KEY preferchanid (preferchanid,preferstarttime)," 2060 2075 " KEY preferendtime (preferendtime)" 2061 2076 ");", 2062 "CREATE TABLE IF NOT EXISTS credits (" 2063 " person mediumint(8) unsigned NOT NULL default '0',"2064 " chanid int(10) unsigned NOT NULL default '0',"2077 createTable(dbType, "credits") + " (" + 2078 dbMedInt(dbType, "person", "8", false, true, "'0'") + "," 2079 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2065 2080 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2066 2081 " role set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL default ''," 2067 2082 " UNIQUE KEY chanid (chanid,starttime,person,role)," 2068 2083 " KEY person (person,role)" 2069 2084 ");", 2070 "CREATE TABLE IF NOT EXISTS dvb_channel("2071 " chanid smallint(6) NOT NULL default '0',"2072 " serviceid smallint(6) default NULL,"2073 " networkid smallint(6) default NULL,"2074 " providerid smallint(6) default NULL,"2075 " transportid smallint(6) default NULL,"2076 " frequency int(11) default NULL,"2085 createTable(dbType, "dvb_channel") + " (" 2086 + dbSmallInt(dbType, "chanid", "6", false, false, "'0'") + "," 2087 + dbSmallInt(dbType, "serviceid", "6", true, false, "NULL") + "," 2088 + dbSmallInt(dbType, "networkid", "6", true, false, "NULL") + "," 2089 + dbSmallInt(dbType, "providerid", "6", true, false, "NULL") + "," 2090 + dbSmallInt(dbType, "transportid", "6", true, false, "NULL") + "," 2091 + dbInt(dbType, "frequency", "11", true, false, "NULL") + "," 2077 2092 " inversion char(1) default NULL," 2078 " symbolrate int(11) default NULL,"2093 + dbInt(dbType, "symbolrate", "11", true, false, "NULL") + "," 2079 2094 " fec varchar(10) default NULL," 2080 2095 " polarity char(1) default NULL," 2081 " satid smallint(6) default NULL,"2096 + dbSmallInt(dbType, "satid", "6", true, false, "NULL") + "," 2082 2097 " modulation varchar(10) default NULL," 2083 2098 " bandwidth char(1) default NULL," 2084 2099 " lp_code_rate varchar(10) default NULL," … … 2088 2103 " pmtcache blob," 2089 2104 " PRIMARY KEY (chanid)" 2090 2105 ");", 2091 "CREATE TABLE IF NOT EXISTS dvb_pids("2092 " chanid smallint(6) NOT NULL default '0',"2093 " pid smallint(6) NOT NULL default '0',"2106 createTable(dbType, "dvb_pids") + " (" 2107 + dbSmallInt(dbType, "chanid", "6", false, false, "'0'") + "," 2108 + dbSmallInt(dbType, "pid", "6", false, false, "'0'") + "," 2094 2109 " type char(1) NOT NULL default 'o'," 2095 2110 " lang char(3) NOT NULL default ''," 2096 2111 " PRIMARY KEY (chanid,pid)" 2097 2112 ");", 2098 "CREATE TABLE IF NOT EXISTS dvb_sat("2099 " satid smallint(6) NOT NULL auto_increment,"2100 " cardid int(11) default NULL,"2113 createTable(dbType, "dvb_sat") + " (" 2114 + dbSmallInt(dbType, "satid", "6", false, false, "", true) + "," 2115 + dbInt(dbType, "cardid", "11", true, false, "NULL") + "," 2101 2116 " pos float default NULL," 2102 2117 " name varchar(128) default NULL," 2103 " diseqc_type smallint(6) default '0',"2104 " diseqc_port smallint(6) default '0',"2105 " diseqc_pos smallint(6) default '0',"2106 " lnb_lof_switch int(11) default '11700000',"2107 " lnb_lof_hi int(11) default '10600000',"2108 " lnb_lof_lo int(11) default '9750000',"2118 + dbSmallInt(dbType, "diseqc_type", "6", true, false, "'0'") + "," 2119 + dbSmallInt(dbType, "diseqc_port", "6", true, false, "'0'") + "," 2120 + dbSmallInt(dbType, "diseqc_pos", "6", true, false, "'0'") + "," 2121 + dbInt(dbType, "lnb_lof_switch", "11", true, false, "'11700000'") + "," 2122 + dbInt(dbType, "lnb_lof_hi", "11", true, false, "'10600000'") + "," 2123 + dbInt(dbType, "lnb_lof_lo", "11", true, false, "'9750000'") + "," 2109 2124 " PRIMARY KEY (satid)" 2110 2125 ");", 2111 "CREATE TABLE IF NOT EXISTS dvb_signal_quality("2112 " id int(10) unsigned NOT NULL auto_increment,"2126 createTable(dbType, "dvb_signal_quality") + " (" 2127 + dbInt(dbType, "id", "10", false, true, "", true) + "," 2113 2128 " sampletime timestamp(14) NOT NULL," 2114 " cardid int(10) unsigned NOT NULL default '0',"2115 " fe_snr int(10) unsigned NOT NULL default '0',"2116 " fe_ss int(10) unsigned NOT NULL default '0',"2117 " fe_ber int(10) unsigned NOT NULL default '0',"2118 " fe_unc int(10) unsigned NOT NULL default '0',"2119 " myth_cont int(10) unsigned NOT NULL default '0',"2120 " myth_over int(10) unsigned NOT NULL default '0',"2121 " myth_pkts int(10) unsigned NOT NULL default '0',"2129 + dbInt(dbType, "cardid", "10", false, true, "'0'") + "," 2130 + dbInt(dbType, "fe_snr", "10", false, true, "'0'") + "," 2131 + dbInt(dbType, "fe_ss", "10", false, true, "'0'") + "," 2132 + dbInt(dbType, "fe_ber", "10", false, true, "'0'") + "," 2133 + dbInt(dbType, "fe_unc", "10", false, true, "'0'") + "," 2134 + dbInt(dbType, "myth_cont", "10", false, true, "'0'") + "," 2135 + dbInt(dbType, "myth_over", "10", false, true, "'0'") + "," 2136 + dbInt(dbType, "myth_pkts", "10", false, true, "'0'") + "," 2122 2137 " PRIMARY KEY (id)," 2123 2138 " KEY sampletime (sampletime,cardid)" 2124 2139 ");", 2125 "CREATE TABLE IF NOT EXISTS favorites("2126 " favid int(11) unsigned NOT NULL auto_increment,"2127 " userid int(11) unsigned NOT NULL default '0',"2128 " chanid int(11) unsigned NOT NULL default '0',"2140 createTable(dbType, "favorites") + " (" 2141 + dbInt(dbType, "favid", "11", false, true, "", true) + "," 2142 + dbInt(dbType, "userid", "11", false, true, "'0'") + "," 2143 + dbInt(dbType, "chanid", "11", false, true, "'0'") + "," 2129 2144 " PRIMARY KEY (favid)" 2130 2145 ");", 2131 "CREATE TABLE IF NOT EXISTS housekeeping("2146 createTable(dbType, "housekeeping") + " (" 2132 2147 " tag varchar(64) NOT NULL default ''," 2133 2148 " lastrun datetime default NULL," 2134 2149 " PRIMARY KEY (tag)" 2135 2150 ");", 2136 "CREATE TABLE IF NOT EXISTS jobqueue("2137 " id int(11) NOT NULL auto_increment,"2138 " chanid int(10) NOT NULL default '0',"2151 createTable(dbType, "jobqueue") + " (" 2152 + dbInt(dbType, "id", "11", false, false, "", true) + "," 2153 + dbInt(dbType, "chanid", "10", false, false, "'0'") + "," 2139 2154 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2140 2155 " inserttime datetime NOT NULL default '0000-00-00 00:00:00'," 2141 " type int(11) NOT NULL default '0',"2142 " cmds int(11) NOT NULL default '0',"2143 " flags int(11) NOT NULL default '0',"2144 " status int(11) NOT NULL default '0',"2156 + dbInt(dbType, "type", "11", false, false, "'0'") + "," 2157 + dbInt(dbType, "cmds", "11", false, false, "'0'") + "," 2158 + dbInt(dbType, "flags", "11", false, false, "'0'") + "," 2159 + dbInt(dbType, "status", "11", false, false, "'0'") + "," 2145 2160 " statustime timestamp(14) NOT NULL," 2146 2161 " hostname varchar(255) NOT NULL default ''," 2147 2162 " args blob NOT NULL," … … 2149 2164 " PRIMARY KEY (id)," 2150 2165 " UNIQUE KEY chanid (chanid,starttime,type,inserttime)" 2151 2166 ");", 2152 "CREATE TABLE IF NOT EXISTS jumppoints("2167 createTable(dbType, "jumppoints") + " (" 2153 2168 " destination varchar(128) NOT NULL default ''," 2154 2169 " description varchar(255) default NULL," 2155 2170 " keylist varchar(32) default NULL," 2156 2171 " hostname varchar(255) NOT NULL default ''," 2157 2172 " PRIMARY KEY (destination,hostname)" 2158 2173 ");", 2159 "CREATE TABLE IF NOT EXISTS keybindings("2174 createTable(dbType, "keybindings") + " (" 2160 2175 " context varchar(32) NOT NULL default ''," 2161 2176 " action varchar(32) NOT NULL default ''," 2162 2177 " description varchar(255) default NULL," … … 2164 2179 " hostname varchar(255) NOT NULL default ''," 2165 2180 " PRIMARY KEY (context,action,hostname)" 2166 2181 ");", 2167 "CREATE TABLE IF NOT EXISTS keyword("2182 createTable(dbType, "keyword") + " (" 2168 2183 " phrase varchar(128) NOT NULL default ''," 2169 " searchtype int(10) unsigned NOT NULL default '3',"2184 + dbInt(dbType, "searchtype", "10", false, true, "'3'") + "," 2170 2185 " UNIQUE KEY phrase (phrase,searchtype)" 2171 2186 ");", 2172 "CREATE TABLE IF NOT EXISTS mythlog("2173 " logid int(10) unsigned NOT NULL auto_increment,"2187 createTable(dbType, "mythlog") + " (" 2188 + dbInt(dbType, "logid", "10", false, true, "", true) + "," 2174 2189 " module varchar(32) NOT NULL default ''," 2175 " priority int(11) NOT NULL default '0',"2176 " acknowledged tinyint(1) default '0',"2190 + dbInt(dbType, "priority", "11", false, false, "'0'") + "," 2191 + dbTinyInt(dbType, "acknowledged", "1", true, false, "'0'") + "," 2177 2192 " logdate datetime default NULL," 2178 2193 " host varchar(128) default NULL," 2179 2194 " message varchar(255) NOT NULL default ''," 2180 2195 " details text," 2181 2196 " PRIMARY KEY (logid)" 2182 2197 ");", 2183 "CREATE TABLE IF NOT EXISTS networkiconmap("2184 " id int(11) NOT NULL auto_increment,"2198 createTable(dbType, "networkiconmap") + " (" 2199 + dbInt(dbType, "id", "11", false, false, "", true) + "," 2185 2200 " network varchar(20) NOT NULL default ''," 2186 2201 " url varchar(255) NOT NULL default ''," 2187 2202 " PRIMARY KEY (id)," 2188 2203 " UNIQUE KEY network (network)" 2189 2204 ");", 2190 "CREATE TABLE IF NOT EXISTS oldprogram("2205 createTable(dbType, "oldprogram") + " (" 2191 2206 " oldtitle varchar(128) NOT NULL default ''," 2192 2207 " airdate datetime NOT NULL default '0000-00-00 00:00:00'," 2193 2208 " PRIMARY KEY (oldtitle)" 2194 2209 ");", 2195 "CREATE TABLE IF NOT EXISTS oldrecorded("2196 " chanid int(10) unsigned NOT NULL default '0',"2210 createTable(dbType, "oldrecorded") + " (" 2211 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2197 2212 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2198 2213 " endtime datetime NOT NULL default '0000-00-00 00:00:00'," 2199 2214 " title varchar(128) NOT NULL default ''," … … 2208 2223 " KEY seriesid (seriesid)," 2209 2224 " KEY programid (programid)" 2210 2225 ");", 2211 "CREATE TABLE IF NOT EXISTS people (" 2212 " person mediumint(8) unsigned NOT NULL auto_increment,"2226 createTable(dbType, "people") + " (" + 2227 dbMedInt(dbType, "person", "8", false, true, "", true) + "," 2213 2228 " name char(128) NOT NULL default ''," 2214 2229 " PRIMARY KEY (person)," 2215 2230 " UNIQUE KEY name (name(41))" 2216 2231 ");", 2217 "CREATE TABLE IF NOT EXISTS profilegroups("2218 " id int(10) unsigned NOT NULL auto_increment,"2232 createTable(dbType, "profilegroups") + " (" 2233 + dbInt(dbType, "id", "10", false, true, "", true) + "," 2219 2234 " name varchar(128) default NULL," 2220 2235 " cardtype varchar(32) NOT NULL default 'V4L'," 2221 " is_default int(1) default '0',"2236 + dbInt(dbType, "is_default", "1", true, false, "'0'") + "," 2222 2237 " hostname varchar(255) default NULL," 2223 2238 " PRIMARY KEY (id)," 2224 2239 " UNIQUE KEY name (name,hostname)" 2225 2240 ");", 2226 "CREATE TABLE IF NOT EXISTS program("2227 " chanid int(10) unsigned NOT NULL default '0',"2241 createTable(dbType, "program") + " (" 2242 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2228 2243 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2229 2244 " endtime datetime NOT NULL default '0000-00-00 00:00:00'," 2230 2245 " title varchar(128) NOT NULL default ''," … … 2234 2249 " category_type varchar(64) NOT NULL default ''," 2235 2250 " airdate year(4) NOT NULL default '0000'," 2236 2251 " stars float NOT NULL default '0'," 2237 " previouslyshown tinyint(4) NOT NULL default '0',"2252 + dbTinyInt(dbType, "previouslyshown", "4", false, false, "'0'") + "," 2238 2253 " title_pronounce varchar(128) NOT NULL default ''," 2239 " stereo tinyint(1) default NULL,"2240 " subtitled tinyint(1) default NULL,"2241 " hdtv tinyint(1) default NULL,"2242 " closecaptioned tinyint(1) default NULL,"2243 " partnumber int(11) default NULL,"2244 " parttotal int(11) default NULL,"2254 + dbTinyInt(dbType, "stereo", "1", true, false, "NULL") + "," 2255 + dbTinyInt(dbType, "subtitled", "1", true, false, "NULL") + "," 2256 + dbTinyInt(dbType, "hdtv", "1", true, false, "NULL") + "," 2257 + dbTinyInt(dbType, "closecaptioned", "1", true, false, "NULL") + "," 2258 + dbInt(dbType, "partnumber", "11", true, false, "NULL") + "," 2259 + dbInt(dbType, "parttotal", "11", true, false, "NULL") + "," 2245 2260 " seriesid varchar(12) NOT NULL default ''," 2246 2261 " originalairdate date default NULL," 2247 2262 " showtype varchar(30) NOT NULL default ''," … … 2256 2271 " KEY programid (programid)," 2257 2272 " KEY id_start_end (chanid,starttime,endtime)" 2258 2273 ");", 2259 "CREATE TABLE IF NOT EXISTS programgenres("2260 " chanid int(10) unsigned NOT NULL default '0',"2274 createTable(dbType, "programgenres") + " (" 2275 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2261 2276 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2262 2277 " relevance char(1) NOT NULL default ''," 2263 2278 " genre char(30) default NULL," 2264 2279 " PRIMARY KEY (chanid,starttime,relevance)" 2265 2280 ");", 2266 "CREATE TABLE IF NOT EXISTS programrating("2267 " chanid int(10) unsigned NOT NULL default '0',"2281 createTable(dbType, "programrating") + " (" 2282 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2268 2283 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2269 2284 " system char(8) NOT NULL default ''," 2270 2285 " rating char(8) NOT NULL default ''," 2271 2286 " UNIQUE KEY chanid (chanid,starttime,system,rating)," 2272 2287 " KEY starttime (starttime,system)" 2273 2288 ");", 2274 "CREATE TABLE IF NOT EXISTS recgrouppassword("2289 createTable(dbType, "recgrouppassword") + " (" 2275 2290 " recgroup varchar(32) NOT NULL default ''," 2276 2291 " password varchar(10) NOT NULL default ''," 2277 2292 " PRIMARY KEY (recgroup)," 2278 2293 " UNIQUE KEY recgroup (recgroup)" 2279 2294 ");", 2280 "CREATE TABLE IF NOT EXISTS record("2281 " recordid int(10) unsigned NOT NULL auto_increment,"2282 " type int(10) unsigned NOT NULL default '0',"2283 " chanid int(10) unsigned default NULL,"2295 createTable(dbType, "record") + " (" 2296 + dbInt(dbType, "recordid", "10", false, true, "", true) + "," 2297 + dbInt(dbType, "type", "10", false, true, "'0'") + "," 2298 + dbInt(dbType, "chanid", "10", true, true, "NULL") + "," 2284 2299 " starttime time NOT NULL default '00:00:00'," 2285 2300 " startdate date NOT NULL default '0000-00-00'," 2286 2301 " endtime time NOT NULL default '00:00:00'," … … 2290 2305 " description text NOT NULL," 2291 2306 " category varchar(64) NOT NULL default ''," 2292 2307 " profile varchar(128) NOT NULL default 'Default'," 2293 " recpriority int(10) NOT NULL default '0',"2294 " autoexpire int(11) NOT NULL default '0',"2295 " maxepisodes int(11) NOT NULL default '0',"2296 " maxnewest int(11) NOT NULL default '0',"2297 " startoffset int(11) NOT NULL default '0',"2298 " endoffset int(11) NOT NULL default '0',"2308 + dbInt(dbType, "recpriority", "10", false, false, "'0'") + "," 2309 + dbInt(dbType, "autoexpire", "11", false, false, "'0'") + "," 2310 + dbInt(dbType, "maxepisodes", "11", false, false, "'0'") + "," 2311 + dbInt(dbType, "maxnewest", "11", false, false, "'0'") + "," 2312 + dbInt(dbType, "startoffset", "11", false, false, "'0'") + "," 2313 + dbInt(dbType, "endoffset", "11", false, false, "'0'") + "," 2299 2314 " recgroup varchar(32) NOT NULL default 'Default'," 2300 " dupmethod int(11) NOT NULL default '6',"2301 " dupin int(11) NOT NULL default '15',"2315 + dbInt(dbType, "dupmethod", "11", false, false, "'6'") + "," 2316 + dbInt(dbType, "dupin", "11", false, false, "'15'") + "," 2302 2317 " station varchar(20) NOT NULL default ''," 2303 2318 " seriesid varchar(12) NOT NULL default ''," 2304 2319 " programid varchar(12) NOT NULL default ''," 2305 " search int(10) unsigned NOT NULL default '0',"2306 " autotranscode tinyint(1) NOT NULL default '0',"2307 " autocommflag tinyint(1) NOT NULL default '0',"2308 " autouserjob1 tinyint(1) NOT NULL default '0',"2309 " autouserjob2 tinyint(1) NOT NULL default '0',"2310 " autouserjob3 tinyint(1) NOT NULL default '0',"2311 " autouserjob4 tinyint(1) NOT NULL default '0',"2320 + dbInt(dbType, "search", "10", false, true, "'0'") + "," 2321 + dbTinyInt(dbType, "autotranscode", "1", false, false, "'0'") + "," 2322 + dbTinyInt(dbType, "autocommflag", "1", false, false, "'0'") + "," 2323 + dbTinyInt(dbType, "autouserjob1", "1", false, false, "'0'") + "," 2324 + dbTinyInt(dbType, "autouserjob2", "1", false, false, "'0'") + "," 2325 + dbTinyInt(dbType, "autouserjob3", "1", false, false, "'0'") + "," 2326 + dbTinyInt(dbType, "autouserjob4", "1", false, false, "'0'") + "," 2312 2327 " PRIMARY KEY (recordid)," 2313 2328 " KEY chanid (chanid,starttime)," 2314 2329 " KEY title (title)," 2315 2330 " KEY seriesid (seriesid)," 2316 2331 " KEY programid (programid)" 2317 2332 ");", 2318 "CREATE TABLE IF NOT EXISTS recorded("2319 " chanid int(10) unsigned NOT NULL default '0',"2333 createTable(dbType, "recorded") + " (" 2334 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2320 2335 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2321 2336 " endtime datetime NOT NULL default '0000-00-00 00:00:00'," 2322 2337 " title varchar(128) NOT NULL default ''," … … 2325 2340 " category varchar(64) NOT NULL default ''," 2326 2341 " hostname varchar(255) NOT NULL default ''," 2327 2342 " bookmark varchar(128) default NULL," 2328 " editing int(10) unsigned NOT NULL default '0',"2343 + dbInt(dbType, "editing", "10", false, true, "'0'") + "," 2329 2344 " cutlist text," 2330 " autoexpire int(11) NOT NULL default '0',"2331 " commflagged int(10) unsigned NOT NULL default '0',"2345 + dbInt(dbType, "autoexpire", "11", false, false, "'0'") + "," 2346 + dbInt(dbType, "commflagged", "10", false, true, "'0'") + "," 2332 2347 " recgroup varchar(32) NOT NULL default 'Default'," 2333 " recordid int(11) default NULL,"2348 + dbInt(dbType, "recordid", "11", true, false, "NULL") + "," 2334 2349 " seriesid varchar(12) NOT NULL default ''," 2335 2350 " programid varchar(12) NOT NULL default ''," 2336 2351 " lastmodified timestamp(14) NOT NULL," 2337 " filesize bigint(20) NOT NULL default '0',"2352 + dbBigInt(dbType, "filesize", "20", false, false, "'0'") + "," 2338 2353 " stars float NOT NULL default '0'," 2339 " previouslyshown tinyint(1) default '0',"2354 + dbTinyInt(dbType, "previouslyshown", "1", true, false, "'0'") + "," 2340 2355 " originalairdate date default NULL," 2341 " preserve tinyint(1) NOT NULL default '0',"2356 + dbTinyInt(dbType, "preserve", "1", false, false, "'0'") + "," 2342 2357 " PRIMARY KEY (chanid,starttime)," 2343 2358 " KEY endtime (endtime)," 2344 2359 " KEY seriesid (seriesid)," 2345 2360 " KEY programid (programid)" 2346 2361 ");", 2347 "CREATE TABLE IF NOT EXISTS recordedmarkup("2348 " chanid int(10) unsigned NOT NULL default '0',"2362 createTable(dbType, "recordedmarkup") + " (" 2363 + dbInt(dbType, "chanid", "10", false, true, "'0'") + "," 2349 2364 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2350 " mark bigint(20) NOT NULL default '0',"2365 + dbBigInt(dbType, "mark", "20", false, false, "'0'") + "," 2351 2366 " offset varchar(32) default NULL," 2352 " type int(11) NOT NULL default '0',"2367 + dbInt(dbType, "type", "11", false, false, "'0'") + "," 2353 2368 " PRIMARY KEY (chanid,starttime,mark,type)" 2354 2369 ");", 2355 "CREATE TABLE IF NOT EXISTS recordingprofiles("2356 " id int(10) unsigned NOT NULL auto_increment,"2370 createTable(dbType, "recordingprofiles") + " (" 2371 + dbInt(dbType, "id", "10", false, true, "", true) + "," 2357 2372 " name varchar(128) default NULL," 2358 2373 " videocodec varchar(128) default NULL," 2359 2374 " audiocodec varchar(128) default NULL," 2360 " profilegroup int(10) unsigned NOT NULL default '0',"2375 + dbInt(dbType, "profilegroup", "10", false, true, "'0'") + "," 2361 2376 " PRIMARY KEY (id)" 2362 2377 ");", 2363 "CREATE TABLE IF NOT EXISTS recordoverride("2364 " recordid int(10) unsigned NOT NULL default '0',"2365 " type int(10) unsigned NOT NULL default '0',"2366 " chanid int(10) unsigned default NULL,"2378 createTable(dbType, "recordoverride") + " (" 2379 + dbInt(dbType, "recordid", "10", false, true, "'0'") + "," 2380 + dbInt(dbType, "type", "10", false, true, "'0'") + "," 2381 + dbInt(dbType, "chanid", "10", true, true, "NULL") + "," 2367 2382 " starttime datetime NOT NULL default '0000-00-00 00:00:00'," 2368 2383 " endtime datetime NOT NULL default '0000-00-00 00:00:00'," 2369 2384 " title varchar(128) default NULL," … … 2371 2386 " description text," 2372 2387 " station varchar(20) NOT NULL default ''" 2373 2388 ");", 2374 "CREATE TABLE IF NOT EXISTS settings("2389 createTable(dbType, "settings") + " (" 2375 2390 " value varchar(128) NOT NULL default ''," 2376 2391 " data text," 2377 2392 " hostname varchar(255) default NULL," 2378 2393 " KEY value (value,hostname)" 2379 2394 ");", 2380 "CREATE TABLE IF NOT EXISTS videosource("2381 " sourceid int(10) unsigned NOT NULL auto_increment,"2395 createTable(dbType, "videosource") + " (" 2396 + dbInt(dbType, "sourceid", "10", false, true, "", true) + "," 2382 2397 " name varchar(128) NOT NULL default ''," 2383 2398 " xmltvgrabber varchar(128) default NULL," 2384 2399 " userid varchar(128) NOT NULL default ''," … … 2431 2446 return true; 2432 2447 } 2433 2448 2449 static QString createTable(const QString &dbType, const QString &tableName) 2450 { 2451 if (dbType.left(6) == "QMYSQL") 2452 return QString("CREATE TABLE IF NOT EXISTS " + tableName); 2453 return QString("CREATE TABLE " + tableName); 2454 } 2455 2456 static QString dbInt(const QString &dbType, const QString &colName, const QString &width, bool nullable, bool unsignedCol, const QString &defaultVal, bool auto_num) 2457 { 2458 QString retval = colName; 2459 2460 if (dbType.left(6) == "QMYSQL") { 2461 retval += " int"; 2462 if (width.length() > 0) 2463 retval += "(" + width + ")"; 2464 if (unsignedCol) 2465 retval += " unsigned"; 2466 if (!nullable) 2467 retval += " NOT NULL"; 2468 if (auto_num) 2469 retval += " auto_increment"; 2470 else if (defaultVal.length() > 0) 2471 retval += " default " + defaultVal; 2472 } 2473 else { 2474 if (auto_num) 2475 retval += " SERIAL"; 2476 else { 2477 retval += " INT4"; 2478 if (!nullable) 2479 retval += " NOT NULL"; 2480 if (defaultVal.length() > 0) 2481 retval += " default " + defaultVal; 2482 if (unsignedCol) 2483 retval += ", check(" + colName + " >= 0)"; 2484 } 2485 } 2486 2487 return retval; 2488 } 2489 2490 2491 static QString dbTinyInt(const QString &dbType, const QString &colName, const QString &width, bool nullable, bool unsignedCol, const QString &defaultVal, bool auto_num) 2492 { 2493 QString retval = colName; 2494 2495 if (dbType.left(6) == "QMYSQL") { 2496 retval += " tinyint"; 2497 if (width.length() > 0) 2498 retval += "(" + width + ")"; 2499 if (unsignedCol) 2500 retval += " unsigned"; 2501 if (!nullable) 2502 retval += " NOT NULL"; 2503 if (auto_num) 2504 retval += " auto_increment"; 2505 else if (defaultVal.length() > 0) 2506 retval += " default " + defaultVal; 2507 } 2508 else { 2509 if (auto_num) 2510 retval += " SERIAL"; 2511 else { 2512 retval += " INT2"; 2513 if (!nullable) 2514 retval += " NOT NULL"; 2515 if (defaultVal.length() > 0) 2516 retval += " default " + defaultVal; 2517 if (unsignedCol) 2518 retval += ", check(" + colName + " >= 0)"; 2519 } 2520 } 2521 2522 return retval; 2523 } 2524 2525 2526 static QString dbBigInt(const QString &dbType, const QString &colName, const QString &width, bool nullable, bool unsignedCol, const QString &defaultVal, bool auto_num) 2527 { 2528 QString retval = colName; 2529 2530 if (dbType.left(6) == "QMYSQL") { 2531 retval += " bigint"; 2532 if (width.length() > 0) 2533 retval += "(" + width + ")"; 2534 if (unsignedCol) 2535 retval += " unsigned"; 2536 if (!nullable) 2537 retval += " NOT NULL"; 2538 if (auto_num) 2539 retval += " auto_increment"; 2540 else if (defaultVal.length() > 0) 2541 retval += " default " + defaultVal; 2542 } 2543 else { 2544 if (auto_num) 2545 retval += " SERIAL"; 2546 else { 2547 retval += " INT8"; 2548 if (!nullable) 2549 retval += " NOT NULL"; 2550 if (defaultVal.length() > 0) 2551 retval += " default " + defaultVal; 2552 if (unsignedCol) 2553 retval += ", check(" + colName + " >= 0)"; 2554 } 2555 } 2556 2557 return retval; 2558 } 2559 2560 2561 static QString dbSmallInt(const QString &dbType, const QString &colName, const QString &width, bool nullable, bool unsignedCol, const QString &defaultVal, bool auto_num) 2562 { 2563 QString retval = colName; 2564 2565 if (dbType.left(6) == "QMYSQL") { 2566 retval += " smallint"; 2567 if (width.length() > 0) 2568 retval += "(" + width + ")"; 2569 if (unsignedCol) 2570 retval += " unsigned"; 2571 if (!nullable) 2572 retval += " NOT NULL"; 2573 if (auto_num) 2574 retval += " auto_increment"; 2575 else if (defaultVal.length() > 0) 2576 retval += " default " + defaultVal; 2577 } 2578 else { 2579 if (auto_num) 2580 retval += " SERIAL"; 2581 else { 2582 retval += " INT2"; 2583 if (!nullable) 2584 retval += " NOT NULL"; 2585 if (defaultVal.length() > 0) 2586 retval += " default " + defaultVal; 2587 if (unsignedCol) 2588 retval += ", check(" + colName + " >= 0)"; 2589 } 2590 } 2591 2592 return retval; 2593 } 2594 2595 2596 static QString dbMedInt(const QString &dbType, const QString &colName, const QString &width, bool nullable, bool unsignedCol, const QString &defaultVal, bool auto_num) 2597 { 2598 QString retval = colName; 2599 2600 if (dbType.left(6) == "QMYSQL") { 2601 retval += " mediumint"; 2602 if (width.length() > 0) 2603 retval += "(" + width + ")"; 2604 if (unsignedCol) 2605 retval += " unsigned"; 2606 if (!nullable) 2607 retval += " NOT NULL"; 2608 if (auto_num) 2609 retval += " auto_increment"; 2610 else if (defaultVal.length() > 0) 2611 retval += " default " + defaultVal; 2612 } 2613 else { 2614 if (auto_num) 2615 retval += " SERIAL"; 2616 else { 2617 retval += " INT4"; 2618 if (!nullable) 2619 retval += " NOT NULL"; 2620 if (defaultVal.length() > 0) 2621 retval += " default " + defaultVal; 2622 if (unsignedCol) 2623 retval += ", check(" + colName + " >= 0)"; 2624 } 2625 } 2626 2627 return retval; 2628 }
