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
|
ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
|
||||||
create table t1(a varbinary(65537));
|
create table t1(a varbinary(65537));
|
||||||
ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
|
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));
|
create table t1(a varchar(65537));
|
||||||
--error 1074
|
--error 1074
|
||||||
create table t1(a varbinary(65537));
|
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
|
else
|
||||||
interval=0;
|
interval=0;
|
||||||
def=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)
|
old_field->ptr && orig_field)
|
||||||
{
|
{
|
||||||
char buff[MAX_FIELD_WIDTH],*pos;
|
char buff[MAX_FIELD_WIDTH],*pos;
|
||||||
|
Reference in New Issue
Block a user