summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorAlexander Nozdrin <alik@sun.com>2009-10-19 17:36:19 +0400
committerAlexander Nozdrin <alik@sun.com>2009-10-19 17:36:19 +0400
commit3fd2f50b6c24a41cc9840c32eeca56175d48a566 (patch)
treeab9b420b768d8a6eb5ccda680604108cfee71b81 /sql/sql_select.h
parent1c3de291f72f0f05c9ae688dcf8d7d2de972ced8 (diff)
parentb930b18ec3463e47736647c26af0eea07c242a63 (diff)
downloadmariadb-git-3fd2f50b6c24a41cc9840c32eeca56175d48a566.tar.gz
Merge from mysql-trunk-merge.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index bb751c600ed..4eb6548d23b 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -283,7 +283,14 @@ public:
TABLE **table,**all_tables,*sort_by_table;
uint tables,const_tables;
uint send_group_parts;
- bool sort_and_group,first_record,full_join,group, no_field_update;
+ /**
+ Indicates that grouping will be performed on the result set during
+ query execution. This field belongs to query execution.
+
+ @see make_group_fields, alloc_group_fields, JOIN::exec
+ */
+ bool sort_and_group;
+ bool first_record,full_join,group, no_field_update;
bool do_send_rows;
/**
TRUE when we want to resume nested loop iterations when
@@ -362,6 +369,8 @@ public:
simple_xxxxx is set if ORDER/GROUP BY doesn't include any references
to other tables than the first non-constant table in the JOIN.
It's also set if ORDER/GROUP BY is empty.
+ Used for deciding for or against using a temporary table to compute
+ GROUP/ORDER BY.
*/
bool simple_order, simple_group;
/**
@@ -431,6 +440,7 @@ public:
tables= 0;
const_tables= 0;
join_list= 0;
+ implicit_grouping= FALSE;
sort_and_group= 0;
first_record= 0;
do_send_rows= 1;
@@ -536,6 +546,11 @@ public:
select_lex == unit->fake_select_lex));
}
private:
+ /**
+ TRUE if the query contains an aggregate function but has no GROUP
+ BY clause.
+ */
+ bool implicit_grouping;
bool make_simple_join(JOIN *join, TABLE *tmp_table);
};