summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index a6aee4db341..4bbe5ce9141 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -1807,7 +1807,7 @@ int JOIN::init_join_caches()
int
JOIN::optimize_inner()
{
- DBUG_ENTER("JOIN::optimize");
+ DBUG_ENTER("JOIN::optimize_inner");
subq_exit_fl= false;
do_send_rows = (unit->select_limit_cnt) ? 1 : 0;
@@ -1880,6 +1880,10 @@ JOIN::optimize_inner()
table_count= select_lex->leaf_tables.elements;
+ if (select_lex->options & OPTION_SCHEMA_TABLE &&
+ optimize_schema_tables_memory_usage(select_lex->leaf_tables))
+ DBUG_RETURN(1);
+
if (setup_ftfuncs(select_lex)) /* should be after having->fix_fields */
DBUG_RETURN(-1);