MySQL 8.0.29
Source Code Documentation
materialize_path_parameters.h
Go to the documentation of this file.
1/* Copyright (c) 2020, 2021, Oracle and/or its affiliates.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License, version 2.0,
5 as published by the Free Software Foundation.
6
7 This program is also distributed with certain software (including
8 but not limited to OpenSSL) that is licensed under separate terms,
9 as designated in a particular file or component or in included license
10 documentation. The authors of MySQL hereby grant you an additional
11 permission to link the program and your derivative works with the
12 separately licensed software that they have included with MySQL.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License, version 2.0, for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22
23#ifndef MATERIALIZE_PATH_PARAMETERS_H
24#define MATERIALIZE_PATH_PARAMETERS_H 1
25
26// Split out into its own file to reduce the amount of dependencies on
27// access_path.h.
28
29#include "sql/mem_root_array.h"
30#include "sql/sql_class.h"
31
32struct AccessPath;
33struct TABLE;
34class JOIN;
38
40 // Corresponds to MaterializeIterator::QueryBlock; see it for documentation.
41 struct QueryBlock {
49 };
59};
60
61#endif // !defined(MATERIALIZE_PATH_PARAMETERS_H)
After parsing, a Common Table Expression is accessed through a TABLE_LIST.
Definition: table.h:4225
Definition: sql_optimizer.h:125
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:421
This class represents a query expression (one query block or several query blocks combined with UNION...
Definition: sql_lex.h:629
Object containing parameters used when creating and using temporary tables.
Definition: temp_table_param.h:98
my_off_t ha_rows
Definition: my_base.h:1139
Access paths are a query planning structure that correspond 1:1 to iterators, in that an access path ...
Definition: access_path.h:188
Definition: materialize_path_parameters.h:41
int select_number
Definition: materialize_path_parameters.h:43
bool copy_items
Definition: materialize_path_parameters.h:46
Temp_table_param * temp_table_param
Definition: materialize_path_parameters.h:47
bool is_recursive_reference
Definition: materialize_path_parameters.h:48
AccessPath * subquery_path
Definition: materialize_path_parameters.h:42
bool disable_deduplication_by_hash_field
Definition: materialize_path_parameters.h:45
JOIN * join
Definition: materialize_path_parameters.h:44
Definition: materialize_path_parameters.h:39
bool rematerialize
Definition: materialize_path_parameters.h:56
Common_table_expr * cte
Definition: materialize_path_parameters.h:53
bool reject_multiple_rows
Definition: materialize_path_parameters.h:58
ha_rows limit_rows
Definition: materialize_path_parameters.h:57
Mem_root_array< QueryBlock > query_blocks
Definition: materialize_path_parameters.h:50
TABLE * table
Definition: materialize_path_parameters.h:52
int ref_slice
Definition: materialize_path_parameters.h:55
Query_expression * unit
Definition: materialize_path_parameters.h:54
Mem_root_array< const AccessPath * > * invalidators
Definition: materialize_path_parameters.h:51
Definition: table.h:1394