36
38
void plugin::TableFunction::init()
38
drizzled::message::Engine *engine;
40
drizzled::message::Table::StorageEngine *engine;
39
41
drizzled::message::Table::TableOptions *table_options;
41
43
proto.set_name(getTableLabel());
62
plugin::TableFunction *plugin::TableFunction::getFunction(const std::string &arg)
64
plugin::TableFunction *plugin::TableFunction::getFunction(const string &arg)
64
66
return table_functions.getFunction(arg);
67
void plugin::TableFunction::getNames(const std::string &arg,
68
std::set<std::string> &set_of_names)
69
void plugin::TableFunction::getNames(const string &arg,
70
set<std::string> &set_of_names)
70
72
table_functions.getNames(arg, set_of_names);
91
93
void plugin::TableFunction::add_field(const char *label,
92
TableFunction::ColumnType type,
93
uint32_t field_length,
94
TableFunction::ColumnType type,
95
uint32_t field_length,
96
98
drizzled::message::Table::Field *field;
97
99
drizzled::message::Table::Field::FieldOptions *field_options;
113
115
field_options->set_default_null(false);
114
116
field_constraints->set_is_nullable(false);
115
117
case TableFunction::STRING:
117
drizzled::message::Table::Field::StringFieldOptions *string_field_options;
118
if (field_length >= TABLE_FUNCTION_BLOB_SIZE)
120
field->set_type(drizzled::message::Table::Field::BLOB);
121
string_field_options= field->mutable_string_options();
122
string_field_options->set_collation_id(default_charset_info->number);
123
string_field_options->set_collation(default_charset_info->name);
127
field->set_type(drizzled::message::Table::Field::VARCHAR);
128
string_field_options= field->mutable_string_options();
129
string_field_options->set_length(field_length);
119
drizzled::message::Table::Field::StringFieldOptions *string_field_options;
120
field->set_type(drizzled::message::Table::Field::VARCHAR);
122
string_field_options= field->mutable_string_options();
123
string_field_options->set_length(field_length);
133
126
case TableFunction::VARBINARY:
135
drizzled::message::Table::Field::StringFieldOptions *string_field_options;
136
field->set_type(drizzled::message::Table::Field::VARCHAR);
128
drizzled::message::Table::Field::StringFieldOptions *string_field_options;
129
field->set_type(drizzled::message::Table::Field::VARCHAR);
138
string_field_options= field->mutable_string_options();
139
string_field_options->set_length(field_length);
140
string_field_options->set_collation(my_charset_bin.csname);
141
string_field_options->set_collation_id(my_charset_bin.number);
131
string_field_options= field->mutable_string_options();
132
string_field_options->set_length(field_length);
133
string_field_options->set_collation(my_charset_bin.csname);
134
string_field_options->set_collation_id(my_charset_bin.number);
144
137
case TableFunction::NUMBER: // Currently NUMBER always has a value
145
138
field->set_type(drizzled::message::Table::Field::BIGINT);
139
field_options->set_default_null(false);
140
field_constraints->set_is_nullable(false);
193
188
length= length ? length : strlen(arg);
195
if ((*columns_iterator)->char_length() < length)
196
length= (*columns_iterator)->char_length();
198
190
(*columns_iterator)->store(arg, length, scs);
199
191
(*columns_iterator)->set_notnull();
200
192
columns_iterator++;
220
(*columns_iterator)->store("YES", 3, scs);
211
(*columns_iterator)->store("TRUE", 4, scs);
224
(*columns_iterator)->store("NO", 2, scs);
215
(*columns_iterator)->store("FALSE", 5, scs);
227
218
columns_iterator++;