~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/info_schema.h

  • Committer: Padraig O'Sullivan
  • Date: 2009-06-17 19:39:27 UTC
  • mto: This revision was merged to the branch mainline in revision 1067.
  • Revision ID: osullivan.padraig@gmail.com-20090617193927-sdsgtvbw3mz8dgrq
Added some doxygen comments. Added a new boolean variable to the
InfoSchemaClass to indicate whether optimizations specific to the fillTable
method which used to be called get_open_tables can be performed or not.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
19
 */
20
20
 
21
 
/* Structs that defines the Table */
22
 
 
23
21
#ifndef DRIZZLED_INFO_SCHEMA_H
24
22
#define DRIZZLED_INFO_SCHEMA_H
25
23
 
 
24
/**
 
25
 * @file
 
26
 *   info_schema.h
 
27
 * @brief 
 
28
 *   Header file which contains all classes related to I_S
 
29
 */
 
30
 
26
31
typedef class Item COND;
27
32
 
 
33
/**
 
34
 * @class 
 
35
 *   InfoSchemaMethods
 
36
 * @brief
 
37
 *   The methods that an I_S table can support
 
38
 */
28
39
class InfoSchemaMethods
29
40
{
30
41
public:
169
180
};
170
181
 
171
182
/**
172
 
 * @class InfoSchemaTable
173
 
 * @brief Represents an I_S table.
 
183
 * @class 
 
184
 *   InfoSchemaTable
 
185
 * @brief 
 
186
 *   Represents an I_S table.
174
187
 */
175
188
class InfoSchemaTable
176
189
{
180
193
                  int idxField1,
181
194
                  int idxField2,
182
195
                  bool inHidden,
 
196
                  bool inOptPossible,
183
197
                  uint32_t reqObject,
184
198
                  InfoSchemaMethods *inMethods)
185
199
    :
186
200
      table_name(tabName),
187
201
      hidden(inHidden),
 
202
      is_opt_possible(inOptPossible),
188
203
      first_field_index(idxField1),
189
204
      second_field_index(idxField2),
190
205
      requested_object(reqObject),
195
210
  InfoSchemaTable()
196
211
    :
197
212
      table_name(NULL),
198
 
      hidden(0),
 
213
      hidden(false),
 
214
      is_opt_possible(false),
199
215
      first_field_index(0),
200
216
      second_field_index(0),
201
217
      requested_object(0),
212
228
    i_s_methods= new_methods;
213
229
  }
214
230
 
 
231
  /**
 
232
   * @param[in] session
 
233
   * @param[in] table_list
 
234
   */
215
235
  Table *createSchemaTable(Session *session, TableList *table_list) const
216
236
  {
217
237
    Table *retval= i_s_methods->createSchemaTable(session, table_list);
218
238
    return retval;
219
239
  }
220
240
 
 
241
  /**
 
242
   * @param[in] session
 
243
   * @param[in] tables
 
244
   * @param[in] cond
 
245
   */
221
246
  int fillTable(Session *session, TableList *tables, COND *cond)
222
247
  {
223
248
    int retval= i_s_methods->fillTable(session, tables, cond);
224
249
    return retval;
225
250
  }
226
251
 
 
252
  /**
 
253
   * @param[in] session
 
254
   * @param[in] tables
 
255
   * @param[in] table
 
256
   * @param[in] res
 
257
   * @param[in] db_name
 
258
   * @param[in] tab_name
 
259
   */
227
260
  int processTable(Session *session, TableList *tables, Table *table,
228
261
                   bool res, LEX_STRING *db_name, LEX_STRING *tab_name) const
229
262
  {
232
265
    return retval;
233
266
  }
234
267
 
 
268
  /**
 
269
   * @param[in] session
 
270
   * @param[in] schema_table
 
271
   */
235
272
  int oldFormat(Session *session, InfoSchemaTable *schema_table) const
236
273
  {
237
274
    int retval= i_s_methods->oldFormat(session, schema_table);
288
325
  }
289
326
 
290
327
  /**
 
328
   * @return true if I_S optimizations can be performed on this
 
329
   *         I_S table when running the fillTable method; false
 
330
   *         otherwise.
 
331
   */
 
332
  bool isOptimizationPossible() const
 
333
  {
 
334
    return is_opt_possible;
 
335
  }
 
336
 
 
337
  /**
291
338
   * @return the index for the first field.
292
339
   */
293
340
  int getFirstFieldIndex() const
360
407
  bool hidden;
361
408
 
362
409
  /**
 
410
   * Boolean which indicates whether optimizations are
 
411
   * possible on this I_S table when performing the
 
412
   * fillTable method.
 
413
   */
 
414
  bool is_opt_possible;
 
415
 
 
416
  /**
363
417
   * The index of the first field.
364
418
   */
365
419
  int first_field_index;