Drizzled Public API Documentation

parameters.cc
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 #include <config.h>
22 #include <plugin/information_schema_dictionary/dictionary.h>
23 
24 using namespace std;
25 using namespace drizzled;
26 
27 Parameters::Parameters() :
28  InformationSchema("PARAMETERS")
29 {
30  add_field("SPECIFIC_CATALOG");
31  add_field("SPECIFIC_SCHEMA");
32  add_field("SPECIFIC_NAME");
33  add_field("ORDINAL_POSITION");
34  add_field("PARAMETER_MODE");
35  add_field("IS_RESULT");
36  add_field("AS_LOCATOR");
37  add_field("PARAMETER_NAME");
38  add_field("DATA_TYPE");
39  add_field("CHARACTER_MAXIMUM_LENGTH");
40  add_field("CHARACTER_OCTET_LENGTH");
41  add_field("CHARACTER_OCTET_LENGTH");
42  add_field("COLLATION_CATALOG");
43  add_field("COLLATION_SCHEMA");
44  add_field("COLLATION_NAME");
45  add_field("CHARACTER_SET_CATALOG");
46  add_field("CHARACTER_SET_SCHEMA");
47  add_field("CHARACTER_SET_NAME");
48  add_field("NUMERIC_PRECISION");
49  add_field("NUMERIC_PRECISION_RADIX");
50  add_field("NUMERIC_SCALE");
51  add_field("DATETIME_PRECISION");
52  add_field("INTERVAL_TYPE");
53  add_field("INTERVAL_PRECISION");
54  add_field("USER_DEFINED_TYPE_CATALOG");
55  add_field("USER_DEFINED_TYPE_SCHEMA");
56  add_field("USER_DEFINED_TYPE_NAME");
57  add_field("SCOPE_CATALOG");
58  add_field("SCOPE_SCHEMA");
59  add_field("SCOPE_NAME");
60 }
61 
62 void Parameters::Generator::fill()
63 {
64 }
65 
66 bool Parameters::Generator::nextCore()
67 {
68  return false;
69 }
70 
71 bool Parameters::Generator::next()
72 {
73  while (not nextCore())
74  {
75  return false;
76  }
77 
78  return true;
79 }
80 
81 Parameters::Generator::Generator(drizzled::Field **arg) :
82  InformationSchema::Generator(arg),
83  is_primed(false)
84 {
85 }
86 
87 bool Parameters::Generator::populate()
88 {
89  if (not next())
90  return false;
91 
92  fill();
93 
94  return true;
95 }
TODO: Rename this file - func.h is stupid.