diff options
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 62651145481..a832deccd57 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -3056,6 +3056,13 @@ bool select_materialize_with_stats::send_data(List<Item> &items) Column_statistics *cur_col_stat= col_stat; uint nulls_in_row= 0; + if (select_union::send_data(items)) + return 1; + /* Skip duplicate rows. */ + if (write_err == HA_ERR_FOUND_DUPP_KEY || + write_err == HA_ERR_FOUND_DUPP_UNIQUE) + return 0; + ++count_rows; while ((cur_item= item_it++)) @@ -3073,7 +3080,7 @@ bool select_materialize_with_stats::send_data(List<Item> &items) if (nulls_in_row > max_nulls_in_row) max_nulls_in_row= nulls_in_row; - return select_union::send_data(items); + return 0; } |