Commit b9dbef8e authored by joreland@mysql.com's avatar joreland@mysql.com

Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/home/jonas/src/mysql-4.1
parents afc10d51 4f814483
...@@ -470,3 +470,13 @@ select s1 from t1 where s1 > 'a' order by s1; ...@@ -470,3 +470,13 @@ select s1 from t1 where s1 > 'a' order by s1;
s1 s1
b b
c c
drop table t1;
create table t1(a char(1)) default charset = ucs2;
insert into t1 values ('a'),('b'),('c');
alter table t1 modify a char(5);
select a, hex(a) from t1;
a hex(a)
a 0061
b 0062
c 0063
drop table t1;
...@@ -303,4 +303,15 @@ DROP TABLE t1; ...@@ -303,4 +303,15 @@ DROP TABLE t1;
create table t1 (s1 char character set `ucs2` collate `ucs2_czech_ci`); create table t1 (s1 char character set `ucs2` collate `ucs2_czech_ci`);
insert into t1 values ('0'),('1'),('2'),('a'),('b'),('c'); insert into t1 values ('0'),('1'),('2'),('a'),('b'),('c');
select s1 from t1 where s1 > 'a' order by s1; select s1 from t1 where s1 > 'a' order by s1;
drop table t1;
#
# Bug #5081 : UCS2 fields are filled with '0x2020'
# after extending field length
#
create table t1(a char(1)) default charset = ucs2;
insert into t1 values ('a'),('b'),('c');
alter table t1 modify a char(5);
select a, hex(a) from t1;
drop table t1;
...@@ -83,7 +83,7 @@ public: ...@@ -83,7 +83,7 @@ public:
static Uint32 LoadConst64(Uint32 Register); // Value in next 2 words static Uint32 LoadConst64(Uint32 Register); // Value in next 2 words
static Uint32 Add(Uint32 DstReg, Uint32 SrcReg1, Uint32 SrcReg2); static Uint32 Add(Uint32 DstReg, Uint32 SrcReg1, Uint32 SrcReg2);
static Uint32 Sub(Uint32 DstReg, Uint32 SrcReg1, Uint32 SrcReg2); static Uint32 Sub(Uint32 DstReg, Uint32 SrcReg1, Uint32 SrcReg2);
static Uint32 Branch(Uint32 Inst, Uint32 R1, Uint32 R2); static Uint32 Branch(Uint32 Inst, Uint32 Reg1, Uint32 Reg2);
static Uint32 ExitOK(); static Uint32 ExitOK();
/** /**
...@@ -184,8 +184,8 @@ Interpreter::Sub(Uint32 Dcoleg, Uint32 SrcReg1, Uint32 SrcReg2){ ...@@ -184,8 +184,8 @@ Interpreter::Sub(Uint32 Dcoleg, Uint32 SrcReg1, Uint32 SrcReg2){
inline inline
Uint32 Uint32
Interpreter::Branch(Uint32 Inst, Uint32 R1, Uint32 R2){ Interpreter::Branch(Uint32 Inst, Uint32 Reg1, Uint32 Reg2){
return (R1 << 9) + (R2 << 6) + Inst; return (Reg1 << 9) + (Reg2 << 6) + Inst;
} }
inline inline
......
...@@ -176,7 +176,7 @@ public: ...@@ -176,7 +176,7 @@ public:
/** /**
* Trim string from <i>delim</i> * Trim string from <i>delim</i>
*/ */
static char* trim(char * src, const char * delim = " \t"); static char* trim(char * src, const char * delim);
private: private:
char* m_chr; char* m_chr;
unsigned m_len; unsigned m_len;
......
...@@ -340,8 +340,10 @@ static void do_cut_string(Copy_field *copy) ...@@ -340,8 +340,10 @@ static void do_cut_string(Copy_field *copy)
static void do_expand_string(Copy_field *copy) static void do_expand_string(Copy_field *copy)
{ {
CHARSET_INFO *cs= copy->from_field->charset();
memcpy(copy->to_ptr,copy->from_ptr,copy->from_length); memcpy(copy->to_ptr,copy->from_ptr,copy->from_length);
bfill(copy->to_ptr+copy->from_length,copy->to_length-copy->from_length,' '); cs->cset->fill(cs, copy->to_ptr+copy->from_length,
copy->to_length-copy->from_length, ' ');
} }
static void do_varstring(Copy_field *copy) static void do_varstring(Copy_field *copy)
......
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