~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/logging_noop/logging_noop.cc

  • Committer: Mark Atwood
  • Date: 2008-10-02 20:56:30 UTC
  • mto: This revision was merged to the branch mainline in revision 437.
  • Revision ID: mark@fallenpegasus.com-20081002205630-0rww5k8msxv6hr5k
more make plug logging work

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
 
8
8
#define MAX_MSG_LEN (32*1024)
9
9
 
10
 
static int fd = -1;
 
10
static int fd= -1;
 
11
 
 
12
// copied from drizzled/sql_parse.cc
 
13
 
 
14
const LEX_STRING command_name[]={
 
15
  { C_STRING_WITH_LEN("Sleep") },
 
16
  { C_STRING_WITH_LEN("Quit") },
 
17
  { C_STRING_WITH_LEN("InitDB") },
 
18
  { C_STRING_WITH_LEN("Query") },
 
19
  { C_STRING_WITH_LEN("FieldList") },
 
20
  { C_STRING_WITH_LEN("CreateDB") },
 
21
  { C_STRING_WITH_LEN("DropDB") },
 
22
  { C_STRING_WITH_LEN("Refresh") },
 
23
  { C_STRING_WITH_LEN("Shutdown") },
 
24
  { C_STRING_WITH_LEN("Processlist") },
 
25
  { C_STRING_WITH_LEN("Connect") },
 
26
  { C_STRING_WITH_LEN("Kill") },
 
27
  { C_STRING_WITH_LEN("Ping") },
 
28
  { C_STRING_WITH_LEN("Time") },
 
29
  { C_STRING_WITH_LEN("ChangeUser") },
 
30
  { C_STRING_WITH_LEN("BinlogDump") },
 
31
  { C_STRING_WITH_LEN("ConnectOut") },
 
32
  { C_STRING_WITH_LEN("RegisterSlave") },
 
33
  { C_STRING_WITH_LEN("SetOption") },
 
34
  { C_STRING_WITH_LEN("Daemon") },
 
35
  { C_STRING_WITH_LEN("Error") }
 
36
};
 
37
 
11
38
 
12
39
bool logging_noop_func_pre (THD *thd)
13
40
{
20
47
 
21
48
  msgbuf_len=
22
49
    snprintf(msgbuf, MAX_MSG_LEN,
23
 
             "log bgn thread_id=%ld stmt_id=%ld query_id=%ld command=%d"
 
50
             "log bgn thread_id=%ld query_id=%ld command=%.*s"
24
51
             " db=\"%.*s\" query=\"%.*s\"\n",
25
52
             (unsigned long) thd->thread_id,
26
 
             thd->id,
27
53
             (unsigned long) thd->query_id,
28
 
             thd->command,
 
54
             command_name[thd->command].length, command_name[thd->command].str,
29
55
             thd->db_length, thd->db,
30
56
             thd->query_length, thd->query);
31
57
  wrv= write(fd, msgbuf, msgbuf_len);
45
71
 
46
72
  msgbuf_len=
47
73
    snprintf(msgbuf, MAX_MSG_LEN,
48
 
             "log end thread_id=%ld stmt_id=%ld query_id=%ld command=%d"
 
74
             "log end thread_id=%ld query_id=%ld command=%.*s"
49
75
             " utime=%lld rows.sent=%ld rows.exam=%ld\n",
50
76
             (unsigned long) thd->thread_id, 
51
 
             thd->id,
52
77
             (unsigned long) thd->query_id,
53
 
             thd->command,
 
78
             command_name[thd->command].length, command_name[thd->command].str,
54
79
             (thd->current_utime() - thd->start_utime),
55
80
             (unsigned long) thd->sent_row_count,
56
81
             (unsigned long) thd->examined_row_count);
70
95
  l->logging_pre= logging_noop_func_pre;
71
96
  l->logging_post= logging_noop_func_post;
72
97
 
73
 
  fd = open("/tmp/drizzle.log", O_WRONLY | O_APPEND);
74
 
  if (fd < 0) return fd;
 
98
  fd= open("/tmp/drizzle.log", O_WRONLY | O_APPEND);
 
99
  if (fd < 0) {
 
100
    fprintf(stderr,
 
101
            "MRA fail open /tmp/drizzle.log fd=%d er=%s\n",
 
102
            fd, strerror(errno));
 
103
    return fd;
 
104
  }
75
105
 
76
106
  /* need to do something better with the fd */
77
107