MySQL Utilities meets the world’s ugliest table

In case you missed it, MySQL Utilities 1.3.0 (alpha) was released last week.  MySQL Utilities is a component of MySQL Workbench, but it’s been broken out into a separate download allowing command-line users access unencumbered by a pretty GUI interface.  Plus, it has some new features – most importantly to me, a utility (mysqlfrm) which can read .FRM files and produce CREATE TABLE statements as a result.  This will be very useful for recovery processes, in conjunction with InnoDB transportable tablespaces in situations where the InnoDB system tablespace is corrupted, and you don’t know the exact table definition.

When we first started testing the FRM reader, it didn’t bootstrap mysqld to decipher .FRM file contents – Chuck Bell spent hours staring into the abyss that is FRM file formats and trying to shed light in the many dark corners that exist.  We started with simple tests, like:  can it read all the .FRM files in the data/mysql directory?  Then I hacked a quick program that created tables with many different data types, modifiers and variants.  But these tests were all dwarfed by the contribution of my colleague and bug-finder extraordinaire, Shane Bester, who gave us what may well be the world’s ugliest table.  Behold:

# Starting the spawned server on port 3001 ... done.
# Reading .frm files
#
# Reading the t0001.frm file.
#
# CREATE statement for D:\mysql-5.5.28-win32\data\test\t0001.frm:
#

CREATE TABLE `test`.`t0001` (
`a1` varchar(154) CHARACTER SET utf8 DEFAULT NULL,
`col21` longtext CHARACTER SET ucs2 COLLATE ucs2_sinhala_ci NOT NULL,
`col22` time NOT NULL DEFAULT '04:51:41',
`col23` double unsigned DEFAULT '4.726285e32',
`col24` datetime NOT NULL DEFAULT '2012-10-05 15:26:22',
`col25` linestring NOT NULL,
`col26` decimal(15,7) NOT NULL DEFAULT '-1665.3640000',
`col27` date NOT NULL DEFAULT '2012-06-21',
`col28` bit(47) DEFAULT b'10000101100000111011000000',
`col36` point NOT NULL,
`col37` datetime NOT NULL DEFAULT '2013-04-23 13:36:30',
`col38` linestring DEFAULT NULL,
`col39` int(10) unsigned DEFAULT '99999',
`col40` point NOT NULL,
`col41` varchar(239) CHARACTER SET utf8 NOT NULL DEFAULT 'ncapvpzonjgftarsuzyqivsvlgqnvxkgldpaqshlxvnioarwenorzcvosehetsdzsbvmqasogi',
`col42` double unsigned NOT NULL DEFAULT '1004.7298',
`col43` bit(17) NOT NULL DEFAULT b'0',
`col44` date NOT NULL DEFAULT '2011-12-04',
`col45` datetime NOT NULL DEFAULT '2012-05-07 22:58:08',
`col46` time NOT NULL DEFAULT '08:49:40',
`col92` blob NOT NULL,
`col103` multilinestring DEFAULT NULL,
`col104` datetime NOT NULL DEFAULT '2012-07-01 09:10:05',
`col105` linestring DEFAULT NULL,
`col106` geometry NOT NULL,
`col130` time NOT NULL DEFAULT '12:16:51',
`col131` blob NOT NULL,
`col132` smallint(6) DEFAULT '-824',
`col133` timestamp NOT NULL DEFAULT '2013-09-01 07:36:02',
`col134` blob NOT NULL,
`col135` int(10) unsigned NOT NULL DEFAULT '100001',
`col147` time DEFAULT '02:57:10',
`col148` multipolygon DEFAULT NULL,
`col149` timestamp NOT NULL DEFAULT '2011-12-28 16:27:32',
`col150` bit(3) DEFAULT b'0',
`col151` polygon NOT NULL,
`col152` longblob NOT NULL,
`col153` binary(1) NOT NULL,
`col154` tinyblob NOT NULL,
`col155` timestamp NOT NULL DEFAULT '2012-07-29 19:10:10',
`col156` binary(1) NOT NULL,
`col157` linestring DEFAULT NULL,
`col158` double unsigned NOT NULL DEFAULT '1001.0574',
`col159` timestamp NOT NULL DEFAULT '2013-04-16 05:00:48',
`col160` geometry NOT NULL,
`col161` bigint(20) unsigned DEFAULT '0',
`col167` geometry DEFAULT NULL,
`col168` multilinestring NOT NULL,
`col169` decimal(15,2) unsigned NOT NULL DEFAULT '1487.00',
`col176` set('rbnxmhou','wg','wneihpbzw','uprcuq','zyddz','ukyc','pfrhk') CHARACTER SET ucs2 COLLATE ucs2_unicode_ci NOT NULL,
`col177` geometrycollection DEFAULT NULL,
`col178` date DEFAULT '2012-12-10',
`col179` geometrycollection DEFAULT NULL,
`col180` datetime NOT NULL DEFAULT '2012-06-10 14:38:36',
`col181` decimal(48,20) unsigned NOT NULL DEFAULT '0.00000159700000000000',
`col182` time DEFAULT '12:58:46',
`col190` binary(1) NOT NULL,
`col191` timestamp NOT NULL DEFAULT '2013-05-18 14:53:34',
`col192` timestamp NOT NULL DEFAULT '2012-07-15 04:11:49',
`col193` polygon DEFAULT NULL,
`col194` time DEFAULT '14:38:03',
`col195` date NOT NULL DEFAULT '2012-09-03',
`col196` decimal(40,28) NOT NULL DEFAULT '1118.2558000000000000000000000000',
`col197` blob NOT NULL,
`col198` double unsigned DEFAULT '100000',
`col199` time NOT NULL DEFAULT '04:28:18',
`col200` tinytext CHARACTER SET macroman NOT NULL,
`col201` time NOT NULL DEFAULT '10:14:47',
`col210` multipoint DEFAULT NULL,
`col211` geometrycollection DEFAULT NULL,
`col212` point DEFAULT NULL,
`col220` longblob NOT NULL,
`col221` bigint(20) DEFAULT '-154',
`col222` multipoint DEFAULT NULL,
`col223` tinyblob NOT NULL,
`col224` polygon NOT NULL,
`col225` multipoint NOT NULL,
`col226` mediumblob NOT NULL,
`col227` binary(1) NOT NULL,
`col228` geometry DEFAULT NULL,
`col229` decimal(65,21) DEFAULT '-308.697800000000000000000',
`col230` time NOT NULL DEFAULT '04:35:34',
`col239` varchar(237) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL DEFAULT 'fxygzisjplsjwnskzhfsrnmyxrcyqnehkidghfdmd',
`col249` tinyblob NOT NULL,
`col250` double DEFAULT '-100000',
`col251` datetime NOT NULL DEFAULT '2012-06-05 13:17:57',
`col252` mediumblob NOT NULL,
`col253` decimal(15,5) unsigned NOT NULL DEFAULT '534.54920',
`col254` timestamp NOT NULL DEFAULT '2012-05-04 18:50:02',
`col255` char(184) CHARACTER SET utf8 NOT NULL DEFAULT 'kdnikktwyoberotjrtkinsdkogqfldjpmjkionsvwjgisjyyqfbkmgqotoqgtvccqyhtiqmikneymkvehv',
`col256` geometry NOT NULL,
`col257` multilinestring NOT NULL,
`col258` multipoint DEFAULT NULL,
`col277` multilinestring NOT NULL,
`col278` linestring NOT NULL,
`col279` datetime NOT NULL DEFAULT '2012-02-22 15:18:16',
`col288` double DEFAULT '5.493504e-69',
`col289` bigint(20) unsigned NOT NULL DEFAULT '801',
`col290` point DEFAULT NULL,
`col291` double unsigned NOT NULL DEFAULT '1.4404555e-78',
`col292` double NOT NULL DEFAULT '1662',
`col301` tinytext CHARACTER SET geostd8 NOT NULL,
`col302` multipolygon DEFAULT NULL,
`col303` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`col304` point DEFAULT NULL,
`col305` geometrycollection NOT NULL,
`col306` double unsigned DEFAULT '239.669',
`col307` set('','rpnfxzz','jvnaghtxi','wkyeobkf','swuwr','iznokdzntz','xvrarsxw','qre','','gnnazwazgw','rugat','xg','nmgrbzoalx','bnvlntb','','','rlxxdtiqqa','vykprrwn','nyuvvco','hyg','ylfryabeyb','xrwvsexyhi','azmhwp','socx','sniic','p','eyext','sitgnityj','mseh','vehotiakrs','hxmfifsimy','azwnkmkf','zpo','n','futqgzdqcn','cpf','seuxwuo','mbeygpybwy','f','bf','xrl','txwrq','jqqhpcymq','','ypcnj','oxhbvvca','fincldrtc') CHARACTER SET ucs2 COLLATE ucs2_unicode_ci NOT NULL,
`col340` longtext CHARACTER SET ucs2 COLLATE ucs2_swedish_ci NOT NULL,
`col341` int(11) DEFAULT '-227',
`col342` binary(1) NOT NULL,
`col343` timestamp NOT NULL DEFAULT '2012-08-17 02:51:39',
`col344` geometrycollection NOT NULL,
`col345` timestamp NOT NULL DEFAULT '2013-06-10 20:51:17',
`col346` geometrycollection NOT NULL,
`col347` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`col348` mediumblob NOT NULL,
`col349` date NOT NULL DEFAULT '2012-10-25',
`col350` blob NOT NULL,
`col351` double unsigned zerofill DEFAULT '00000000004.995411e-28',
`col352` multilinestring DEFAULT NULL,
`col353` binary(1) NOT NULL,
`col363` int(10) unsigned DEFAULT '1268',
`col364` set('zviaxv','lwuntcgoim','tfcaahz','rknpwdul','axfp','hxnoyzub','zjg','ehqqwzpdyp','pz','izvdhdb','','ue','xsydpcs','frasemwk','owypymt','rllf','lvehbd','oofm','oe','kxsv','psopswjw','a','uxszj','kspknyiy','tctzkz','dbilhc','gjxuopja','zog','xtv','nidb','gkcntubt','zhbcqshuvr','','ixhgqb','otw','txihnn','zhuuclgbmd','rpgcvyqrap','oskvfw','wzhuybpzh','fmmspgzn','jeg','uwrhfq','b','r','dfzkqmx','qvbmxoy','tffku','lsbxafbmpo','peues','jyblbrc','jclidb','wehrvk','cvodufegn','','vslgh','xlowmeudpl','jcfshomnv','vl','vg','fhipniex','') CHARACTER SET macroman COLLATE macroman_bin NOT NULL,
`col365` varchar(133) CHARACTER SET utf8 NOT NULL DEFAULT 'rkgipvotjooksnvdsilmopjhreiahomvrtkyvtgijsowgpviczzoisgmyvruayncglgruhiwgvbaxdnxklljelqavxsdhxkuyyqviaasvvczrkhasyzkblbtoqjn',
`col366` char(36) CHARACTER SET latin5 NOT NULL DEFAULT 'rvzkjadahysuszmmrtizylkhnjrwmidqxtfr',
`col367` decimal(26,0) DEFAULT '-759',
`col368` decimal(35,10) DEFAULT '0.0000000000',
`col369` tinytext CHARACTER SET utf8 NOT NULL,
`col370` float unsigned DEFAULT '902.273',
`col371` binary(1) NOT NULL,
`col372` double unsigned DEFAULT '921.8662',
`col373` blob NOT NULL,
`col374` double unsigned DEFAULT '886',
`col375` tinyblob NOT NULL,
`col376` point NOT NULL,
`col377` datetime DEFAULT '2012-08-21 08:45:51',
`col378` blob NOT NULL,
`col379` polygon NOT NULL,
`col380` time DEFAULT '12:14:26',
`col381` multilinestring NOT NULL,
`col382` text CHARACTER SET cp1250 COLLATE cp1250_polish_ci NOT NULL,
`col383` datetime DEFAULT '2012-05-28 23:03:10',
`col384` binary(1) NOT NULL,
`col385` multipoint NOT NULL,
`col386` multipoint NOT NULL,
`col387` polygon NOT NULL,
`col388` date NOT NULL DEFAULT '2012-02-22',
`col389` multipolygon NOT NULL,
`col390` multilinestring DEFAULT NULL,
`col391` time DEFAULT '05:08:20',
`col392` binary(1) NOT NULL,
`col393` decimal(26,14) DEFAULT '100001.00000000000000',
`col394` set('','mrubwn','w','fkkdwyaw','ukffmnboe','scilxu','','clqhpxcktz','o','akrq') CHARACTER SET utf8 COLLATE utf8_danish_ci NOT NULL,
`col395` bit(44) NOT NULL DEFAULT b'0',
`col396` binary(1) NOT NULL,
`col397` point DEFAULT NULL,
`col398` mediumblob NOT NULL,
`col411` timestamp NOT NULL DEFAULT '2013-05-16 02:24:07',
`col412` point DEFAULT NULL,
`col413` decimal(54,10) DEFAULT '773.0000000000',
`col414` multipolygon DEFAULT NULL,
`col415` geometrycollection DEFAULT NULL,
`col416` date NOT NULL DEFAULT '2013-04-06',
`col424` polygon DEFAULT NULL,
`col425` date DEFAULT '2013-03-20',
`col463` time DEFAULT '13:04:27',
`col464` smallint(5) unsigned DEFAULT '999',
`col465` polygon DEFAULT NULL,
`col466` decimal(50,27) NOT NULL DEFAULT '669.951800000000000000000000000',
`col467` char(163) CHARACTER SET utf8 NOT NULL DEFAULT 'wygsbikppkbrvhppifmgqafobdqoatrxzbmtlnifqbnhtcyirtflwropwlliiyfkvct',
`col552` time DEFAULT '09:26:14',
`col553` linestring NOT NULL,
`col554` time DEFAULT '19:38:36',
`col555` time DEFAULT '18:49:01',
`col556` time NOT NULL DEFAULT '06:05:08',
`col557` datetime NOT NULL DEFAULT '2011-12-28 00:57:00',
`col558` varbinary(208) NOT NULL,
`col559` double DEFAULT '115078000000',
`col560` time DEFAULT '12:26:50',
`col561` polygon DEFAULT NULL,
`col589` double DEFAULT '84.637',
`col590` multipolygon DEFAULT NULL,
`col591` multipolygon DEFAULT NULL,
`col592` bit(15) NOT NULL DEFAULT b'1000101011',
`col593` multipoint DEFAULT NULL,
`col594` float NOT NULL DEFAULT '361',
`col595` geometrycollection DEFAULT NULL,
`col596` text CHARACTER SET ucs2 COLLATE ucs2_icelandic_ci NOT NULL,
`col597` geometrycollection NOT NULL,
`col598` enum('dh','ysvot','e','lhmqrwg','v','lbblbipyv','ntl','tvbcaxud','cyaexa','qgfr') CHARACTER SET latin5 COLLATE latin5_bin NOT NULL,
`col599` bit(46) DEFAULT b'0',
`col600` int(11) DEFAULT '0',
`col601` geometrycollection DEFAULT NULL,
`col602` char(151) CHARACTER SET utf8mb4 COLLATE utf8mb4_czech_ci NOT NULL DEFAULT 'uhflarjdygvadyjgbdnllswuvtfzshmpiwszulazbjxkwrcfznueywqzyttbuopogamusiwjoevgytrzukwzltflomyxluhthuerqftp',
`col603` multipoint DEFAULT NULL,
`col604` decimal(62,9) NOT NULL DEFAULT '1626.723900000',
`col605` tinytext CHARACTER SET ucs2 COLLATE ucs2_roman_ci NOT NULL,
`col606` multipolygon DEFAULT NULL,
`col607` enum('yykolocq','xepw','j','ep','mcqczop','l','','oouwt','shvvsowfgh','mwidvbc','okrkfzyt','wbvxe','axqv','','pv','chzpn') CHARACTER SET ucs2 COLLATE ucs2_romanian_ci NOT NULL,
`col608` multipolygon DEFAULT NULL,
`col609` bigint(20) DEFAULT '-347',
`col610` linestring DEFAULT NULL,
`col611` point DEFAULT NULL,
`col645` double DEFAULT '361',
`col646` time NOT NULL DEFAULT '03:58:52',
`col647` polygon NOT NULL,
`col648` date DEFAULT '2012-02-29',
`col657` double unsigned NOT NULL DEFAULT '100000',
`col658` multipolygon DEFAULT NULL,
`col659` geometrycollection NOT NULL,
`col660` time NOT NULL DEFAULT '14:01:49',
`col661` multilinestring DEFAULT NULL,
`col662` geometrycollection DEFAULT NULL,
`col663` linestring NOT NULL,
`col668` set('cby','atw','c','mqa','','e','brfn','yg','uctewxvrfq','','jivnqt','o','qgxrjvle','dmeqnxbo','kxrihw','jgjvsic','a','thkiryyjg','bcfspu','rtucgn','mmmmf','umnbvjzqmz','lziqmuo','hesqyfwi','pwpb','','ldzgmgaia','myt','ymro','jqzhkmh','wnzh','zx','','r','wndmbonazr','pwqshgn','kuugct','jylih','yebbv','swtxvvex','ib','wobbqtrgn','rwftdkd','wbp','frb','rz','fgmri','jpx','hosllux','q','heyeuyuw','xvbxwpikw','dfglvxwre','crayksvq','k','g','bseplrubv') CHARACTER SET eucjpms COLLATE eucjpms_bin NOT NULL,
`col669` int(11) DEFAULT '369',
`col670` varchar(217) CHARACTER SET utf8 NOT NULL DEFAULT 'sllgwgmdnbwzpxtyxnhiqjakuryhsrnlbjpbzmmfjqoqhhjranxxuebxeihtffopdqfngbsejihzbbftieuoyqkagxnimmrj',
`col671` geometrycollection DEFAULT NULL,
`col672` point NOT NULL,
`col673` timestamp NOT NULL DEFAULT '2011-11-09 05:52:00',
`col757` datetime DEFAULT '2012-02-22 10:30:36',
`col758` tinyblob NOT NULL,
`col759` multipolygon NOT NULL,
`col760` date NOT NULL DEFAULT '2013-06-26',
`col761` geometrycollection DEFAULT NULL,
`col762` double NOT NULL DEFAULT '7.614857e33',
`col813` point DEFAULT NULL,
`col814` varchar(126) CHARACTER SET utf8 NOT NULL DEFAULT 'scq',
`col815` double NOT NULL DEFAULT '100000',
`col816` geometrycollection DEFAULT NULL,
`col817` timestamp NOT NULL DEFAULT '2013-01-31 16:41:20',
`col832` date DEFAULT '2012-10-08',
`col833` multipoint DEFAULT NULL,
`col834` varchar(103) CHARACTER SET utf8 COLLATE utf8_slovenian_ci NOT NULL DEFAULT 'tffrzzkchfaomhopktjiipcmgbxehlffymfnaolparrhxrobburwpbrmymhwhsoasdvetzlvikz',
`col835` time NOT NULL DEFAULT '19:49:41',
`col836` time DEFAULT '16:16:29',
`col837` linestring DEFAULT NULL,
`col838` binary(1) NOT NULL,
`col839` datetime DEFAULT '2013-07-02 09:14:19',
`col840` float unsigned NOT NULL DEFAULT '0',
`col841` datetime DEFAULT '2013-02-26 13:52:37',
`col842` char(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_esperanto_ci NOT NULL DEFAULT 'dhmwpzjiuvfxzzbxbckjebalpiumdoqcdheuizaxjgpfenygwqrdfcumjsnicvwhhzzagbgbycbpjpkvldshenwqlmossbuzbnqasycetkudmztqsdggc',
`col860` datetime DEFAULT '2012-07-04 10:54:36',
`col861` tinyint(1) DEFAULT '0',
`col895` geometrycollection NOT NULL,
`col896` blob NOT NULL,
`col897` multipolygon NOT NULL,
`col898` bigint(20) unsigned zerofill NOT NULL DEFAULT '00000000000000099999',
`col899` datetime NOT NULL DEFAULT '2012-09-08 03:23:24',
`col908` datetime NOT NULL DEFAULT '2012-06-04 00:18:37',
`col946` tinyint(1) DEFAULT '53',
`col947` tinyblob NOT NULL,
`col948` char(6) CHARACTER SET utf8 NOT NULL,
`col949` varchar(122) CHARACTER SET utf8 NOT NULL DEFAULT 'vuplkgvqpcxnheptiwkbvtilenaokcscaddnqscqxsqmebojloggeogchdanoaroqmmrrmgsaamdqcirntfsprdwsdmjlacugxsmdburfytfxmxsjgkhcvya',
`col950` longtext CHARACTER SET keybcs2 NOT NULL,
`col964` multilinestring NOT NULL,
`col965` time DEFAULT '14:21:06',
`col979` date NOT NULL DEFAULT '2013-09-18',
`col980` geometry NOT NULL,
`col981` varchar(182) CHARACTER SET cp932 NOT NULL DEFAULT 'yqxvggnkhwraaylqdffzhnshrbmvcnnrdfyostcforapjjgguscueeokumjjovvcuoycesrbdldetsswwhapkihjjduneewghuqcxprdgsedikwqyaxvvwkgkzpopqthvjaagnasycsih',
`col982` timestamp NOT NULL DEFAULT '2011-10-28 16:27:05',
`col983` linestring NOT NULL,
`col984` point NOT NULL,
`col1009` geometrycollection NOT NULL,
`col1010` multipolygon NOT NULL,
`col1011` multipolygon DEFAULT NULL,
`col1012` point NOT NULL,
`col1013` multipoint NOT NULL,
`col1014` binary(1) NOT NULL,
`col1015` geometry NOT NULL,
`col1016` geometrycollection NOT NULL,
`col1017` time DEFAULT '22:49:14',
`col1018` geometry DEFAULT NULL,
`col1019` mediumblob NOT NULL,
`col1020` geometrycollection DEFAULT NULL,
`col1021` time NOT NULL DEFAULT '20:00:53',
`col1029` mediumtext CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL,
`col1030` mediumtext CHARACTER SET utf8 COLLATE utf8_danish_ci NOT NULL,
`col1031` polygon DEFAULT NULL,
`col1032` timestamp NOT NULL DEFAULT '2012-06-07 07:56:51',
`col1033` time NOT NULL DEFAULT '00:34:05',
`col1063` date DEFAULT '2013-03-15',
`col1064` timestamp NOT NULL DEFAULT '2013-07-15 10:06:20',
`col1065` datetime DEFAULT '2011-11-10 23:42:30',
`col1066` date DEFAULT '2012-06-18',
`col1067` binary(1) NOT NULL,
`col1068` double DEFAULT '-1.39e-45',
`col1069` multipolygon NOT NULL,
`col1070` polygon NOT NULL,
`col1071` time DEFAULT '00:08:11',
`col1078` multilinestring NOT NULL,
`col1079` date NOT NULL DEFAULT '2013-09-19',
`col1080` char(56) CHARACTER SET utf8 NOT NULL,
`col1081` int(10) unsigned DEFAULT '1126',
`col1082` timestamp NOT NULL DEFAULT '2013-06-12 22:26:55',
`col1095` double DEFAULT '397.9621',
`col1096` set('rtwkwd','vduqdrk','ot','vjjn','wizl','kngzzgyao','s','wa','qorhe','bdaxktgrgb','cvett','fbdnmwo','vgplugut','bcz','ysrdyjs','qbgzplb','ovdfsouoit','bbdnjbx','','dyjkaer') CHARACTER SET swe7 COLLATE swe7_bin NOT NULL,
`col1106` double NOT NULL DEFAULT '-916',
`col1107` timestamp NOT NULL DEFAULT '2013-09-24 19:52:45',
`col1108` mediumint(9) NOT NULL DEFAULT '0',
`col1109` polygon NOT NULL,
`col1110` decimal(34,7) unsigned zerofill DEFAULT '000000000000000000000000000.0000000',
`col1111` date DEFAULT '2011-10-14',
`col1112` timestamp NOT NULL DEFAULT '2013-02-06 14:54:39',
`col1113` geometrycollection NOT NULL,
`col1114` geometry DEFAULT NULL,
`col1138` linestring NOT NULL,
`col1148` time DEFAULT '00:01:33',
`col1149` enum('hkrg','j','xvzve','hcgsbeejqq','tojfi') CHARACTER SET armscii8 COLLATE armscii8_bin NOT NULL,
`col1150` multipolygon DEFAULT NULL,
`col1151` float unsigned DEFAULT '99999',
`col1152` char(27) CHARACTER SET utf8 NOT NULL,
`col1153` longtext CHARACTER SET cp1250 COLLATE cp1250_czech_cs NOT NULL,
`col1154` varbinary(243) NOT NULL,
`col1155` double DEFAULT '-824',
`col1156` set('','bxdihtgoto','umoexkebrx','bpwdqesm','apthks','','co','uvpsebzelq','tduivisrfg','','sfffmukeev','','vkjlxmlh','','snphdfrzu','','jlboqwambe','y','psh','','','croobejgpb','','afnmnegc','mllj','','wlwajss','f','hlnrku','mn','tfldg','su','muyvzhwfk','awtkwjkls','','oznf') CHARACTER SET ucs2 COLLATE ucs2_lithuanian_ci NOT NULL,
`col1157` multilinestring DEFAULT NULL,
`col1158` geometry NOT NULL,
`col1159` date DEFAULT '2013-07-07',
`col1160` mediumtext CHARACTER SET ujis COLLATE ujis_bin NOT NULL,
`col1161` datetime NOT NULL DEFAULT '2011-10-11 18:44:14',
`col1162` tinytext CHARACTER SET hp8 COLLATE hp8_bin NOT NULL,
`col1163` multipoint NOT NULL,
`col1164` point DEFAULT NULL,
`col1165` enum('yjepshc','koeorw') CHARACTER SET euckr NOT NULL,
`col1166` tinyblob NOT NULL,
`col1167` datetime DEFAULT '2013-04-05 13:31:15',
`col1168` date DEFAULT '2012-09-15',
`col1169` polygon DEFAULT NULL,
`col1170` geometrycollection DEFAULT NULL,
`col1171` polygon NOT NULL,
`col1172` bigint(20) unsigned DEFAULT '0',
`col1175` linestring DEFAULT NULL,
`col1176` timestamp NOT NULL DEFAULT '2012-03-03 04:58:09',
`col1177` polygon NOT NULL,
`col1178` binary(1) NOT NULL,
`col1179` longtext CHARACTER SET ucs2 NOT NULL,
`col1180` date DEFAULT '2013-07-15',
`col1181` multipoint NOT NULL,
`col1182` multipolygon NOT NULL,
`col1183` smallint(5) unsigned DEFAULT '0',
`col1184` set('vpsmm','fkvplpoka','w','','rbvf','eo','jkzqltuwxr','lrecudfbqu','vavlpzahrp','eohh','qejkmujh','cjzlavxc','','ikwpssgf','letlkvrsp','qyfljpxa','qp','mkcbja','thqebki','nujkvkf','vtxzmjlgo','','nd','arjde','ldwwtqkp','qsoirvqdw','wbt','ogkapaqufp','uhvt','hcsauh','ir','n','vvkrzeo','lwnjdf','nu','hpan','wlnzjzsga','qbcwovn','jq','uvlbss','fujjpomhwl','dh','cynydo','agsxn','yr','j','ncibl','pjoysiwi','urcf','eoovghfqfk','kbjp','ydzr','upqdnz','uywxzzib','fxlhfdvbf') CHARACTER SET greek NOT NULL,
`col1185` multipolygon NOT NULL,
`col1220` datetime NOT NULL DEFAULT '2012-12-16 11:54:39',
`col1221` bit(43) NOT NULL DEFAULT b'0',
`col1222` polygon DEFAULT NULL,
`col1223` point DEFAULT NULL,
`col1224` tinyblob NOT NULL,
`col1225` text CHARACTER SET koi8r NOT NULL,
`col1232` tinytext CHARACTER SET utf8 COLLATE utf8_slovenian_ci NOT NULL,
`col1233` polygon NOT NULL,
`col1238` datetime DEFAULT '2011-11-16 14:53:53',
`col1239` smallint(6) NOT NULL DEFAULT '411',
`col1240` point DEFAULT NULL,
`col1241` smallint(6) NOT NULL DEFAULT '0',
`col1242` bigint(20) unsigned DEFAULT '773',
`col1243` timestamp NOT NULL DEFAULT '2012-10-14 09:13:17',
`col1244` timestamp NOT NULL DEFAULT '2012-10-16 13:52:15',
`col1245` multilinestring NOT NULL,
`col1277` datetime NOT NULL DEFAULT '2013-05-16 00:28:37',
`col1278` mediumblob NOT NULL,
`col1279` date DEFAULT '2012-11-26',
`col1289` longblob NOT NULL,
`col1290` point DEFAULT NULL,
`col1291` polygon DEFAULT NULL,
`col1292` longblob NOT NULL,
`col1293` text CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci NOT NULL,
`col1297` longtext CHARACTER SET eucjpms NOT NULL,
`col1298` set('ofzme','qrylphnkc','pswxfu','jg','rtmee','','','oyej','veaob','dv','q','vez','tdvsvoif','zfngh','wh','rpbgkros','mhnlgqcwj','ggocf','','','vbbiva','','glpjccp','tulrg','dlstzgtvbf','xkeu','x','oqyullakt','unamtpyna','d','wgnyeaozz','radlqrm','vvyw','ybbbw','di','nzvvcs','jrrttwryw','fnjs','lliecdice','qijay','mjcdhmuulg','xr','o','jpesjwg','ckrlfmy') CHARACTER SET ucs2 COLLATE ucs2_persian_ci NOT NULL,
`col1299` datetime DEFAULT '2012-08-14 13:24:42',
`col1300` mediumblob NOT NULL,
`col1301` mediumblob NOT NULL,
`col1302` text CHARACTER SET utf8 COLLATE utf8_sinhala_ci NOT NULL,
`col1303` text CHARACTER SET koi8u NOT NULL,
`col1314` polygon NOT NULL,
`col1315` multilinestring NOT NULL,
`col1316` date NOT NULL DEFAULT '2012-01-17',
`col1317` multilinestring DEFAULT NULL,
`col1318` int(10) unsigned zerofill DEFAULT '0000000497',
`col1319` multipoint DEFAULT NULL,
`col1320` char(235) CHARACTER SET utf8 NOT NULL,
`col1321` double unsigned DEFAULT '260.5115',
`col1322` multipolygon NOT NULL,
`col1323` decimal(61,28) DEFAULT '0.0000000000000000000000000000',
`col1331` double NOT NULL DEFAULT '-1.5554463e71',
`col1332` timestamp NOT NULL DEFAULT '2013-05-17 16:29:07',
`col1333` multipoint NOT NULL,
`col1334` double NOT NULL DEFAULT '-716.6961',
`col1335` double unsigned zerofill NOT NULL DEFAULT '0000000000000000000000',
`col1336` longblob NOT NULL,
`col1337` smallint(5) unsigned DEFAULT '0',
`col1338` linestring DEFAULT NULL,
`col1340` multipoint NOT NULL,
`col1341` datetime NOT NULL DEFAULT '2012-03-21 03:00:47',
`col1342` polygon DEFAULT NULL,
`col1343` mediumint(9) DEFAULT '1474',
`col1344` mediumtext CHARACTER SET cp852 NOT NULL,
`col1345` set('','qrav','a','hupxrrqey','y','yxc','dtpt','cwdfnpu','pl','mlyod','jhncgf','','ilciog','apmzi','qkad','erlls','','trxvo','mtbhhqpz','gb','jk','cw','j','am','gxevz','jr','wknqndtz','i','ec','pbbq','hu','cmyot','ibgda','rqzqozrr','twmrwoysmg','pil','brm','b','wmiv','wceyfloxk','v','ekcvumegqg','','fndmgoxbs','ork','bmjppngd','vmhillbvwl','wmlzckw','','embrhxj','tcobqoeokw','syugqmcnem','goxoroemb','ktbhbzehq','cqveydcrdd','qaeqquhc','ycdqsajr') CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`col1346` mediumtext CHARACTER SET hp8 COLLATE hp8_bin NOT NULL,
`col1347` set('vohe','rxnxu','dzcmlze','tkmpozcucp','fbsmbrj','xq','ngepicomit','flznp','z','egtrkkwrzp','vc','oon','','ssrzfgtoy','oihvkh','ntxb','gygqhxf','o','nzg','rh','tbagjx','bsdn','tq','kltc','mie','djqouzpklm','iyhmfy','oiib','gtffz','afoo','t','dgbdmi','paywcr','','aw','','tbct','njbhlvohmx','jcluq','ffesb','gjtoyyp','unlistpv','pbxdcra','lihacyx','nzawy','nv','wwwds','lweonnf','evvam','','sdfabgdwb','nsj','neyyncn','md','','jqvlwyt') CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL,
`col1348` int(11) NOT NULL DEFAULT '0',
`col1349` time DEFAULT '15:28:30',
`col1350` geometry DEFAULT NULL,
`col1351` float unsigned NOT NULL DEFAULT '1429.64',
`col1352` binary(1) NOT NULL,
`col1359` tinytext CHARACTER SET utf8 COLLATE utf8_icelandic_ci NOT NULL,
`col1360` linestring DEFAULT NULL,
`col1361` datetime NOT NULL DEFAULT '2013-09-19 18:01:04',
`col1362` tinyint(1) NOT NULL DEFAULT '0',
`col1363` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_roman_ci NOT NULL,
`col1370` blob NOT NULL,
`col1371` polygon DEFAULT NULL,
`col1372` timestamp NOT NULL DEFAULT '2012-05-30 09:54:00',
`col1373` set('elff','edb','zmpxpiaaj','iixqfeun','dxbgb','jkuuvqdnan','ktddpvgotu','','kecyaieqn','','bqjvqdqs','ccevv','pwymcfljwn','fat','rqzf','','jtuoq','vtdzz','dvgg','x','rqgfqfadbq','xsdsxzj','wjtqumldr','byzno','qtuyhp','has','ibn','','cequ','ixbbovmhii','kedyrmqfs','xu','jzeibppzm','wdyt','aelpp','lgm','ejfuchkqz','','onblcyc','utrpyxenm','nfwcdmo','','wwxvy','wamsek','','veqwsr','t','oukdzrgzm','yejbtk','spwpzgg','nh','ixjnydlyzt','rksxkf','f','gixnou','pcohfohg','rgnnqcszb') CHARACTER SET euckr COLLATE euckr_bin NOT NULL,
UNIQUE KEY `idx4714` (`col1106`,`col596`(218),`col1185`(45),`col21`(154)) USING BTREE,
UNIQUE KEY `idx3509` (`col306`) USING BTREE,
UNIQUE KEY `idx271` (`col306`,`col28`,`col152`(203),`col757`,`col1350`(210)) USING HASH,
UNIQUE KEY `idx1257` (`col353`,`col40`(25),`col1290`(25),`col1302`(12),`col552`,`col412`(25),`col1289`(246),`col660`,`col147`) USING BTREE,
UNIQUE KEY `idx1260` (`col1114`(86),`col1020`(33),`col948`(5),`col230`,`col384`,`col1157`(124),`col1066`,`col1361`,`col1015`(146),`col1239`,`col1169`(206),`col302`(111),`col1107`,`col1184`,`col227`) USING HASH,
UNIQUE KEY `idx1410` (`col611`(25),`col153`,`col1164`(25),`col41`(165),`col43`),
UNIQUE KEY `idx1661` (`col1183`,`col657`,`col388`,`col1171`(41),`col671`(6),`col1291`(239),`col1064`,`col1079`,`col158`,`col1151`,`col599`,`col1350`(207),`col1178`,`col39`) USING BTREE,
UNIQUE KEY `idx2959` (`col606`(49),`col1298`,`col1349`,`col351`,`col663`(191),`col464`,`col1152`(24),`col1171`(127),`col1010`(94),`col1299`,`col230`) USING HASH,
UNIQUE KEY `idx3108` (`col22`,`col1063`,`col1290`(25),`col947`(2),`col288`,`col351`,`col373`(255),`col1029`(17),`col1332`,`col647`(104),`col1181`(75),`col177`(70),`col758`(41),`col1179`(174)) USING HASH,
UNIQUE KEY `idx3396` (`col226`(70),`col839`,`col1161`,`col303`(205),`col984`(25)) USING HASH,
UNIQUE KEY `idx3397` (`col840`,`col1021`,`col817`,`col289`,`col1361`,`col558`(51),`col1150`(65),`col395`,`col24`,`col1063`),
UNIQUE KEY `idx3511` (`col251`,`col1013`(93),`col190`,`col158`,`col1167`,`col896`(214),`col1278`(234),`col815`) USING BTREE,
UNIQUE KEY `idx3980` (`col1020`(230),`col1349`,`col947`(179),`col1240`(25),`col1148`,`col291`,`col42`,`col948`(4),`col899`,`col257`(60),`col222`(207),`col393`) USING HASH,
UNIQUE KEY `idx4041` (`col230`,`col191`,`col200`(205),`col609`,`col1154`(128),`col559`,`col28`,`col1149`,`col1337`,`col1359`(51),`col815`,`col1065`,`col1338`(213),`col1321`) USING HASH,
UNIQUE KEY `idx4257` (`col1371`(50),`col353`),
UNIQUE KEY `idx4374` (`col1337`,`col1113`(185),`col1319`(4),`col602`(42),`col816`(83),`col340`(161),`col1111`,`col608`(192),`col1223`(25),`col28`) USING BTREE,
UNIQUE KEY `idx4375` (`col130`,`col762`,`col1162`(115),`col398`(230),`col288`,`col1081`,`col673`,`col1029`(178),`col1033`) USING HASH,
UNIQUE KEY `idx5510` (`col398`(117),`col813`(25),`col1344`(24),`col38`(48),`col373`(189),`col393`,`col1068`,`col1298`,`col150`,`col965`,`col1162`(51),`col383`,`col606`(87)) USING HASH,
UNIQUE KEY `idx5654` (`col1351`,`col1321`,`col1081`,`col251`,`col1067`,`col1030`(244),`col896`(8),`col374`,`col196`,`col161`,`col211`(145),`col1079`,`col646`,`col757`),
KEY `idx270` (`col672`(25),`col1224`(252)),
KEY `idx356` (`col671`(158),`col1289`(211)) USING HASH,
KEY `idx752` (`col302`(186),`col1352`,`col179`(80),`col201`,`col1321`,`col658`(206),`col1279`,`col1151`),
KEY `idx753` (`col156`,`col302`(129),`col1069`(127),`col1220`) USING HASH,
KEY `idx1258` (`col558`(123),`col279`,`col984`(25),`col302`(46),`col662`(174),`col343`,`col257`(169),`col1069`(71),`col46`,`col607`,`col1079`,`col43`) USING HASH,
KEY `idx1259` (`col1071`,`col1223`(25),`col278`(216),`col133`) USING BTREE,
KEY `idx1261` (`col610`(97)) USING HASH,
KEY `idx1262` (`col411`) USING BTREE,
KEY `idx1263` (`col1349`,`col381`(59)) USING BTREE,
KEY `idx1411` (`col662`(38),`col386`(14),`col305`(63),`col158`,`col1165`) USING BTREE,
KEY `idx1574` (`col153`,`col1340`(30),`col896`(2),`col224`(27),`col1138`(218),`col44`,`col396`,`col1033`,`col841`,`col603`(196),`col307`,`col1337`,`col28`,`col425`),
KEY `idx1575` (`col291`,`col1079`,`col277`(148),`col1180`,`col1165`,`col195`,`col1338`(193),`col1157`(127),`col1222`(13),`col353`) USING HASH,
KEY `idx1576` (`col1155`,`col948`(1),`col1344`(244),`col43`,`col227`,`col393`,`col398`(101),`col553`(31)),
KEY `idx1992` (`col28`,`col133`,`col1343`,`col1289`(142),`col278`(1),`col252`(101),`col176`,`col592`,`col195`,`col1360`(16),`col896`(8),`col1290`(25),`col1320`(148)),
KEY `idx2581` (`col598`,`col1154`(120)) USING BTREE,
KEY `idx2582` (`col673`,`col1156`,`col1013`(200),`col36`(25),`col353`,`col366`(7),`col1346`(78),`col182`,`col24`,`col1010`(60),`col292`,`col27`,`col1172`,`col761`(73)),
KEY `idx2583` (`col1163`(18),`col758`(224),`col351`,`col663`(134)),
KEY `idx2584` (`col611`(25),`col181`,`col159`,`col663`(226),`col815`,`col195`,`col1345`,`col1021`,`col196`,`col255`(27),`col897`(192)) USING HASH,
KEY `idx2585` (`col660`,`col896`(113),`col1081`),
KEY `idx2647` (`col1163`(93),`col226`(171),`col229`,`col1111`,`col27`,`col221`,`col381`(38),`col605`(172)),
KEY `idx2648` (`col1343`,`col1009`(116),`col1110`,`col306`,`col1183`,`col1333`(126),`col1158`(59),`col839`,`col150`,`col1152`(6),`col224`(223),`col1063`,`col758`(54),`col230`) USING HASH,
KEY `idx2649` (`col1277`,`col398`(20),`col979`,`col1110`,`col22`,`col1183`,`col347`(235),`col835`),
KEY `idx2650` (`col1070`(106),`col609`,`col1067`,`col178`,`col1159`,`col1323`,`col227`) USING BTREE,
KEY `idx2958` (`col156`,`col561`(30),`col836`) USING HASH,
KEY `idx2960` (`col179`(84),`col1180`,`col104`,`col277`(2),`col1314`(126),`col1338`(237),`col279`,`col762`,`col222`(227)),
KEY `idx3109` (`col646`,`col659`(199),`col599`,`col1162`(7),`col594`,`col1110`,`col198`,`col669`,`col1068`) USING BTREE,
KEY `idx3110` (`col662`(128),`col1166`(111),`col1373`,`col1170`(224),`col147`,`col946`,`col148`(5)) USING BTREE,
KEY `idx3394` (`col1169`(49),`col1233`(96),`col1063`,`col1303`(91)) USING HASH,
KEY `idx3395` (`col1020`(199)) USING BTREE,
KEY `idx3508` (`col908`,`col1009`(1),`col594`,`col1176`,`col759`(3),`col1343`,`col1166`(25),`col1371`(89),`col841`,`col253`,`col42`) USING BTREE,
KEY `idx3510` (`col1244`,`col817`,`col465`(217),`col288`,`col252`(14),`col1110`,`col1160`(215),`col1318`) USING HASH,
KEY `idx3583` (`col948`(5),`col168`(53),`col1163`(5)) USING BTREE,
KEY `idx3926` (`col1344`(126),`col1291`(220),`col23`,`col348`(2),`col1244`,`col1016`(173),`col179`(247),`col761`(42),`col1177`(28),`col1148`) USING HASH,
KEY `idx3927` (`col366`(16),`col1108`,`col363`,`col415`(105),`col151`(234),`col817`,`col1321`,`col167`(90),`col344`(14),`col1070`(193),`col258`(98),`col1241`,`col1110`,`col92`(48)) USING BTREE,
KEY `idx3981` (`col1346`(179),`col412`(25),`col1019`(131),`col1113`(146),`col302`(116),`col1349`,`col591`(41),`col555`,`col229`,`col364`,`col303`(37)) USING HASH,
KEY `idx3982` (`col353`,`col201`,`col372`) USING HASH,
KEY `idx4040` (`col657`,`col158`,`col1344`(173)),
KEY `idx4256` (`col1112`,`col1323`,`col598`) USING BTREE,
KEY `idx4258` (`col1063`,`col92`(226),`col1348`) USING HASH,
KEY `idx4373` (`col816`(157),`col415`(28),`col251`),
KEY `idx4450` (`col559`,`col1068`,`col1080`(17),`col662`(120),`col1096`,`col1032`,`col23`,`col193`(249)) USING HASH,
KEY `idx4451` (`col840`,`col1151`,`col1290`(25),`col555`,`col553`(211),`col372`,`col1069`(211),`col1361`,`col1169`(90),`col394`,`col661`(249),`col1172`,`col1021`) USING BTREE,
KEY `idx4452` (`col291`,`col425`,`col1182`(134),`col840`,`col39`,`col1320`(33),`col558`(94)) USING HASH,
KEY `idx5655` (`col389`(12),`col1107`,`col1290`(25),`col1180`) USING HASH,
KEY `idx5656` (`col374`,`col1029`(107),`col306`,`col349`,`col239`(209),`col416`,`col382`(85),`col147`,`col42`,`col412`(25)) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=178017 MAX_ROWS=1000251 PACK_KEYS=0 DELAY_KEY_WRITE=1 ROW_FORMAT=COMPACT

#...done.

That’s actual output from mysqlfrm in the version released last week – a crazy table definition that choked early versions of the FRM reader now read with ease.  Chuck Bell did a great job with mysqlfrm, and I hope others will find it useful as well.  There are some rough edges still, as with any alpha software, but give it a try on the .FRM file of the ugliest table you can find, and let us know how it does!

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.