summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorGeorgi Kodinov <joro@sun.com>2009-09-28 10:21:25 +0300
committerGeorgi Kodinov <joro@sun.com>2009-09-28 10:21:25 +0300
commit2118bd104c4dd7c2aab0b80fa7053d8a491a90c4 (patch)
tree0600a41e4dca737e1cc98e02c2d8353e5ca4ff5b /sql/sql_select.h
parentdb5c088b456408a1b4bda6f1298ae2ae9b202cac (diff)
downloadmariadb-git-2118bd104c4dd7c2aab0b80fa7053d8a491a90c4.tar.gz
Ported WL#3220 to mysql-next-mr.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index a0366d47149..bb751c600ed 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -218,6 +218,11 @@ typedef struct st_join_table {
(select->quick->get_type() ==
QUICK_SELECT_I::QS_TYPE_GROUP_MIN_MAX));
}
+ bool is_using_agg_loose_index_scan ()
+ {
+ return (is_using_loose_index_scan() &&
+ ((QUICK_GROUP_MIN_MAX_SELECT *)select->quick)->is_agg_distinct());
+ }
} JOIN_TAB;
enum_nested_loop_state sub_select_cache(JOIN *join, JOIN_TAB *join_tab, bool
@@ -564,6 +569,8 @@ Field* create_tmp_field_from_field(THD *thd, Field* org_field,
const char *name, TABLE *table,
Item_field *item, uint convert_blob_length);
+bool is_indexed_agg_distinct(JOIN *join, List<Item_field> *out_args);
+
/* functions from opt_sum.cc */
bool simple_pred(Item_func *func_item, Item **args, bool *inv_order);
int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds);