~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/show.cc

  • Committer: Mark Atwood
  • Date: 2011-08-04 16:21:21 UTC
  • mfrom: (2318.9.14 refactor3)
  • Revision ID: me@mark.atwood.name-20110804162121-6b9ay1b1de3yfgvl
mergeĀ lp:~olafvdspek/drizzle/refactor3

Show diffs side-by-side

added added

removed removed

Lines of Context:
150
150
    column_name.append(")");
151
151
  }
152
152
 
153
 
  if (session->lex().current_select->where)
154
 
  {
155
 
    if (prepare_new_schema_table(session, session->lex(), "SCHEMAS"))
156
 
      return false;
157
 
  }
158
 
  else
159
 
  {
160
 
    if (prepare_new_schema_table(session, session->lex(), "SHOW_SCHEMAS"))
161
 
      return false;
162
 
  }
 
153
  if (prepare_new_schema_table(session, session->lex(), session->lex().current_select->where ? "SCHEMAS" : "SHOW_SCHEMAS"))
 
154
    return false;
163
155
 
164
156
  Item_field *my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "SCHEMA_NAME");
165
157
  my_field->is_autogenerated_name= false;
166
 
  my_field->set_name(column_name.c_str(), column_name.length(), system_charset_info);
 
158
  my_field->set_name(column_name);
167
159
 
168
160
  session->add_item_to_list(my_field);
169
161
  session->add_order_to_list(my_field, true);
215
207
 
216
208
  Item_field *my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "TABLE_NAME");
217
209
  my_field->is_autogenerated_name= false;
218
 
  my_field->set_name(column_name.c_str(), column_name.length(), system_charset_info);
 
210
  my_field->set_name(column_name);
219
211
 
220
212
  session->add_item_to_list(my_field);
221
213
  session->add_order_to_list(my_field, true);
311
303
  }
312
304
 
313
305
  {
314
 
    drizzled::identifier::Table identifier(select->getShowSchema().c_str(), table_ident->table.str);
 
306
    drizzled::identifier::Table identifier(select->getShowSchema(), table_ident->table.str);
315
307
    if (not plugin::StorageEngine::doesTableExist(*session, identifier))
316
308
    {
317
309
      my_error(ER_TABLE_UNKNOWN, identifier);
374
366
  }
375
367
 
376
368
  {
377
 
    drizzled::identifier::Table identifier(select->getShowSchema().c_str(), table_ident->table.str);
 
369
    drizzled::identifier::Table identifier(select->getShowSchema(), table_ident->table.str);
378
370
    if (not plugin::StorageEngine::doesTableExist(*session, identifier))
379
371
    {
380
372
      my_error(ER_TABLE_UNKNOWN, identifier);
394
386
  session->lex().sql_command= SQLCOM_SELECT;
395
387
  session->lex().statement= new statement::Show(session);
396
388
 
397
 
  if (is_global == OPT_GLOBAL)
398
 
  {
399
 
    if (prepare_new_schema_table(session, session->lex(), "GLOBAL_STATUS"))
400
 
      return false;
401
 
  }
402
 
  else
403
 
  {
404
 
    if (prepare_new_schema_table(session, session->lex(), "SESSION_STATUS"))
405
 
      return false;
406
 
  }
407
 
 
408
 
  std::string key("Variable_name");
409
 
  std::string value("Value");
 
389
  if (prepare_new_schema_table(session, session->lex(), is_global == OPT_GLOBAL ? "GLOBAL_STATUS" : "SESSION_STATUS"))
 
390
    return false;
410
391
 
411
392
  Item_field *my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "VARIABLE_NAME");
412
393
  my_field->is_autogenerated_name= false;
413
 
  my_field->set_name(key.c_str(), key.length(), system_charset_info);
 
394
  my_field->set_name("Variable_name");
414
395
  session->add_item_to_list(my_field);
415
396
  my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "VARIABLE_VALUE");
416
397
  my_field->is_autogenerated_name= false;
417
 
  my_field->set_name(value.c_str(), value.length(), system_charset_info);
 
398
  my_field->set_name("Value");
418
399
  session->add_item_to_list(my_field);
419
400
  return true;
420
401
}
446
427
    return false;
447
428
  }
448
429
 
449
 
  std::string key("Table");
450
 
  std::string value("Create Table");
451
 
 
452
430
  Item_field *my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "TABLE_NAME");
453
431
  my_field->is_autogenerated_name= false;
454
 
  my_field->set_name(key.c_str(), key.length(), system_charset_info);
 
432
  my_field->set_name("Table");
455
433
  session->add_item_to_list(my_field);
456
434
  my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "TABLE_SQL_DEFINITION");
457
435
  my_field->is_autogenerated_name= false;
458
 
  my_field->set_name(value.c_str(), value.length(), system_charset_info);
 
436
  my_field->set_name("Create Table");
459
437
  session->add_item_to_list(my_field);
460
438
  return true;
461
439
}
489
467
      return false;
490
468
  }
491
469
 
492
 
  std::string key("Variable_name");
493
 
  std::string value("Value");
494
 
 
495
470
  Item_field *my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "VARIABLE_NAME");
496
471
  my_field->is_autogenerated_name= false;
497
 
  my_field->set_name(key.c_str(), key.length(), system_charset_info);
 
472
  my_field->set_name("Variable_name");
498
473
  session->add_item_to_list(my_field);
499
474
  my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "VARIABLE_VALUE");
500
475
  my_field->is_autogenerated_name= false;
501
 
  my_field->set_name(value.c_str(), value.length(), system_charset_info);
 
476
  my_field->set_name("Value");
502
477
 
503
478
  session->add_item_to_list(my_field);
504
479
  return true;
528
503
    return false;
529
504
  }
530
505
 
531
 
  std::string key("Database");
532
 
  std::string value("Create Database");
533
 
 
534
506
  Item_field *my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "SCHEMA_NAME");
535
507
  my_field->is_autogenerated_name= false;
536
 
  my_field->set_name(key.c_str(), key.length(), system_charset_info);
 
508
  my_field->set_name("Database");
537
509
  session->add_item_to_list(my_field);
 
510
 
538
511
  my_field= new Item_field(&session->lex().current_select->context, NULL, NULL, "SCHEMA_SQL_DEFINITION");
539
512
  my_field->is_autogenerated_name= false;
540
 
  my_field->set_name(value.c_str(), value.length(), system_charset_info);
541
 
 
 
513
  my_field->set_name("Create Database");
542
514
  session->add_item_to_list(my_field);
543
515
  return true;
544
516
}
569
541
  }
570
542
 
571
543
  {
572
 
    drizzled::identifier::Table identifier(select->getShowSchema().c_str(), ident->table.str);
 
544
    drizzled::identifier::Table identifier(select->getShowSchema(), ident->table.str);
573
545
    if (not plugin::StorageEngine::doesTableExist(*session, identifier))
574
546
    {
575
547
      my_error(ER_TABLE_UNKNOWN, identifier);