>Description:
I am using russian values(cp1251 charset) for ENUM items.
Here is an example how to damage ID field by query to change
F_Category Enum.
>How-To-Repeat:
# Create tableA with ID field.
CREATE TABLE tableA (
ID int(11) NOT NULL auto_increment,
F_ReportID bigint(20) NOT NULL default '0',
F_Response_to varchar(99) NOT NULL default '',
F_More_reports mediumtext NOT NULL,
F_Linked_Reports mediumtext NOT NULL,
F_Responses mediumtext NOT NULL,
F_Summary varchar(99) NOT NULL default '',
F_Description mediumtext NOT NULL,
F_Solution mediumtext NOT NULL,
F_Category enum('Bug','Question','Documentation','Enhancement Request','Web
Error','User Error','Unknown') NOT NULL default 'Question',
F_Attached_file mediumtext NOT NULL,
F_Severity enum('Critical','High','Medium','Low') NOT NULL default 'Medium',
F_User varchar(99) NOT NULL default '',
F_EndUser varchar(99) NOT NULL default 'nobody',
F_FullName varchar(99) NOT NULL default '',
F_E_mail varchar(99) NOT NULL default '',
F_Telephone varchar(99) NOT NULL default '',
F_Group varchar(99) NOT NULL default '',
F_Internal_analysis mediumtext NOT NULL,
F_State enum('Open','Assigned','In-progress','In-testing','Closed') NOT NULL default
'Open',
F_Std_Solution enum('Yes','No') NOT NULL default 'No',
F_Accepted enum('Yes','No') NOT NULL default 'No',
F_Date datetime NOT NULL default '1990-01-01 00:00:00',
F_Thread_owner varchar(99) NOT NULL default '',
F_Creator_E_mail varchar(99) NOT NULL default '',
F_Modified_by varchar(99) NOT NULL default '',
F_Modification_date datetime NOT NULL default '1990-01-01 00:00:00',
F_Route mediumtext NOT NULL,
F_History mediumtext NOT NULL,
F_E_mail_History mediumtext NOT NULL,
F_CorrectSolutionCount bigint(20) NOT NULL default '0',
F_CorrectSolutionCount bigint(20) NOT NULL default '0',
F_AdjustedSolutionCount bigint(20) NOT NULL default '0',
F_Assign_date datetime NOT NULL default '1990-01-01 00:00:00',
UNIQUE KEY ID (ID),
KEY F_ReportID (F_ReportID),
KEY F_Category (F_Category),
KEY F_Severity (F_Severity),
KEY F_User (F_User),
KEY F_State (F_State),
KEY F_Std_Solution (F_Std_Solution),
KEY F_Accepted (F_Accepted),
KEY F_Date (F_Date),
KEY F_Thread_owner (F_Thread_owner),
KEY F_Modified_by (F_Modified_by),
KEY F_Modification_date (F_Modification_date),
KEY F_Assign_date (F_Assign_date),
KEY F_Assigned_to (F_Assigned_to,F_State)
) TYPE=MyISAM;
# It is to see that ID exists in this table
select ID from tableA;
# Try to alter F_Category field
ALTER TABLE tableA CHANGE COLUMN F_Category F_Category ENUM('Bug',
'tmp_sync_1005859699', '������ ������������', '����� ������', '����������� ������',
'������ �� WEB �������', '������ ������������') NOT NULL DEFAULT 'Bug';
# It is to see what happens with ID
select ID from tableA;
>Fix:
none
>Submitter-Id: <submitter ID>
>Originator: Max
>Organization:
Integral Solutions Corp.
>MySQL support: none
>Synopsis: autoincrement ID field renamed during changing F_Category ENUM!
>Severity: critical
>Priority: high
>Category: mysql
>Class: sw-bug
>Release: mysql-3.23.44 (Source distribution)
>Environment:
<machine, os, target, libraries (multiple lines)>
System: Linux linux 2.4.14 #4 SMP 9 03:46:13 MSK 2001 i686 unknown
Architecture: i686
Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/specs
gcc version 2.95.3 20010315 (SuSE)
Compilation info: CC='gcc' CFLAGS='' CXX='c++' CXXFLAGS='' LDFLAGS=''
LIBC:
-rwxr-xr-x 1 root root 1384168 20 07:52 /lib/libc.so.6
-rw-r--r-- 1 root root 25215580 20 07:28 /usr/lib/libc.a
-rw-r--r-- 1 root root 178 20 07:28 /usr/lib/libc.so
Configure command: ./configure --prefix=/usr/home/isc/mysql
--localstatedir=/usr/home/isc/mysql/data --with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static --with-berkeley-db --with-innodb --with-libwrap
--with-extra-charset=all --with-charset=cp1251
---------------------------------------------------------------------
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