Re: InnoDB create table error 150

2002-02-15 Thread Heikki Tuuri

Hi!

It is a bug in the FOREIGN KEY syntax parser. It is confused by the column
name

e_foreigncurrency

The bug appears if the string 'foreign' is succeeded by a non-space
character in a CREATE TABLE statement.

Workaround: change the column name to e_currencyforeign, for example.

Fixed in 3.23.50.

Best regards,

Heikki Tuuri
Innobase Oy
---
Order technical MySQL/InnoDB support at https://order.mysql.com/
See http://www.innodb.com for the online manual and latest news on InnoDB

Richard R. Harms wrote in message ...
The create table command included at the end of this message gives
the following error:

ERROR 1005: Can't create table './catalogmgr/macitm_vendordfrom.frm'
(errno: 150)

Creating it with type=myisam, and then doing an alter table and
converting it to innodb works okay. It just cannot be initially
created as an innodb table.

The error occurs on both Red Hat Linux 6.2 and Mac OS X 10.1.2. MySQL
was compiled on both systems with the --enable-raid flag. my.cnf
settings are included below as well.

=rh

CREATE TABLE macitm_vendordfrom (
   e_vendorno varchar(10) default NULL,
   e_apvendor varchar(20) default NULL,
   e_company char(2) default NULL,
   e_division char(2) default NULL,
   e_name varchar(30) default NULL,
   e_lastname varchar(16) default NULL,
   e_initial char(2) default NULL,
   e_firstname varchar(16) default NULL,
   e_title char(2) default NULL,
   e_ref1 varchar(30) default NULL,
   e_ref2 varchar(30) default NULL,
   e_street varchar(30) default NULL,
   e_city varchar(30) default NULL,
   e_state char(2) default NULL,
   e_zip varchar(10) default NULL,
   e_countrycode varchar(4) default NULL,
   e_dayphone varchar(16) default NULL,
   e_freightppcode char(2) default NULL,
   e_freightppbasis bigint(10) default NULL,
   e_freightpct int(5) default NULL,
   e_fobcity varchar(30) default NULL,
   e_foreigncurrency char(2) default NULL,
   e_termscode varchar(4) default NULL,
   e_termspct int(4) default NULL,
   e_termsdays int(5) default NULL,
   e_standarddays int(5) default NULL,
   e_faxno varchar(16) default NULL,
   e_miscdata40 varchar(40) default NULL,
   e_vendorcomments001 varchar(60) default NULL,
   e_vendorcomments002 varchar(60) default NULL,
   e_vendorcomments003 varchar(60) default NULL,
   e_vendorcomments004 varchar(60) default NULL,
   e_vendorcomments005 varchar(60) default NULL,
   e_vendorcomments006 varchar(60) default NULL,
   e_vendorcomments007 varchar(60) default NULL,
   e_vendorcomments008 varchar(60) default NULL,
   e_addldata varchar(20) default NULL,
   e_email varchar(48) default NULL
) TYPE=InnoDB;

[mysqld]
set-variable = delayed_queue_size=10
set-variable = sort_buffer=8M
set-variable = join_buffer=4M
set-variable = tmp_table_size=4M
set-variable = max_sort_length=16384
set-variable = max_allowed_packet=1M
set-variable = query_cache_size=2M
set-variable = query_cache_startup_type=1
#
innodb_data_home_dir = /usr/local/var/.ibdata
#Data files must be able to
#hold your data and indexes
innodb_data_file_path = ibdata1:500M;ibdata2:500M;ibdata3:500M
#Set buffer pool size to 50 -
80 %
#of your computer's memory
set-variable = innodb_buffer_pool_size=32M
set-variable = innodb_additional_mem_pool_size=8M
#
innodb_log_group_home_dir = /usr/local/var/.iblogs
#.._log_arch_dir must be the
same
#as .._log_group_home_dir
innodb_log_arch_dir = /usr/local/var/.iblogs
innodb_log_archive=0
set-variable = innodb_log_files_in_group=3
#Set the log file size to about
#15 % of the buffer pool size
set-variable = innodb_log_file_size=50M
set-variable = innodb_log_buffer_size=8M
#Set ..flush_log_at_trx_commit
to
#0 if you can afford losing
#a few last transactions
innodb_flush_log_at_trx_commit=1
set-variable = innodb_file_io_threads=4
set-variable = innodb_lock_wait_timeout=50



-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




InnoDB create table error 150

2002-02-14 Thread Richard R. Harms

The create table command included at the end of this message gives 
the following error:

ERROR 1005: Can't create table './catalogmgr/macitm_vendordfrom.frm' 
(errno: 150)

Creating it with type=myisam, and then doing an alter table and 
converting it to innodb works okay. It just cannot be initially 
created as an innodb table.

The error occurs on both Red Hat Linux 6.2 and Mac OS X 10.1.2. MySQL 
was compiled on both systems with the --enable-raid flag. my.cnf 
settings are included below as well.

=rh

CREATE TABLE macitm_vendordfrom (
   e_vendorno varchar(10) default NULL,
   e_apvendor varchar(20) default NULL,
   e_company char(2) default NULL,
   e_division char(2) default NULL,
   e_name varchar(30) default NULL,
   e_lastname varchar(16) default NULL,
   e_initial char(2) default NULL,
   e_firstname varchar(16) default NULL,
   e_title char(2) default NULL,
   e_ref1 varchar(30) default NULL,
   e_ref2 varchar(30) default NULL,
   e_street varchar(30) default NULL,
   e_city varchar(30) default NULL,
   e_state char(2) default NULL,
   e_zip varchar(10) default NULL,
   e_countrycode varchar(4) default NULL,
   e_dayphone varchar(16) default NULL,
   e_freightppcode char(2) default NULL,
   e_freightppbasis bigint(10) default NULL,
   e_freightpct int(5) default NULL,
   e_fobcity varchar(30) default NULL,
   e_foreigncurrency char(2) default NULL,
   e_termscode varchar(4) default NULL,
   e_termspct int(4) default NULL,
   e_termsdays int(5) default NULL,
   e_standarddays int(5) default NULL,
   e_faxno varchar(16) default NULL,
   e_miscdata40 varchar(40) default NULL,
   e_vendorcomments001 varchar(60) default NULL,
   e_vendorcomments002 varchar(60) default NULL,
   e_vendorcomments003 varchar(60) default NULL,
   e_vendorcomments004 varchar(60) default NULL,
   e_vendorcomments005 varchar(60) default NULL,
   e_vendorcomments006 varchar(60) default NULL,
   e_vendorcomments007 varchar(60) default NULL,
   e_vendorcomments008 varchar(60) default NULL,
   e_addldata varchar(20) default NULL,
   e_email varchar(48) default NULL
) TYPE=InnoDB;

[mysqld]
set-variable = delayed_queue_size=10
set-variable = sort_buffer=8M
set-variable = join_buffer=4M
set-variable = tmp_table_size=4M
set-variable = max_sort_length=16384
set-variable = max_allowed_packet=1M
set-variable = query_cache_size=2M
set-variable = query_cache_startup_type=1
#
innodb_data_home_dir = /usr/local/var/.ibdata
#Data files must be able to
#hold your data and indexes
innodb_data_file_path = ibdata1:500M;ibdata2:500M;ibdata3:500M
#Set buffer pool size to 50 - 80 %
#of your computer's memory
set-variable = innodb_buffer_pool_size=32M
set-variable = innodb_additional_mem_pool_size=8M
#
innodb_log_group_home_dir = /usr/local/var/.iblogs
#.._log_arch_dir must be the same
#as .._log_group_home_dir
innodb_log_arch_dir = /usr/local/var/.iblogs
innodb_log_archive=0
set-variable = innodb_log_files_in_group=3
#Set the log file size to about
#15 % of the buffer pool size
set-variable = innodb_log_file_size=50M
set-variable = innodb_log_buffer_size=8M
#Set ..flush_log_at_trx_commit to
#0 if you can afford losing
#a few last transactions
innodb_flush_log_at_trx_commit=1
set-variable = innodb_file_io_threads=4
set-variable = innodb_lock_wait_timeout=50

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php