Commit 0cd51b1a authored by unknown's avatar unknown
Browse files

Merge mysql.com:/usr/home/bar/mysql-4.1.b19741

into  mysql.com:/usr/home/bar/mysql-5.0.b19741merge


strings/ctype-win1250ch.c:
  Coding style fix
parents 131f9a71 ef601901
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -42,3 +42,11 @@ id str
6	aaaaaa
7	aaaaaaa
drop table t1;
set names cp1250;
create table t1 (a varchar(15) collate cp1250_czech_cs NOT NULL, primary key(a));
insert into t1 values("abcdefgh");
insert into t1 values("");
select a from t1 where a like "abcdefgh";
a
abcdefgh
drop table t1;
+10 −0
Original line number Diff line number Diff line
@@ -44,4 +44,14 @@ INSERT INTO t1 VALUES (NULL, 'aaaaaaa');
select * from t1 where str like 'aa%';
drop table t1;

#
# Bug#19741 segfault with cp1250 charset + like + primary key + 64bit os
#
set names cp1250;
create table t1 (a varchar(15) collate cp1250_czech_cs NOT NULL, primary key(a));
insert into t1 values("abcdefgh");
insert into t1 values("");
select a from t1 where a like "abcdefgh";
drop table t1;

# End of 4.1 tests
+2 −2
Original line number Diff line number Diff line
@@ -636,11 +636,11 @@ my_like_range_win1250ch(CHARSET_INFO *cs __attribute__((unused)),
      ptr++;					/* Skip escape */
    else if (*ptr == w_one || *ptr == w_many)	/* '_' or '%' in SQL */
      break;
    *min_str = like_range_prefix_min_win1250ch[(uint)(*ptr)];
    *min_str= like_range_prefix_min_win1250ch[(uint) (uchar) (*ptr)];
    if (*min_str != min_sort_char)
      only_min_found= 0;
    min_str++;
    *max_str++= like_range_prefix_max_win1250ch[(uint)(*ptr)];
    *max_str++= like_range_prefix_max_win1250ch[(uint) (uchar) (*ptr)];
  }

  if (cs->state & MY_CS_BINSORT)