Commit a560a9f3 authored by unknown's avatar unknown

After merge fixes

Review of new pushed code


client/mysqlbinlog.cc:
  After merge fixes
sql/set_var.cc:
  After merge fixes
sql/sql_select.cc:
  Removed not needed test (field->maybe_null() also tests field->table->maybe_null)
parent 4dbc076e
......@@ -805,7 +805,7 @@ static my_time_t convert_str_to_timestamp(const char* str)
int was_cut;
MYSQL_TIME l_time;
long dummy_my_timezone;
bool dummy_in_dst_time_gap;
my_bool dummy_in_dst_time_gap;
/* We require a total specification (date AND time) */
if (str_to_datetime(str, strlen(str), &l_time, 0, &was_cut) !=
MYSQL_TIMESTAMP_DATETIME || was_cut)
......
......@@ -1422,12 +1422,6 @@ bool sys_var_thd_ulong::update(THD *thd, set_var *var)
{
ulonglong tmp= var->save_result.ulonglong_value;
#if SIZEOF_LONG != SIZEOF_LONGLONG
/* Avoid overflow on 32-bit platforms. */
if (tmp > ULONG_MAX)
tmp= ULONG_MAX;
#endif
/* Don't use bigger value than given with --maximum-variable-name=.. */
if ((ulong) tmp > max_system_variables.*offset)
tmp= max_system_variables.*offset;
......@@ -3225,6 +3219,7 @@ byte *sys_var_thd_sql_mode::symbolic_mode_representation(THD *thd, ulong val,
{
char buff[256];
String tmp(buff, sizeof(buff), &my_charset_latin1);
ulong length;
tmp.length(0);
for (uint i= 0; val; val>>= 1, i++)
......@@ -3236,12 +3231,14 @@ byte *sys_var_thd_sql_mode::symbolic_mode_representation(THD *thd, ulong val,
tmp.append(',');
}
}
if (tmp.length())
tmp.length(tmp.length() - 1);
*len= tmp.length();
return (byte*) thd->strmake(tmp.ptr(), tmp.length());
if ((length= tmp.length()))
length--;
*len= length;
return (byte*) thd->strmake(tmp.ptr(), length);
}
byte *sys_var_thd_sql_mode::value_ptr(THD *thd, enum_var_type type,
LEX_STRING *base)
{
......@@ -3260,6 +3257,7 @@ void sys_var_thd_sql_mode::set_default(THD *thd, enum_var_type type)
thd->variables.*offset= global_system_variables.*offset;
}
void fix_sql_mode_var(THD *thd, enum_var_type type)
{
if (type == OPT_GLOBAL)
......
......@@ -2757,11 +2757,9 @@ add_key_field(KEY_FIELD **key_fields,uint and_level, Item_func *cond,
We use null_rejecting in add_not_null_conds() to add
'othertbl.field IS NOT NULL' to tab->select_cond.
*/
(*key_fields)->null_rejecting= (cond->functype() == Item_func::EQ_FUNC) &&
((*value)->type() == Item::FIELD_ITEM) &&
(((Item_field*)*value)->field->maybe_null() ||
((Item_field *)*value)->field->table->maybe_null);
(*key_fields)->null_rejecting= ((cond->functype() == Item_func::EQ_FUNC) &&
((*value)->type() == Item::FIELD_ITEM) &&
((Item_field*)*value)->field->maybe_null());
(*key_fields)++;
}
......
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