~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/table.h

  • Committer: Monty Taylor
  • Date: 2009-04-17 21:35:24 UTC
  • mto: (997.2.1 mordred)
  • mto: This revision was merged to the branch mainline in revision 997.
  • Revision ID: mordred@inaugust.com-20090417213524-hn7pmk6glmmayk86
Reverted the DIST_SUBDIRS not having po thing. It breaks things even worse. We're just going to have to ensure gettext is installed on machines we're going to run distcheck on.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
#include <drizzled/lex_string.h>
34
34
#include <drizzled/table_list.h>
35
35
#include <drizzled/table_share.h>
 
36
#include <bitset>
36
37
 
37
38
class Item;
38
39
class Item_subselect;
94
95
 
95
96
  /* For TMP tables, should be pulled out as a class */
96
97
  void updateCreateInfo(HA_CREATE_INFO *create_info);
97
 
  void setup_tmp_table_column_bitmaps(unsigned char *bitmaps);
 
98
  void setup_tmp_table_column_bitmaps();
98
99
  bool create_myisam_tmp_table(KEY *keyinfo,
99
100
                               MI_COLUMNDEF *start_recinfo,
100
101
                               MI_COLUMNDEF **recinfo,
157
158
  const char    *alias;                   /* alias or table name */
158
159
  unsigned char         *null_flags;
159
160
  my_bitmap_map *bitmap_init_value;
160
 
  MY_BITMAP     def_read_set, def_write_set, tmp_set; /* containers */
161
 
  MY_BITMAP     *read_set, *write_set;          /* Active column sets */
 
161
  std::bitset<MAX_FIELDS> def_read_set, def_write_set, tmp_set; /* containers */
 
162
  std::bitset<MAX_FIELDS> *read_set, *write_set;                /* Active column sets */
162
163
  /*
163
164
   The ID of the query that opened and is using this table. Has different
164
165
   meanings depending on the table type.
285
286
  void reset_item_list(List<Item> *item_list) const;
286
287
  void clear_column_bitmaps(void);
287
288
  void prepare_for_position(void);
288
 
  void mark_columns_used_by_index_no_reset(uint32_t index, MY_BITMAP *map);
 
289
  void mark_columns_used_by_index_no_reset(uint32_t index, std::bitset<MAX_FIELDS> *map);
289
290
  void mark_columns_used_by_index(uint32_t index);
290
291
  void restore_column_maps_after_mark_index();
291
292
  void mark_auto_increment_column(void);
293
294
  void mark_columns_needed_for_delete(void);
294
295
  void mark_columns_needed_for_insert(void);
295
296
  void mark_virtual_columns(void);
296
 
  inline void column_bitmaps_set(MY_BITMAP *read_set_arg,
297
 
                                 MY_BITMAP *write_set_arg)
 
297
  inline void column_bitmaps_set(std::bitset<MAX_FIELDS> *read_set_arg,
 
298
                                 std::bitset<MAX_FIELDS> *write_set_arg)
298
299
  {
299
300
    read_set= read_set_arg;
300
301
    write_set= write_set_arg;
301
302
    if (file)
302
303
      file->column_bitmaps_signal();
303
304
  }
304
 
  inline void column_bitmaps_set_no_signal(MY_BITMAP *read_set_arg,
305
 
                                           MY_BITMAP *write_set_arg)
 
305
  inline void column_bitmaps_set_no_signal(std::bitset<MAX_FIELDS> *read_set_arg,
 
306
                                           std::bitset<MAX_FIELDS> *write_set_arg)
306
307
  {
307
308
    read_set= read_set_arg;
308
309
    write_set= write_set_arg;
309
310
  }
310
311
 
311
 
  void restore_column_map(my_bitmap_map *old);
 
312
  void restore_column_map(std::bitset<MAX_FIELDS> *old);
312
313
 
313
 
  my_bitmap_map *use_all_columns(MY_BITMAP *bitmap);
 
314
  std::bitset<MAX_FIELDS> *use_all_columns(std::bitset<MAX_FIELDS> *bitmap);
314
315
  inline void use_all_columns()
315
316
  {
316
317
    column_bitmaps_set(&s->all_set, &s->all_set);
405
406
class TableList;
406
407
typedef class Item COND;
407
408
 
408
 
struct ST_SCHEMA_TABLE
 
409
struct InfoSchemaTable
409
410
{
410
411
  const char* table_name;
411
412
  ST_FIELD_INFO *fields_info;
414
415
  /* Fill table with data */
415
416
  int (*fill_table) (Session *session, TableList *tables, COND *cond);
416
417
  /* Handle fileds for old SHOW */
417
 
  int (*old_format) (Session *session, struct ST_SCHEMA_TABLE *schema_table);
 
418
  int (*old_format) (Session *session, struct InfoSchemaTable *schema_table);
418
419
  int (*process_table) (Session *session, TableList *tables, Table *table,
419
420
                        bool res, LEX_STRING *db_name, LEX_STRING *table_name);
420
421
  int idx_field1, idx_field2;