MySQL  8.0.27
Source Code Documentation
sql_union.cc File Reference
#include "sql/sql_union.h"
#include <sys/types.h>
#include <algorithm>
#include <atomic>
#include <cstdio>
#include <cstdlib>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "my_alloc.h"
#include "my_base.h"
#include "my_dbug.h"
#include "my_sqlcommand.h"
#include "my_sys.h"
#include "mysql/udf_registration_types.h"
#include "mysqld_error.h"
#include "prealloced_array.h"
#include "scope_guard.h"
#include "sql/auth/auth_acls.h"
#include "sql/basic_row_iterators.h"
#include "sql/composite_iterators.h"
#include "sql/current_thd.h"
#include "sql/debug_sync.h"
#include "sql/field.h"
#include "sql/handler.h"
#include "sql/item.h"
#include "sql/item_subselect.h"
#include "sql/item_sum.h"
#include "sql/join_optimizer/access_path.h"
#include "sql/join_optimizer/explain_access_path.h"
#include "sql/join_optimizer/join_optimizer.h"
#include "sql/mem_root_array.h"
#include "sql/mysqld.h"
#include "sql/opt_explain.h"
#include "sql/opt_explain_format.h"
#include "sql/opt_trace.h"
#include "sql/parse_tree_node_base.h"
#include "sql/parse_tree_nodes.h"
#include "sql/pfs_batch_mode.h"
#include "sql/protocol.h"
#include "sql/query_options.h"
#include "sql/row_iterator.h"
#include "sql/sql_base.h"
#include "sql/sql_class.h"
#include "sql/sql_cmd.h"
#include "sql/sql_const.h"
#include "sql/sql_error.h"
#include "sql/sql_executor.h"
#include "sql/sql_lex.h"
#include "sql/sql_list.h"
#include "sql/sql_optimizer.h"
#include "sql/sql_select.h"
#include "sql/sql_tmp_table.h"
#include "sql/table_function.h"
#include "sql/thd_raii.h"
#include "sql/timing_iterator.h"
#include "sql/window.h"
#include "template_utils.h"

Classes

class  Query_result_union_direct
 This class is effectively dead. More...
 
class  Change_current_query_block
 RAII class to automate saving/restoring of current_query_block() More...
 

Functions

static bool finalize_full_text_functions (THD *thd, Query_expression *query_expression)
 Finalizes the initialization of all the full-text functions used in the given query expression, and recursively in every query expression inner to the given one. More...
 
static void remove_materialized (TABLE_LIST *list)
 Closes (and, if last reference, drops) temporary tables created to materialize derived tables, schema tables and CTEs. More...
 
static void destroy_materialized (TABLE_LIST *list)
 Destroy temporary tables created to materialize derived tables, schema tables and CTEs. More...
 

Function Documentation

◆ destroy_materialized()

static void destroy_materialized ( TABLE_LIST list)
static

Destroy temporary tables created to materialize derived tables, schema tables and CTEs.

Parameters
listList of tables to search in

◆ finalize_full_text_functions()

static bool finalize_full_text_functions ( THD thd,
Query_expression query_expression 
)
static

Finalizes the initialization of all the full-text functions used in the given query expression, and recursively in every query expression inner to the given one.

We do this fairly late, since we need to know whether or not the full-text function is to be used for a full-text index scan, and whether or not that scan is sorted. When the iterators have been created, we know that the final decision has been made, so we do it right after the iterators have been created.

◆ remove_materialized()

static void remove_materialized ( TABLE_LIST list)
static

Closes (and, if last reference, drops) temporary tables created to materialize derived tables, schema tables and CTEs.

Parameters
listList of tables to search in