Commit f4cd03d0 authored by unknown's avatar unknown

a fix (bug #9881: ALTER TABLE gives wrong error message with sql-mode TRADITIONAL).


sql/field.cc:
  a fix (bug #9881: ALTER TABLE gives wrong error message with sql-mode TRADITIONAL).
  Don't set def if NO_DEFAULT_VALUE_FLAG is set.
parent 908ff34e
......@@ -1235,3 +1235,13 @@ create table t1(a varchar(65537));
ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
create table t1(a varbinary(65537));
ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
set @@sql_mode='traditional';
create table t1(a int, b date not null);
alter table t1 modify a bigint unsigned not null;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(20) unsigned NOT NULL,
`b` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
......@@ -1093,3 +1093,13 @@ set @@sql_mode='traditional';
create table t1(a varchar(65537));
--error 1074
create table t1(a varbinary(65537));
#
# Bug #9881: problem with altering table
#
set @@sql_mode='traditional';
create table t1(a int, b date not null);
alter table t1 modify a bigint unsigned not null;
show create table t1;
drop table t1;
......@@ -8487,7 +8487,8 @@ create_field::create_field(Field *old_field,Field *orig_field)
else
interval=0;
def=0;
if (!old_field->is_real_null() && ! (flags & BLOB_FLAG) &&
if (!(flags & NO_DEFAULT_VALUE_FLAG) &&
!old_field->is_real_null() && ! (flags & BLOB_FLAG) &&
old_field->ptr && orig_field)
{
char buff[MAX_FIELD_WIDTH],*pos;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment