Commit 98cc967d authored by unknown's avatar unknown
Browse files

Merge bk-internal:/home/bk/mysql-5.0-maint

into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint

parents 7bcd1f9f f202c9d2
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -5,8 +5,13 @@
45001f7c3b2hhCXDKfUvzkX9TNe6VA
45002051rHJfMEXAIMiAZV0clxvKSA
4513d8e4Af4dQWuk13sArwofRgFDQw
45143312u0Tz4r0wPXCbUKwdHa2jWA
45143b90ewOQuTW8-jrB3ZSAQvMRJw
45184588w9U72A6KX1hUFeAC4shSHA
45185df8mZbxfp85FbA0VxUXkmDewA
4519a6c5BVUxEHTf5iJnjZkixMBs8g
451ab499rgdjXyOnUDqHu-wBDoS-OQ
451b110a3ZV6MITl93ehXk2wxrbW7g
45214442pBGT9KuZEGixBH71jTzbOA
45214a07hVsIGwvwa-WrO-jpeaSwVw
452a92d0-31-8wSzSfZi165fcGcXPA
+10 −0
Original line number Diff line number Diff line
@@ -79,6 +79,16 @@ uncompress(a) uncompressed_length(a)
NULL	NULL
a	1
drop table t1;
create table t1(a blob);
insert into t1 values ('0'), (NULL), ('0');
select compress(a), compress(a) from t1;
select compress(a) is null from t1;
compress(a) is null
0
1
0
drop table t1;
End of 4.1 tests
create table t1 (a varchar(32) not null);
insert into t1 values ('foo');
explain select * from t1 where uncompress(a) is null;
+13 −1
Original line number Diff line number Diff line
@@ -56,7 +56,19 @@ insert into t1 values(NULL), (compress('a'));
select uncompress(a), uncompressed_length(a) from t1;
drop table t1;

# End of 4.1 tests
#
# Bug #23254: problem with compress(NULL)
#

create table t1(a blob);
insert into t1 values ('0'), (NULL), ('0');
--disable_result_log
select compress(a), compress(a) from t1;
--enable_result_log
select compress(a) is null from t1;
drop table t1;

--echo End of 4.1 tests

#
# Bug #18539: uncompress(d) is null: impossible?
+1 −0
Original line number Diff line number Diff line
@@ -2965,6 +2965,7 @@ String *Item_func_compress::val_str(String *str)
    null_value= 1;
    return 0;
  }
  null_value= 0;
  if (res->is_empty()) return res;

  /*
+23 −0
Original line number Diff line number Diff line
@@ -651,6 +651,17 @@ db_drop_routine(THD *thd, int type, sp_name *name)
    if (table->file->delete_row(table->record[0]))
      ret= SP_DELETE_ROW_FAILED;
  }

  if (ret == SP_OK)
  {
    if (mysql_bin_log.is_open())
    {
      thd->clear_error();
      Query_log_event qinfo(thd, thd->query, thd->query_length, 0, FALSE);
      mysql_bin_log.write(&qinfo);
    }
  }

  close_thread_tables(thd);
  DBUG_RETURN(ret);
}
@@ -686,6 +697,17 @@ db_update_routine(THD *thd, int type, sp_name *name, st_sp_chistics *chistics)
    if ((table->file->update_row(table->record[1],table->record[0])))
      ret= SP_WRITE_ROW_FAILED;
  }

  if (ret == SP_OK)
  {
    if (mysql_bin_log.is_open())
    {
      thd->clear_error();
      Query_log_event qinfo(thd, thd->query, thd->query_length, 0, FALSE);
      mysql_bin_log.write(&qinfo);
    }
  }

  close_thread_tables(thd);
  DBUG_RETURN(ret);
}
@@ -764,6 +786,7 @@ print_field_values(THD *thd, TABLE *table,
	return SP_INTERNAL_ERROR;
    }
  }

  return SP_OK;
}

Loading