~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/table_list.h

  • Committer: Brian Aker
  • Date: 2008-08-19 17:29:21 UTC
  • Revision ID: brian@tangent.org-20080819172921-bc3kpgsrzsdv338l
Moved Field iterator out to its own definition.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
#ifndef DRIZZLED_TMP_TABLE_H
7
7
#define DRIZZLED_TMP_TABLE_H
8
8
 
 
9
/*
 
10
  Table reference in the FROM clause.
 
11
 
 
12
  These table references can be of several types that correspond to
 
13
  different SQL elements. Below we list all types of TableLists with
 
14
  the necessary conditions to determine when a TableList instance
 
15
  belongs to a certain type.
 
16
 
 
17
  1) table (TableList::view == NULL)
 
18
     - base table
 
19
       (TableList::derived == NULL)
 
20
     - subquery - TableList::table is a temp table
 
21
       (TableList::derived != NULL)
 
22
     - information schema table
 
23
       (TableList::schema_table != NULL)
 
24
       NOTICE: for schema tables TableList::field_translation may be != NULL
 
25
  2) view (TableList::view != NULL)
 
26
     - merge    (TableList::effective_algorithm == VIEW_ALGORITHM_MERGE)
 
27
           also (TableList::field_translation != NULL)
 
28
     - tmptable (TableList::effective_algorithm == VIEW_ALGORITHM_TMPTABLE)
 
29
           also (TableList::field_translation == NULL)
 
30
  3) nested table reference (TableList::nested_join != NULL)
 
31
     - table sequence - e.g. (t1, t2, t3)
 
32
       TODO: how to distinguish from a JOIN?
 
33
     - general JOIN
 
34
       TODO: how to distinguish from a table sequence?
 
35
     - NATURAL JOIN
 
36
       (TableList::natural_join != NULL)
 
37
       - JOIN ... USING
 
38
         (TableList::join_using_fields != NULL)
 
39
     - semi-join
 
40
       ;
 
41
*/
 
42
 
 
43
 
9
44
#include "table.h"
10
45
 
11
46
class Index_hint;