mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 10.1 into 10.2
This commit is contained in:
@ -6587,6 +6587,7 @@ store_natural_using_join_columns(THD *thd, TABLE_LIST *natural_using_join,
|
||||
Query_arena *arena, backup;
|
||||
bool result= TRUE;
|
||||
List<Natural_join_column> *non_join_columns;
|
||||
List<Natural_join_column> *join_columns;
|
||||
DBUG_ENTER("store_natural_using_join_columns");
|
||||
|
||||
DBUG_ASSERT(!natural_using_join->join_columns);
|
||||
@ -6594,7 +6595,7 @@ store_natural_using_join_columns(THD *thd, TABLE_LIST *natural_using_join,
|
||||
arena= thd->activate_stmt_arena_if_needed(&backup);
|
||||
|
||||
if (!(non_join_columns= new List<Natural_join_column>) ||
|
||||
!(natural_using_join->join_columns= new List<Natural_join_column>))
|
||||
!(join_columns= new List<Natural_join_column>))
|
||||
goto err;
|
||||
|
||||
/* Append the columns of the first join operand. */
|
||||
@ -6603,7 +6604,7 @@ store_natural_using_join_columns(THD *thd, TABLE_LIST *natural_using_join,
|
||||
nj_col_1= it_1.get_natural_column_ref();
|
||||
if (nj_col_1->is_common)
|
||||
{
|
||||
natural_using_join->join_columns->push_back(nj_col_1, thd->mem_root);
|
||||
join_columns->push_back(nj_col_1, thd->mem_root);
|
||||
/* Reset the common columns for the next call to mark_common_columns. */
|
||||
nj_col_1->is_common= FALSE;
|
||||
}
|
||||
@ -6624,7 +6625,7 @@ store_natural_using_join_columns(THD *thd, TABLE_LIST *natural_using_join,
|
||||
{
|
||||
const char *using_field_name_ptr= using_field_name->c_ptr();
|
||||
List_iterator_fast<Natural_join_column>
|
||||
it(*(natural_using_join->join_columns));
|
||||
it(*join_columns);
|
||||
Natural_join_column *common_field;
|
||||
|
||||
for (;;)
|
||||
@ -6657,7 +6658,8 @@ store_natural_using_join_columns(THD *thd, TABLE_LIST *natural_using_join,
|
||||
}
|
||||
|
||||
if (non_join_columns->elements > 0)
|
||||
natural_using_join->join_columns->append(non_join_columns);
|
||||
join_columns->append(non_join_columns);
|
||||
natural_using_join->join_columns= join_columns;
|
||||
natural_using_join->is_join_columns_complete= TRUE;
|
||||
|
||||
result= FALSE;
|
||||
@ -6889,7 +6891,6 @@ static bool setup_natural_join_row_types(THD *thd,
|
||||
DBUG_PRINT("info", ("using cached setup_natural_join_row_types"));
|
||||
DBUG_RETURN(false);
|
||||
}
|
||||
context->select_lex->first_natural_join_processing= false;
|
||||
|
||||
List_iterator_fast<TABLE_LIST> table_ref_it(*from_clause);
|
||||
TABLE_LIST *table_ref; /* Current table reference. */
|
||||
@ -6934,6 +6935,7 @@ static bool setup_natural_join_row_types(THD *thd,
|
||||
change on re-execution
|
||||
*/
|
||||
context->natural_join_first_table= context->first_name_resolution_table;
|
||||
context->select_lex->first_natural_join_processing= false;
|
||||
DBUG_RETURN (false);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user