diff options
author | unknown <monty@narttu.mysql.fi> | 2003-05-13 18:58:26 +0300 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-05-13 18:58:26 +0300 |
commit | 61b80c3378a5b6796a85525936e3a0595d7f2182 (patch) | |
tree | b0c44d624533c05fb3586c52901c5d00fe1f3186 /sql/sql_base.cc | |
parent | 931b771546716bfc1b813cc18e38bf4549f56d30 (diff) | |
download | mariadb-git-61b80c3378a5b6796a85525936e3a0595d7f2182.tar.gz |
Fix for UNION and LEFT JOIN (Bug #386)
Fixed wrong logging of Access denied error (Bug #398)
include/my_global.h:
Fix for QNX
mysql-test/r/union.result:
new test case
mysql-test/t/union.test:
Test of bug in union and left join
mysys/my_seek.c:
Safety fix to find out when pos gets a wrong value
sql/field.h:
Fix for UNION and LEFT JOIN
sql/mysql_priv.h:
Fix for UNION and LEFT JOIN
sql/sql_base.cc:
Fix for UNION and LEFT JOIN
sql/sql_insert.cc:
Fix for UNION and LEFT JOIN
sql/sql_parse.cc:
Fixed wrong logging of Access denied error
sql/sql_union.cc:
Fix for UNION and LEFT JOIN
sql/sql_update.cc:
Fix for UNION and LEFT JOIN
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r-- | sql/sql_base.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 4c607bd5698..3bfd5e14d43 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2112,7 +2112,7 @@ int setup_conds(THD *thd,TABLE_LIST *tables,COND **conds) ******************************************************************************/ int -fill_record(List<Item> &fields,List<Item> &values) +fill_record(List<Item> &fields,List<Item> &values, bool ignore_errors) { List_iterator_fast<Item> f(fields),v(values); Item *value; @@ -2122,7 +2122,7 @@ fill_record(List<Item> &fields,List<Item> &values) while ((field=(Item_field*) f++)) { value=v++; - if (value->save_in_field(field->field, 0)) + if (value->save_in_field(field->field, 0) && !ignore_errors) DBUG_RETURN(1); } DBUG_RETURN(0); @@ -2130,7 +2130,7 @@ fill_record(List<Item> &fields,List<Item> &values) int -fill_record(Field **ptr,List<Item> &values) +fill_record(Field **ptr,List<Item> &values, bool ignore_errors) { List_iterator_fast<Item> v(values); Item *value; @@ -2140,7 +2140,7 @@ fill_record(Field **ptr,List<Item> &values) while ((field = *ptr++)) { value=v++; - if (value->save_in_field(field, 0)) + if (value->save_in_field(field, 0) && !ignore_errors) DBUG_RETURN(1); } DBUG_RETURN(0); |