~posulliv/drizzle/optimizer-style-cleanup

« back to all changes in this revision

Viewing changes to plugin/schema_dictionary/tables.h

  • Committer: Padraig O'Sullivan
  • Date: 2010-03-15 14:05:26 UTC
  • mfrom: (1237.9.99 staging)
  • Revision ID: osullivan.padraig@gmail.com-20100315140526-opbgwdwn6tfecdkq
MergeĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
    drizzled::message::Table table_proto;
41
41
    std::set<std::string> table_names;
42
42
    std::set<std::string>::iterator table_iterator;
 
43
    std::string table_predicate;
43
44
    bool is_tables_primed;
44
45
 
45
46
    virtual void fill();
49
50
    Generator(drizzled::Field **arg);
50
51
 
51
52
    void pushRow(drizzled::message::Table::TableOptions::RowType type);
 
53
    void pushType(drizzled::message::Table::Field::FieldType type);
52
54
 
53
55
    const std::string &table_name()
54
56
    {
65
67
      return is_tables_primed;
66
68
    }
67
69
 
 
70
    void setTablePredicate(const std::string &arg)
 
71
    {
 
72
      table_predicate= arg;
 
73
    }
 
74
 
68
75
    bool populate();
69
76
    bool nextTable();
70
77
    bool checkTableName();
77
84
 
78
85
};
79
86
 
80
 
class TableNames : public TablesTool
81
 
{
82
 
public:
83
 
  TableNames(const char *table_arg) :
84
 
    TablesTool(table_arg)
85
 
  { }
86
 
 
87
 
  TableNames() :
88
 
    TablesTool("LOCAL_TABLE_NAMES")
89
 
  {
90
 
    add_field("TABLE_NAME");
91
 
  }
92
 
 
93
 
  class Generator : public TablesTool::Generator 
94
 
  {
95
 
    void fill()
96
 
    {
97
 
      /* TABLE_NAME */
98
 
      push(table_name());
99
 
    }
100
 
 
101
 
    bool checkSchema();
102
 
 
103
 
  public:
104
 
    Generator(drizzled::Field **arg) :
105
 
      TablesTool::Generator(arg)
106
 
    { }
107
 
  };
108
 
 
109
 
  Generator *generator(drizzled::Field **arg)
110
 
  {
111
 
    return new Generator(arg);
112
 
  }
113
 
};
114
 
 
115
 
class TableStatus : public TableNames
116
 
{
117
 
public:
118
 
  TableStatus() :
119
 
    TableNames("LOCAL_TABLE_STATUS")
120
 
  {
121
 
    add_field("Name");
122
 
    add_field("Engine");
123
 
    add_field("Version");
124
 
    add_field("Row_format");
125
 
    add_field("Rows");
126
 
    add_field("Avg_row_length");
127
 
    add_field("Data_length");
128
 
    add_field("Max_data_length");
129
 
    add_field("Index_length");
130
 
    add_field("Data_free");
131
 
    add_field("Auto_increment");
132
 
    add_field("Create_time");
133
 
    add_field("Update_time");
134
 
    add_field("Check_time");
135
 
    add_field("Collation");
136
 
    add_field("Checksum");
137
 
    add_field("Create_options");
138
 
    add_field("Comment");
139
 
  }
140
 
 
141
 
  class Generator : public TableNames::Generator 
142
 
  {
143
 
    void fill()
144
 
    {
145
 
      /* Name */
146
 
      push(table_name());
147
 
 
148
 
      /* Engine */
149
 
      push(getTableProto().engine().name());
150
 
 
151
 
      /* Version */
152
 
      push(0);
153
 
 
154
 
      /* Row_format */
155
 
      pushRow(getTableProto().options().row_type());
156
 
 
157
 
      /* Rows */
158
 
      push(0);
159
 
 
160
 
      /* Avg_row_length */
161
 
      push(0);
162
 
 
163
 
      /* Data_length */
164
 
      push(0);
165
 
 
166
 
      /* Max_data_length */
167
 
      push(0);
168
 
 
169
 
      /* Index_length */
170
 
      push(0);
171
 
 
172
 
      /* Data_free */
173
 
      push(0);
174
 
 
175
 
      /* Auto_increment */
176
 
      push(0);
177
 
 
178
 
      /* Create_time */
179
 
      push(0);
180
 
 
181
 
      /* Update_time */
182
 
      push(0);
183
 
 
184
 
      /* Check_time */
185
 
      push(0);
186
 
 
187
 
      /* Collation */
188
 
      push(getTableProto().options().collation());
189
 
 
190
 
      /* Checksum */
191
 
      push(0);
192
 
 
193
 
      /* Create_options */
194
 
      push("");
195
 
 
196
 
      /* Comment */
197
 
      push(getTableProto().options().comment());
198
 
    }
199
 
 
200
 
  public:
201
 
    Generator(drizzled::Field **arg) :
202
 
      TableNames::Generator(arg)
203
 
    { }
204
 
  };
205
 
 
206
 
  Generator *generator(drizzled::Field **arg)
207
 
  {
208
 
    return new Generator(arg);
209
 
  }
210
 
};
211
 
 
212
 
#endif // PLUGIN_SCHEMA_DICTIONARY_TABLES_H
 
87
#endif /* PLUGIN_SCHEMA_DICTIONARY_TABLES_H */