~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/schema_dictionary/columns.cc

  • Committer: lbieber
  • Date: 2010-09-22 13:48:54 UTC
  • mfrom: (1784.1.3 build)
  • Revision ID: lbieber@orisndriz08-20100922134854-y7mae2taqhn73vsx
Merge Paul M. - latest changes from PBXT 1.0.11-7
Merge Paul M. - fix bug 641038 - pbxt rollback not working (tables reported as non-transactional)
Merge Andrew - fix show stoppers for new drizzledump

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
  add_field("COLUMN_DEFAULT", plugin::TableFunction::VARBINARY, 65535, true);
38
38
  add_field("COLUMN_DEFAULT_IS_NULL", plugin::TableFunction::BOOLEAN, 0, false);
39
39
  add_field("COLUMN_DEFAULT_UPDATE");
 
40
  add_field("IS_AUTO_INCREMENT", plugin::TableFunction::BOOLEAN, 0, false);
40
41
  add_field("IS_NULLABLE", plugin::TableFunction::BOOLEAN, 0, false);
41
42
  add_field("IS_INDEXED", plugin::TableFunction::BOOLEAN, 0, false);
42
43
  add_field("IS_USED_IN_PRIMARY", plugin::TableFunction::BOOLEAN, 0, false);
51
52
  add_field("NUMERIC_PRECISION", plugin::TableFunction::NUMBER);
52
53
  add_field("NUMERIC_SCALE", plugin::TableFunction::NUMBER);
53
54
 
 
55
  add_field("ENUM_VALUES", plugin::TableFunction::STRING, 1024, true);
 
56
 
54
57
  add_field("COLLATION_NAME");
55
58
 
56
59
  add_field("COLUMN_COMMENT", plugin::TableFunction::STRING, 1024, true);
155
158
  /* COLUMN_DEFAULT_UPDATE */
156
159
  push(column.options().update_expression());
157
160
 
 
161
  /* IS_AUTO_INCREMENT */
 
162
  push(column.numeric_options().is_autoincrement());
 
163
 
158
164
  /* IS_NULLABLE */
159
165
  push(column.constraints().is_nullable());
160
166
 
219
225
 /* "NUMERIC_SCALE" */
220
226
  push(static_cast<int64_t>(column.numeric_options().scale()));
221
227
 
 
228
 /* "ENUM_VALUES" */
 
229
  if (column.type() == drizzled::message::Table::Field::ENUM)
 
230
  {
 
231
    string destination;
 
232
    size_t num_field_values= column.enumeration_values().field_value_size();
 
233
    for (size_t x= 0; x < num_field_values; ++x)
 
234
    {
 
235
      const string &type= column.enumeration_values().field_value(x);
 
236
 
 
237
      if (x != 0)
 
238
        destination.push_back(',');
 
239
 
 
240
      destination.push_back('\'');
 
241
      destination.append(type);
 
242
      destination.push_back('\'');
 
243
    }
 
244
    push(destination);
 
245
  }
 
246
  else
 
247
    push();
 
248
 
222
249
 /* "COLLATION_NAME" */
223
250
  push(column.string_options().collation());
224
251