~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/table_function.cc

  • Committer: Brian Aker
  • Date: 2011-01-25 05:20:15 UTC
  • mto: (2109.1.6 drizzle-build)
  • mto: This revision was merged to the branch mainline in revision 2112.
  • Revision ID: brian@tangent.org-20110125052015-nw5jhmiq0at1qt9u
Merge in reference from pointer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
 
36
36
void plugin::TableFunction::init()
37
37
{
38
 
  drizzled::message::Engine *engine;
39
 
  drizzled::message::Table::TableOptions *table_options;
40
 
 
41
 
  proto.set_name(getTableLabel());
42
 
  proto.set_schema(identifier.getSchemaName());
 
38
  drizzled::message::table::init(proto, getTableLabel(), identifier.getSchemaName(), "FunctionEngine");
43
39
  proto.set_type(drizzled::message::Table::FUNCTION);
44
40
  proto.set_creation_timestamp(0);
45
41
  proto.set_update_timestamp(0);
46
 
 
47
 
  table_options= proto.mutable_options();
48
 
  table_options->set_collation_id(default_charset_info->number);
49
 
  table_options->set_collation(default_charset_info->name);
50
 
 
51
 
  engine= proto.mutable_engine();
52
 
  engine->set_name("FunctionEngine");
53
42
}
54
43
 
55
44
bool plugin::TableFunction::addPlugin(plugin::TableFunction *tool)
103
92
  field_options= field->mutable_options();
104
93
  field_constraints= field->mutable_constraints();
105
94
  field_options->set_default_null(is_default_null);
106
 
  field_constraints->set_is_nullable(is_default_null);
 
95
  field_constraints->set_is_notnull(not is_default_null);
107
96
 
108
97
  switch (type) 
109
98
  {
110
 
  default:
111
 
  case TableFunction::BOOLEAN: // Currently BOOLEAN always has a value
112
 
    field_length= 5;
113
 
    field_options->set_default_null(false);
114
 
    field_constraints->set_is_nullable(false);
115
99
  case TableFunction::STRING:
116
100
    {
117
101
      drizzled::message::Table::Field::StringFieldOptions *string_field_options;
141
125
      string_field_options->set_collation_id(my_charset_bin.number);
142
126
    }
143
127
    break;
144
 
  case TableFunction::NUMBER: // Currently NUMBER always has a value
145
 
    field->set_type(drizzled::message::Table::Field::BIGINT);
 
128
  case TableFunction::NUMBER:
 
129
    field->set_type(drizzled::message::Table::Field::BIGINT);
 
130
    break;
 
131
  case TableFunction::SIZE:
 
132
    field->set_type(drizzled::message::Table::Field::BIGINT);
 
133
    field_constraints->set_is_unsigned(true);
 
134
    break;
 
135
  case TableFunction::BOOLEAN: // Currently BOOLEAN always has a value
 
136
    field->set_type(drizzled::message::Table::Field::BOOLEAN);
 
137
    field_constraints->set_is_unsigned(true);
146
138
    break;
147
139
  }
148
140
}