Drizzled Public API Documentation

show_columns.h
1 /* - mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3  *
4  * Copyright (C) 2010 Brian Aker
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #pragma once
22 
24 {
25 public:
26  ShowColumns();
27 
28  bool visible() const { return false; }
29 
31  {
32  bool is_tables_primed;
33  bool is_columns_primed;
34 
35  int32_t column_iterator;
36  drizzled::message::table::shared_ptr table_proto;
38 
39  bool nextColumnCore();
40  bool nextColumn();
41 
42  std::string table_name;
43 
44  drizzled::message::table::shared_ptr getTableProto()
45  {
46  return table_proto;
47  }
48 
49  bool isTablesPrimed()
50  {
51  return is_tables_primed;
52  }
53 
54  const std::string &getTableName()
55  {
56  return table_name;
57  }
58 
59  void fill();
60 
61  public:
63  bool populate();
64 
65  };
66 
67  Generator *generator(drizzled::Field **arg)
68  {
69  return new Generator(arg);
70  }
71 };
72