1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Update for OS2 (patch from Yuri Dario).

Use LONG_TIMEOUT (one year) instead of ~0 for long timeouts
Fixed error messages.
Fixed problem with const propagation when comparing columns of different types


BitKeeper/deleted/.del-.cvsignore~a91d63182f0b2366:
  Delete: sql/share/norwegian/.cvsignore
BitKeeper/deleted/.del-.cvsignore~469064b5190d703d:
  Delete: sql/share/norwegian-ny/.cvsignore
Docs/manual.texi:
  Changelog
client/client_priv.h:
  Update for OS2
client/mysqldump.c:
  Update for OS2
include/mysqld_error.h:
  Updated error texts
isam/create.c:
  Removed warning
myisam/myisamchk.c:
  Fix for OS2
myisam/myisampack.c:
  Fix for OS2
mysys/mf_cache.c:
  Fix for OS2
mysys/mf_tempfile.c:
  Fix for OS2
mysys/my_os2file64.c:
  Fix for OS2
mysys/my_tempnam.c:
  Fix for OS2
os2/ChangeLog.os2:
  Fix for OS2
os2/MySQL-Client.icc:
  Fix for OS2
os2/MySQL-Opt.icc:
  Fix for OS2
os2/MySQL-Source.icc:
  Fix for OS2
os2/MySQL-Sql.icc:
  Fix for OS2
os2/MySQL-Util.icc:
  Fix for OS2
sql/mysqld.cc:
  Use LONG_TIMEOUT (one year) instead of ~0 for long timeouts. This avoids some problems when users spefices wrong arguments to mysqld.
sql/nt_servc.cc:
  C
sql/share/czech/errmsg.txt:
  Updated error texts
sql/share/danish/errmsg.txt:
  Updated error texts
sql/share/dutch/errmsg.txt:
  Updated error texts
sql/share/english/errmsg.txt:
  Updated error texts
sql/share/estonian/errmsg.txt:
  Updated error texts
sql/share/french/errmsg.txt:
  Updated error texts
sql/share/german/errmsg.txt:
  Updated error texts
sql/share/greek/errmsg.txt:
  Updated error texts
sql/share/hungarian/errmsg.txt:
  Updated error texts
sql/share/italian/errmsg.txt:
  Updated error texts
sql/share/japanese/errmsg.txt:
  Updated error texts
sql/share/korean/errmsg.txt:
  Updated error texts
sql/share/norwegian-ny/errmsg.txt:
  Updated error texts
sql/share/norwegian/errmsg.txt:
  Updated error texts
sql/share/polish/errmsg.txt:
  Updated error texts
sql/share/portuguese/errmsg.txt:
  Updated error texts
sql/share/romanian/errmsg.txt:
  Updated error texts
sql/share/russian/errmsg.txt:
  Updated error texts
sql/share/slovak/errmsg.txt:
  Updated error texts
sql/share/spanish/errmsg.txt:
  Updated error texts
sql/share/swedish/errmsg.txt:
  Updated error texts
sql/share/ukrainian/errmsg.txt:
  Updated error texts
sql/sql_select.cc:
  Fixed problem with const propagation when comparing columns of different types.
  Fixed bug when HEAP table is converted to MyISAM tables in GROUP BY on long strings.
This commit is contained in:
unknown
2001-10-31 03:22:31 +02:00
parent bacf546eaa
commit 4765ab612c
51 changed files with 1442 additions and 665 deletions

View File

@ -2942,7 +2942,9 @@ propagate_cond_constants(I_List<COND_CMP> *save_list,COND *and_level,
Item_func_eq *func=(Item_func_eq*) cond;
bool left_const= func->arguments()[0]->const_item();
bool right_const=func->arguments()[1]->const_item();
if (!(left_const && right_const))
if (!(left_const && right_const) &&
(func->arguments()[0]->result_type() ==
(func->arguments()[1]->result_type())))
{
if (right_const)
{
@ -3986,14 +3988,17 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure)
{
if (table->group && join->tmp_table_param.sum_func_count)
{
DBUG_PRINT("info",("Using end_update"));
if (table->keys)
{
DBUG_PRINT("info",("Using end_update"));
end_select=end_update;
table->file->index_init(0);
}
else
{
DBUG_PRINT("info",("Using end_unique_update"));
end_select=end_unique_update;
}
}
else if (join->sort_and_group)
{
@ -4109,8 +4114,6 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records)
int error;
bool found=0;
COND *on_expr=join_tab->on_expr, *select_cond=join_tab->select_cond;
int (*next_select)(JOIN *,struct st_join_table *,bool)=
join_tab->next_select;
if (!(error=(*join_tab->read_first_record)(join_tab)))
{
@ -4134,7 +4137,7 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records)
break; // Searching after not null columns
if (!select_cond || select_cond->val_int())
{
if ((error=(*next_select)(join,join_tab+1,0)) < 0)
if ((error=(*join_tab->next_select)(join,join_tab+1,0)) < 0)
return error;
if (not_used_in_distinct && found_records != join->found_records)
return 0;
@ -4155,7 +4158,7 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records)
mark_as_null_row(join_tab->table); // For group by without error
if (!select_cond || select_cond->val_int())
{
if ((error=(*next_select)(join,join_tab+1,0)) < 0)
if ((error=(*join_tab->next_select)(join,join_tab+1,0)) < 0)
return error; /* purecov: inspected */
}
}