~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/show_schema_proto/show_schema_proto.cc

  • Committer: Olaf van der Spek
  • Date: 2011-10-18 13:52:19 UTC
  • mto: This revision was merged to the branch mainline in revision 2443.
  • Revision ID: olafvdspek@gmail.com-20111018135219-vn5xhy8pvumotthk
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
class ShowSchemaProtoFunction : public Item_str_func
41
41
{
42
42
public:
43
 
  ShowSchemaProtoFunction() : Item_str_func() {}
44
43
  String *val_str(String*);
45
44
 
46
45
  void fix_length_and_dec()
47
46
  {
48
47
    max_length= 16384; /* Guesswork? */
49
 
    args[0]->collation.set(
50
 
      get_charset_by_csname(args[0]->collation.collation->csname,
51
 
                            MY_CS_BINSORT), DERIVATION_COERCIBLE);
 
48
    args[0]->collation.set(get_charset_by_csname(args[0]->collation.collation->csname, MY_CS_BINSORT), DERIVATION_COERCIBLE);
52
49
  }
53
50
 
54
51
  const char *func_name() const
69
66
 
70
67
  String *db_sptr= args[0]->val_str(str);
71
68
 
72
 
  if (db_sptr == NULL)
 
69
  if (not db_sptr)
73
70
  {
74
71
    null_value= true;
75
72
    return NULL;
77
74
 
78
75
  null_value= false;
79
76
 
80
 
  const char* db= db_sptr->c_str();
81
 
 
82
 
  string proto_as_text("");
83
 
  message::schema::shared_ptr proto;
84
 
 
85
 
 
86
 
  identifier::Schema schema_identifier(db);
87
 
  if (not (proto= plugin::StorageEngine::getSchemaDefinition(schema_identifier)))
 
77
  identifier::Schema schema_identifier(*db_sptr);
 
78
  message::schema::shared_ptr proto= plugin::StorageEngine::getSchemaDefinition(schema_identifier);
 
79
  if (not proto)
88
80
  {
89
81
    my_error(ER_BAD_DB_ERROR, schema_identifier);
90
82
    return NULL;
91
83
  }
92
84
 
 
85
  string proto_as_text;
93
86
  protobuf::TextFormat::PrintToString(*proto, &proto_as_text);
94
87
 
95
88
  str->alloc(proto_as_text.length());