Commit ee226913 authored by Sinisa@sinisa.nasamreza.org's avatar Sinisa@sinisa.nasamreza.org
Browse files

Merge sinisa@work.mysql.com:/home/bk/mysql

into sinisa.nasamreza.org:/mnt/work/mysql
parents 70b97a98 8ebc9834
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -40,3 +40,7 @@ fcase count(*)
nothing	2
one	1
two	1
color
orange
yellow
green
+5 −0
Original line number Diff line number Diff line
@@ -30,3 +30,8 @@ insert into t1 values(1),(2),(3),(4);
select case a when 1 then 2 when 2 then 3 else 0 end as fcase, count(*) from t1 group by fcase;
select case a when 1 then "one" when 2 then "two" else "nothing" end as fcase, count(*) from t1 group by fcase;
drop table t1;
drop table if exists t;
create table t1 (row int not null, col int not null, val varchar(255) not null);
insert into t1 values (1,1,'orange'),(1,2,'large'),(2,1,'yellow'),(2,2,'medium'),(3,1,'green'),(3,2,'small');
select max(case col when 1 then val else null end) as color from t1 group by row;
drop table if exists t;
+2 −0
Original line number Diff line number Diff line
@@ -687,6 +687,8 @@ String *Item_func_case::val_str(String *str)
  }
  if (!(res=item->val_str(str)))
    null_value=1;
  else
    null_value=item->null_value;
  return res;
}

+3 −2
Original line number Diff line number Diff line
@@ -323,6 +323,9 @@ bool mysql_change_db(THD *thd,const char *name)
  uint db_access;
  DBUG_ENTER("mysql_change_db");

  if (lower_case_table_names)
    casedn_str(dbname);

  if (!dbname || !(length=strip_sp(dbname)))
  {
    x_free(dbname);				/* purecov: inspected */
@@ -368,8 +371,6 @@ bool mysql_change_db(THD *thd,const char *name)
  }
  send_ok(&thd->net);
  x_free(thd->db);
  if (lower_case_table_names)
    casedn_str(dbname);
  thd->db=dbname;
  thd->db_access=db_access;
  DBUG_RETURN(0);