~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/show.cc

Merged in latest plugin-slot-reorg.

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
#include "drizzled/plugin/registry.h"
43
43
#include <drizzled/plugin/info_schema.h>
44
44
#include <drizzled/message/schema.pb.h>
 
45
#include <drizzled/plugin/client.h>
45
46
#include <mysys/cached_directory.h>
46
47
#include <sys/stat.h>
47
48
 
193
194
 
194
195
bool drizzled_show_create(Session *session, TableList *table_list)
195
196
{
196
 
  plugin::Protocol *protocol= session->protocol;
197
197
  char buff[2048];
198
198
  String buffer(buff, sizeof(buff), system_charset_info);
199
199
 
225
225
                                               max(buffer.length(),(uint32_t)1024)));
226
226
  }
227
227
 
228
 
  if (protocol->sendFields(&field_list))
 
228
  if (session->client->sendFields(&field_list))
229
229
    return true;
230
 
  protocol->prepareForResend();
231
230
  {
232
231
    if (table_list->schema_table)
233
 
      protocol->store(table_list->schema_table->getTableName().c_str());
 
232
      session->client->store(table_list->schema_table->getTableName().c_str());
234
233
    else
235
 
      protocol->store(table_list->table->alias);
 
234
      session->client->store(table_list->table->alias);
236
235
  }
237
236
 
238
 
  protocol->store(buffer.ptr(), buffer.length());
 
237
  session->client->store(buffer.ptr(), buffer.length());
239
238
 
240
 
  if (protocol->write())
 
239
  if (session->client->flush())
241
240
    return true;
242
241
 
243
242
  session->my_eof();
306
305
{
307
306
  char buff[2048];
308
307
  String buffer(buff, sizeof(buff), system_charset_info);
309
 
  plugin::Protocol *protocol= session->protocol;
310
308
 
311
309
  if (store_db_create_info(dbname, &buffer, if_not_exists))
312
310
  {
322
320
  field_list.push_back(new Item_empty_string("Database",NAME_CHAR_LEN));
323
321
  field_list.push_back(new Item_empty_string("Create Database",1024));
324
322
 
325
 
  if (protocol->sendFields(&field_list))
 
323
  if (session->client->sendFields(&field_list))
326
324
    return true;
327
325
 
328
 
  protocol->prepareForResend();
329
 
  protocol->store(dbname, strlen(dbname));
330
 
  protocol->store(buffer.ptr(), buffer.length());
 
326
  session->client->store(dbname, strlen(dbname));
 
327
  session->client->store(buffer.ptr(), buffer.length());
331
328
 
332
 
  if (protocol->write())
 
329
  if (session->client->flush())
333
330
    return true;
334
331
  session->my_eof();
335
332
  return false;
738
735
  Item *field;
739
736
  List<Item> field_list;
740
737
  I_List<thread_info> thread_infos;
741
 
  plugin::Protocol *protocol= session->protocol;
742
738
 
743
739
  field_list.push_back(new Item_int("Id", 0, MY_INT32_NUM_DECIMAL_DIGITS));
744
740
  field_list.push_back(new Item_empty_string("User",16));
751
747
  field->maybe_null= true;
752
748
  field_list.push_back(field=new Item_empty_string("Info", PROCESS_LIST_WIDTH));
753
749
  field->maybe_null= true;
754
 
  if (protocol->sendFields(&field_list))
 
750
  if (session->client->sendFields(&field_list))
755
751
    return;
756
752
 
757
753
  pthread_mutex_lock(&LOCK_thread_count); // For unlink from list
763
759
      tmp= *it;
764
760
      Security_context *tmp_sctx= &tmp->security_ctx;
765
761
      struct st_my_thread_var *mysys_var;
766
 
      if (tmp->protocol->isConnected() && (!user || (tmp_sctx->user.c_str() && !strcmp(tmp_sctx->user.c_str(), user))))
 
762
      if (tmp->client->isConnected() && (!user || (tmp_sctx->user.c_str() && !strcmp(tmp_sctx->user.c_str(), user))))
767
763
      {
768
764
        thread_info *session_info= new thread_info;
769
765
 
781
777
        else
782
778
          session_info->proc_info= command_name[session_info->command].str;
783
779
 
784
 
        session_info->state_info= (char*) (tmp->protocol->isWriting() ?
 
780
        session_info->state_info= (char*) (tmp->client->isWriting() ?
785
781
                                           "Writing to net" :
786
 
                                           tmp->protocol->isReading() ?
 
782
                                           tmp->client->isReading() ?
787
783
                                           (session_info->command == COM_SLEEP ?
788
784
                                            NULL : "Reading from net") :
789
785
                                       tmp->get_proc_info() ? tmp->get_proc_info() :
807
803
  time_t now= time(NULL);
808
804
  while ((session_info=thread_infos.get()))
809
805
  {
810
 
    protocol->prepareForResend();
811
 
    protocol->store((uint64_t) session_info->thread_id);
812
 
    protocol->store(session_info->user);
813
 
    protocol->store(session_info->host);
814
 
    protocol->store(session_info->db);
815
 
    protocol->store(session_info->proc_info);
 
806
    session->client->store((uint64_t) session_info->thread_id);
 
807
    session->client->store(session_info->user);
 
808
    session->client->store(session_info->host);
 
809
    session->client->store(session_info->db);
 
810
    session->client->store(session_info->proc_info);
816
811
 
817
812
    if (session_info->start_time)
818
 
      protocol->store((uint32_t) (now - session_info->start_time));
 
813
      session->client->store((uint32_t) (now - session_info->start_time));
819
814
    else
820
 
      protocol->store();
821
 
 
822
 
    protocol->store(session_info->state_info);
823
 
    protocol->store(session_info->query);
824
 
 
825
 
    if (protocol->write())
826
 
      break; /* purecov: inspected */
 
815
      session->client->store();
 
816
 
 
817
    session->client->store(session_info->state_info);
 
818
    session->client->store(session_info->query);
 
819
 
 
820
    if (session->client->flush())
 
821
      break;
827
822
  }
828
823
  session->my_eof();
829
824
  return;
1512
1507
 
1513
1508
  string db(db_name->str);
1514
1509
 
1515
 
  TableNameIterator tniter(db);
 
1510
  slot::TableNameIterator tniter(db);
1516
1511
  int err= 0;
1517
1512
  string table_name;
1518
1513