~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/statement/alter_schema.cc

Big merge.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
#include <drizzled/show.h>
23
23
#include <drizzled/session.h>
24
24
#include <drizzled/statement/alter_schema.h>
 
25
#include <drizzled/db.h>
 
26
 
 
27
#include <string>
 
28
 
 
29
using namespace std;
25
30
 
26
31
namespace drizzled
27
32
{
28
33
 
29
34
bool statement::AlterSchema::execute()
30
35
{
31
 
  LEX_STRING *db= &session->lex->name;
32
 
  if (check_db_name(db))
 
36
  string database_name(session->lex->name.str);
 
37
  NonNormalisedDatabaseName non_normalised_database_name(database_name);
 
38
  NormalisedDatabaseName normalised_database_name(non_normalised_database_name);
 
39
 
 
40
  if (! normalised_database_name.isValid())
33
41
  {
34
 
    my_error(ER_WRONG_DB_NAME, MYF(0), db->str);
 
42
    my_error(ER_WRONG_DB_NAME, MYF(0), normalised_database_name.to_string().c_str());
35
43
    return false;
36
44
  }
37
45
  if (session->inTransaction())
41
49
               MYF(0));
42
50
    return true;
43
51
  }
44
 
  bool res= mysql_alter_db(session, db->str, &create_info);
 
52
  bool res= mysql_alter_db(session, normalised_database_name, &schema_message);
45
53
  return res;
46
54
}
47
55