Clean 1.9.1 install gives SQL error: Column length too big

Ask community to help.

Moderators: Amaradana, TurboPT, TL Developers

Post Reply
saturdayplace
TestLink user
Posts: 4
Joined: Thu Jan 14, 2010 10:18 pm

Clean 1.9.1 install gives SQL error: Column length too big

Post by saturdayplace »

I just tried to do a totally clean install of 1.9.1 (not an upgrade) and after entering in my database details, I got the following error:

Code: Select all

TestLink setup will now attempt to setup the database:

Creating connection to Database Server:OK!

Connecting to database `testlink191`:OK!
Creating Testlink DB user `testlink`:OK! (ok - user_exists ok - grant assignment) 
Processing:sql/mysql/testlink_create_tables.sql

 ============================================================================== 
 DB Access Error - debug_print_backtrace() OUTPUT START 
 ============================================================================== 
#0  database->exec_query(
CREATE TABLE /*prefix*/cfield_design_values (
  `field_id` int(10) NOT NULL default '0',
  `node_id` int(10) NOT NULL default '0',
  `value` varchar(4000) NOT NULL default '',
  PRIMARY KEY  (`field_id`,`node_id`),
  KEY /*prefix*/idx_cfield_design_values (`node_id`)
) DEFAULT CHARSET=utf8) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\sqlParser.class.php:109]
#1  SqlParser->process(sql/mysql/testlink_create_tables.sql) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\installNewDB.php:429]
 ============================================================================== 
 ============================================================================== 
 DB Access Error - debug_print_backtrace() OUTPUT START 
 ============================================================================== 
#0  database->exec_query(
CREATE TABLE /*prefix*/cfield_execution_values (
  `field_id`     int(10) NOT NULL default '0',
  `execution_id` int(10) NOT NULL default '0',
  `testplan_id` int(10) NOT NULL default '0',
  `tcversion_id` int(10) NOT NULL default '0',
  `value` varchar(4000) NOT NULL default '',
  PRIMARY KEY  (`field_id`,`execution_id`,`testplan_id`,`tcversion_id`)
) DEFAULT CHARSET=utf8) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\sqlParser.class.php:109]
#1  SqlParser->process(sql/mysql/testlink_create_tables.sql) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\installNewDB.php:429]
 ============================================================================== 
 ============================================================================== 
 DB Access Error - debug_print_backtrace() OUTPUT START 
 ============================================================================== 
#0  database->exec_query(
CREATE TABLE /*prefix*/cfield_testplan_design_values (
  `field_id` int(10) NOT NULL default '0',
  `link_id` int(10) NOT NULL default '0' COMMENT 'point to testplan_tcversion id',   
  `value` varchar(4000) NOT NULL default '',
  PRIMARY KEY  (`field_id`,`link_id`),
  KEY /*prefix*/idx_cfield_tplan_design_val (`link_id`)
) DEFAULT CHARSET=utf8) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\sqlParser.class.php:109]
#1  SqlParser->process(sql/mysql/testlink_create_tables.sql) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\installNewDB.php:429]
 ============================================================================== 
 ============================================================================== 
 DB Access Error - debug_print_backtrace() OUTPUT START 
 ============================================================================== 
#0  database->exec_query(
CREATE TABLE /*prefix*/custom_fields (
  `id` int(10) NOT NULL auto_increment,
  `name` varchar(64) NOT NULL default '',
  `label` varchar(64) NOT NULL default '' COMMENT 'label to display on user interface' ,
  `type` smallint(6) NOT NULL default '0',
  `possible_values` varchar(4000) NOT NULL default '',
  `default_value` varchar(4000) NOT NULL default '',
  `valid_regexp` varchar(255) NOT NULL default '',
  `length_min` int(10) NOT NULL default '0',
  `length_max` int(10) NOT NULL default '0',
  `show_on_design` tinyint(3) unsigned NOT NULL default '1' COMMENT '1=> show it during specification design',
  `enable_on_design` tinyint(3) unsigned NOT NULL default '1' COMMENT '1=> user can write/manage it during specification design',
  `show_on_execution` tinyint(3) unsigned NOT NULL default '0' COMMENT '1=> show it during test case execution',
  `enable_on_execution` tinyint(3) unsigned NOT NULL default '0' COMMENT '1=> user can write/manage it during test case execution',
  `show_on_testplan_design` tinyint(3) unsigned NOT NULL default '0' ,
  `enable_on_testplan_design` tinyint(3) unsigned NOT NULL default '0' ,
  PRIMARY KEY  (`id`),
  UNIQUE KEY /*prefix*/idx_custom_fields_name (`name`)
) DEFAULT CHARSET=utf8) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\sqlParser.class.php:109]
#1  SqlParser->process(sql/mysql/testlink_create_tables.sql) called at [C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testlink-1.9.1\install\installNewDB.php:429]
 ============================================================================== 

Failed! - Installation failed!
TestLink setup couldn't install the default site into the selected database. The last error to occur was Column length too big for column 'possible_values' (max = 255); use BLOB or TEXT instead during the execution of SQL statement CREATE TABLE /*prefix*/custom_fields ( `id` int(10) NOT NULL auto_increment, `name` varchar(64) NOT NULL default '', `label` varchar(64) NOT NULL default '' COMMENT 'label to display on user interface' , `type` smallint(6) NOT NULL default '0', `possible_values` varchar(4000) NOT NULL default '', `default_value` varchar(4000) NOT NULL default '', `valid_regexp` varchar(255) NOT NULL default '', `length_min` int(10) NOT NULL default '0', `length_max` int(10) NOT NULL default '0', `show_on_design` tinyint(3) unsigned NOT NULL default '1' COMMENT '1=> show it during specification design', `enable_on_design` tinyint(3) unsigned NOT NULL default '1' COMMENT '1=> user can write/manage it during specification design', `show_on_execution` tinyint(3) unsigned NOT NULL default '0' COMMENT '1=> show it during test case execution', `enable_on_execution` tinyint(3) unsigned NOT NULL default '0' COMMENT '1=> user can write/manage it during test case execution', `show_on_testplan_design` tinyint(3) unsigned NOT NULL default '0' , `enable_on_testplan_design` tinyint(3) unsigned NOT NULL default '0' , PRIMARY KEY (`id`), UNIQUE KEY /*prefix*/idx_custom_fields_name (`name`) ) DEFAULT CHARSET=utf8
I'm worried that if I change the column type as directed at the bottom of that message, that I'll break compatibility with TL in other areas. Suggestions?
saturdayplace
TestLink user
Posts: 4
Joined: Thu Jan 14, 2010 10:18 pm

Re: Clean 1.9.1 install gives SQL error: Column length too b

Post by saturdayplace »

Upgrading MySQL >= 5.0.3 fixed this issue. I was at 4.1.22.
Post Reply