mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user