My Project
opt_explain.h
00001 /* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
00002 
00003    This program is free software; you can redistribute it and/or modify
00004    it under the terms of the GNU General Public License as published by
00005    the Free Software Foundation; version 2 of the License.
00006 
00007    This program is distributed in the hope that it will be useful,
00008    but WITHOUT ANY WARRANTY; without even the implied warranty of
00009    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00010    GNU General Public License for more details.
00011 
00012    You should have received a copy of the GNU General Public License
00013    along with this program; if not, write to the Free Software Foundation,
00014    51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
00015 
00016 
00017 #ifndef OPT_EXPLAIN_INCLUDED
00018 #define OPT_EXPLAIN_INCLUDED
00019 
00048 #include <my_base.h>
00049 
00050 class JOIN;
00051 class select_result;
00052 class select_result_interceptor;
00053 class SQL_SELECT;
00054 struct TABLE;
00055 class THD;
00056 
00057 
00058 extern const char *join_type_str[];
00059 
00060 bool explain_no_table(THD *thd, JOIN *join, const char *message);
00061 bool explain_no_table(THD *thd, const char *message,
00062                       ha_rows rows= HA_POS_ERROR);
00063 bool explain_single_table_modification(THD *thd,
00064                                        TABLE *table,
00065                                        const SQL_SELECT *select,
00066                                        uint key,
00067                                        ha_rows limit,
00068                                        bool need_tmp_table,
00069                                        bool need_sort,
00070                                        bool is_update,
00071                                        bool used_key_is_modified= false);
00072 bool explain_query_specification(THD *thd, JOIN *join);
00073 bool explain_multi_table_modification(THD *thd,
00074                                       select_result_interceptor *result);
00075 bool explain_query_expression(THD *thd, select_result *result);
00076 
00077 #endif /* OPT_EXPLAIN_INCLUDED */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines