~thomir-deactivatedaccount/drizzle/drizzle-fix-bug653747

« back to all changes in this revision

Viewing changes to drizzled/plugin/schema_engine.cc

  • Committer: Brian Aker
  • Date: 2010-10-10 02:07:52 UTC
  • mfrom: (1827.2.3 staging)
  • Revision ID: brian@tangent.org-20101010020752-ktv73isay5dxtvp3
Merge in switch on table_share_instance inheritance.

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
class StorageEngineGetSchemaDefinition: public unary_function<StorageEngine *, bool>
66
66
{
67
67
  const SchemaIdentifier &identifier;
68
 
  message::SchemaPtr &schema_proto;
 
68
  message::Schema &schema_proto;
69
69
 
70
70
public:
71
71
  StorageEngineGetSchemaDefinition(const SchemaIdentifier &identifier_arg,
72
 
                                   message::SchemaPtr &schema_proto_arg) :
 
72
                                   message::Schema &schema_proto_arg) :
73
73
    identifier(identifier_arg),
74
74
    schema_proto(schema_proto_arg) 
75
75
  {
84
84
/*
85
85
  Return value is "if parsed"
86
86
*/
87
 
bool StorageEngine::getSchemaDefinition(const drizzled::TableIdentifier &identifier, message::SchemaPtr &proto)
 
87
bool StorageEngine::getSchemaDefinition(const drizzled::TableIdentifier &identifier, message::Schema &proto)
88
88
{
89
89
  return StorageEngine::getSchemaDefinition(identifier, proto);
90
90
}
91
91
 
92
 
bool StorageEngine::getSchemaDefinition(const SchemaIdentifier &identifier, message::SchemaPtr &proto)
 
92
bool StorageEngine::getSchemaDefinition(const SchemaIdentifier &identifier, message::Schema &proto)
93
93
{
 
94
  proto.Clear();
 
95
 
94
96
  EngineVector::iterator iter=
95
97
    find_if(StorageEngine::getSchemaEngines().begin(), StorageEngine::getSchemaEngines().end(),
96
98
            StorageEngineGetSchemaDefinition(identifier, proto));
105
107
 
106
108
bool StorageEngine::doesSchemaExist(const SchemaIdentifier &identifier)
107
109
{
108
 
  message::SchemaPtr proto;
 
110
  message::Schema proto;
109
111
 
110
112
  return StorageEngine::getSchemaDefinition(identifier, proto);
111
113
}
113
115
 
114
116
const CHARSET_INFO *StorageEngine::getSchemaCollation(const SchemaIdentifier &identifier)
115
117
{
116
 
  message::SchemaPtr schmema_proto;
 
118
  message::Schema schmema_proto;
117
119
  bool found;
118
120
 
119
121
  found= StorageEngine::getSchemaDefinition(identifier, schmema_proto);
120
122
 
121
 
  if (found && schmema_proto->has_collation())
 
123
  if (found && schmema_proto.has_collation())
122
124
  {
123
 
    const string buffer= schmema_proto->collation();
 
125
    const string buffer= schmema_proto.collation();
124
126
    const CHARSET_INFO* cs= get_charset_by_name(buffer.c_str());
125
127
 
126
128
    if (not cs)