~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/information_schema_dictionary/schemata.cc

merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
Schemata::Schemata() :
28
28
  InformationSchema("SCHEMATA")
29
29
{
30
 
  add_field("CATALOG_NAME");
31
 
  add_field("SCHEMA_NAME");
 
30
  add_field("CATALOG_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH, false);
 
31
  add_field("SCHEMA_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH, false);
32
32
  add_field("SCHEMA_OWNER");
33
33
  add_field("DEFAULT_CHARACTER_SET_CATALOG");
34
34
  add_field("DEFAULT_CHARACTER_SET_SCHEMA");
35
35
  add_field("DEFAULT_CHARACTER_SET_NAME");
36
36
}
37
37
 
38
 
void Schemata::Generator::fill()
39
 
{
40
 
}
41
 
 
42
 
bool Schemata::Generator::nextCore()
43
 
{
44
 
  return false;
45
 
}
46
 
 
47
 
bool Schemata::Generator::next()
48
 
{
49
 
  while (not nextCore())
50
 
  {
51
 
    return false;
52
 
  }
53
 
 
54
 
  return true;
55
 
}
56
 
 
57
38
Schemata::Generator::Generator(drizzled::Field **arg) :
58
39
  InformationSchema::Generator(arg),
59
 
  is_primed(false)
 
40
  schema_generator(getSession())
60
41
{
61
42
}
62
43
 
63
44
bool Schemata::Generator::populate()
64
45
{
65
 
  if (not next())
66
 
    return false;
67
 
 
68
 
  fill();
69
 
 
70
 
  return true;
 
46
  const drizzled::message::Schema *schema_ptr;
 
47
 
 
48
  while ((schema_ptr= schema_generator))
 
49
  {
 
50
    /* CATALOG_NAME */
 
51
    push(schema_ptr->catalog());
 
52
 
 
53
    /* SCHEMA_NAME */
 
54
    push(schema_ptr->name());
 
55
 
 
56
    /* SCHEMA_OWNER */
 
57
    push();
 
58
 
 
59
    /* DEFAULT_CHARACTER_SET_CATALOG */
 
60
    push();
 
61
 
 
62
    /* DEFAULT_CHARACTER_SET_SCHEMA */
 
63
    push();
 
64
 
 
65
    /* DEFAULT_CHARACTER_SET_NAME */
 
66
    push();
 
67
 
 
68
    return true;
 
69
  }
 
70
 
 
71
  return false;
71
72
}