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
commitbd60794fd8e532616f5b5f6d2200af0f4c7bc5ef (patch)
treeab9b420b768d8a6eb5ccda680604108cfee71b81 /sql/sql_select.h
parent6b684c5806e0728b42c5c0ab7ae9939ab9dfec93 (diff)
parent03bf73de2fc2df414cafff03c8aaf3a58a3e7e48 (diff)
downloadmariadb-git-bd60794fd8e532616f5b5f6d2200af0f4c7bc5ef.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);
};