[Commits] 1f3724a: Better comments

Sergei Petrunia psergey at askmonty.org
Thu Nov 20 20:09:57 EET 2014


revision-id: 1f3724a5831cd6529f4917b0a977d456465c68fe
parent(s): be1c17669cb90e18315d7675c8b4d3c906cd64a7
committer: Sergei Petrunia
branch nick: 10.1-explain-json-r4
timestamp: 2014-11-20 21:09:57 +0300
message:

Better comments

---
 sql/sql_select.cc |   18 ++++++++++++++++++
 sql/table.h       |    6 ++++++
 2 files changed, 24 insertions(+)

diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 7c1a981..468f9fb 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -20736,6 +20736,24 @@ static void free_blobs(Field **ptr)
 }
 
 
+/*
+  @brief
+    Remove duplicates from a temporary table.
+
+  @detail
+    Remove duplicate rows from a temporary table. This is used for e.g. queries
+    like
+
+      select distinct count(*) as CNT from tbl group by col
+
+    Here, we get a group table with count(*) values. It is not possible to
+    prevent duplicates from appearing in the table (as we don't know the values
+    before we've done the grouping).  Because of that, we have this function to
+    scan the temptable (maybe, multiple times) and remove the duplicate rows
+
+    Rows that do not satisfy 'having' condition are also removed.
+*/
+
 static int
 remove_duplicates(JOIN *join, TABLE *table, List<Item> &fields, Item *having)
 {
diff --git a/sql/table.h b/sql/table.h
index eca35d6..a4b3abd 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1072,6 +1072,12 @@ struct TABLE
   TABLE_LIST *pos_in_table_list;/* Element referring to this table */
   /* Position in thd->locked_table_list under LOCK TABLES */
   TABLE_LIST *pos_in_locked_tables;
+
+  /*
+    Not-null for temporary tables only. Non-null values means this table is
+    used to compute GROUP BY, it has a unique of GROUP BY columns.
+    (set by create_tmp_table)
+  */
   ORDER		*group;
   String	alias;            	  /* alias or table name */
   uchar		*null_flags;


More information about the commits mailing list