mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Main patch for mdev-9864
This commit is contained in:
@@ -4196,6 +4196,7 @@ protected:
|
||||
/* Something used only by the parser: */
|
||||
public:
|
||||
select_result(THD *thd_arg): select_result_sink(thd_arg) {}
|
||||
void set_unit(SELECT_LEX_UNIT *unit_arg) { unit= unit_arg; }
|
||||
virtual ~select_result() {};
|
||||
/**
|
||||
Change wrapped select_result.
|
||||
@@ -4637,6 +4638,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class select_union :public select_result_interceptor
|
||||
{
|
||||
public:
|
||||
@@ -4674,6 +4676,25 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class select_union_recursive :public select_union
|
||||
{
|
||||
public:
|
||||
TABLE *incr_table;
|
||||
List<TABLE> rec_tables;
|
||||
|
||||
select_union_recursive(THD *thd_arg):
|
||||
select_union(thd_arg), incr_table(0) {};
|
||||
|
||||
int send_data(List<Item> &items);
|
||||
bool create_result_table(THD *thd, List<Item> *column_types,
|
||||
bool is_distinct, ulonglong options,
|
||||
const char *alias,
|
||||
bool bit_fields_as_long,
|
||||
bool create_table,
|
||||
bool keep_row_order= FALSE);
|
||||
void cleanup();
|
||||
};
|
||||
|
||||
/**
|
||||
UNION result that is passed directly to the receiving select_result
|
||||
without filling a temporary table.
|
||||
|
||||
Reference in New Issue
Block a user