From 8b302cbb99038f1a53d094f951335674f5f5bd95 Mon Sep 17 00:00:00 2001 From: "konstantin@mysql.com" <> Date: Wed, 18 May 2005 19:35:20 +0400 Subject: [PATCH] A draft comment for mysql_select. Feel free to moderate and improve. --- sql/sql_select.cc | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/sql/sql_select.cc b/sql/sql_select.cc index b0d749889bf..e6d6db05242 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1932,6 +1932,50 @@ Cursor::~Cursor() /*********************************************************************/ +/* + An entry point to single-unit select (a select without UNION). + + SYNOPSIS + mysql_select() + + thd thread handler + rref_pointer_array a reference to ref_pointer_array of + the top-level select_lex for this query + tables list of all tables used in this query. + The tables have been pre-opened. + wild_num number of wildcards used in the top level + select of this query. + For example statement + SELECT *, t1.*, catalog.t2.* FROM t0, t1, t2; + has 3 wildcards. + fields list of items in SELECT list of the top-level + select + e.g. SELECT a, b, c FROM t1 will have Item_field + for a, b and c in this list. + conds top level item of an expression representing + WHERE clause of the top level select + og_num total number of ORDER BY and GROUP BY clauses + arguments + order linked list of ORDER BY agruments + group linked list of GROUP BY arguments + having top level item of HAVING expression + proc_param list of PROCEDUREs + select_options select options (BIG_RESULT, etc) + result an instance of result set handling class. + This object is responsible for send result + set rows to the client or inserting them + into a table. + select_lex the only SELECT_LEX of this query + unit top-level UNIT of this query + UNIT is an artificial object created by the parser + for every SELECT clause. + e.g. SELECT * FROM t1 WHERE a1 IN (SELECT * FROM t2) + has 2 unions. + + RETURN VALUE + FALSE success + TRUE an error +*/ bool mysql_select(THD *thd, Item ***rref_pointer_array,