mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 18:20:07 +01:00
Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2023/mysql-4.0
This commit is contained in:
commit
cbc18a76c8
3 changed files with 23 additions and 2 deletions
|
@ -1636,3 +1636,13 @@ t1 CREATE TABLE `t1` (
|
|||
`a` enum('','a','b') NOT NULL default 'b'
|
||||
) TYPE=MyISAM
|
||||
drop table t1;
|
||||
create table t1 (a enum ('0','1'));
|
||||
insert into t1 set a='foobar';
|
||||
select * from t1;
|
||||
a
|
||||
|
||||
update t1 set a = replace(a,'x','y');
|
||||
select * from t1;
|
||||
a
|
||||
|
||||
drop table t1;
|
||||
|
|
|
@ -21,3 +21,14 @@ drop table t1;
|
|||
create table t1 (a enum (' ','a','b ') not null default 'b ');
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Tests of wrong enum values (bug #2023)
|
||||
#
|
||||
|
||||
create table t1 (a enum ('0','1'));
|
||||
insert into t1 set a='foobar';
|
||||
select * from t1;
|
||||
update t1 set a = replace(a,'x','y');
|
||||
select * from t1;
|
||||
drop table t1;
|
|
@ -4623,7 +4623,7 @@ void Field_enum::store(const char *from,uint length)
|
|||
uint tmp=find_enum(typelib,from,length);
|
||||
if (!tmp)
|
||||
{
|
||||
if (length < 6) // Can't be more than 99999 enums
|
||||
if (length < 6) // Can't be more than 99999 enums
|
||||
{
|
||||
/* This is for reading numbers with LOAD DATA INFILE */
|
||||
char buff[7], *end;
|
||||
|
@ -4721,7 +4721,7 @@ String *Field_enum::val_str(String *val_buffer __attribute__((unused)),
|
|||
{
|
||||
uint tmp=(uint) Field_enum::val_int();
|
||||
if (!tmp || tmp > typelib->count)
|
||||
val_ptr->length(0);
|
||||
val_ptr->set((char*)"",0);
|
||||
else
|
||||
val_ptr->set((const char*) typelib->type_names[tmp-1],
|
||||
(uint) strlen(typelib->type_names[tmp-1]));
|
||||
|
|
Loading…
Add table
Reference in a new issue