MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
table_setup_instruments.h
Go to the documentation of this file.
1
/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
2
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; version 2 of the License.
6
7
This program is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU General Public License for more details.
11
12
You should have received a copy of the GNU General Public License
13
along with this program; if not, write to the Free Software Foundation,
14
51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
15
16
#ifndef TABLE_SETUP_INSTRUMENTS_H
17
#define TABLE_SETUP_INSTRUMENTS_H
18
24
#include "
pfs_instr_class.h
"
25
#include "
pfs_engine_table.h
"
26
33
struct
row_setup_instruments
34
{
36
PFS_instr_class
*
m_instr_class
;
37
};
38
40
struct
pos_setup_instruments
:
public
PFS_double_index
41
{
42
static
const
uint FIRST_VIEW= 1;
43
static
const
uint VIEW_MUTEX= 1;
44
static
const
uint VIEW_RWLOCK= 2;
45
static
const
uint VIEW_COND= 3;
46
static
const
uint VIEW_THREAD= 4;
47
static
const
uint VIEW_FILE= 5;
48
static
const
uint VIEW_TABLE= 6;
49
static
const
uint VIEW_STAGE= 7;
50
static
const
uint VIEW_STATEMENT= 8;
51
static
const
uint VIEW_SOCKET= 9;
52
static
const
uint VIEW_IDLE= 10;
53
static
const
uint LAST_VIEW= 10;
54
55
pos_setup_instruments
()
56
:
PFS_double_index
(FIRST_VIEW, 1)
57
{}
58
59
inline
void
reset(
void
)
60
{
61
m_index_1
= FIRST_VIEW;
62
m_index_2
= 1;
63
}
64
65
inline
bool
has_more_view(
void
)
66
{
return
(
m_index_1
<= LAST_VIEW); }
67
68
inline
void
next_view(
void
)
69
{
70
m_index_1
++;
71
m_index_2
= 1;
72
}
73
};
74
76
class
table_setup_instruments
:
public
PFS_engine_table
77
{
78
public
:
80
static
PFS_engine_table_share
m_share
;
81
static
PFS_engine_table
* create();
82
83
virtual
int
rnd_next
();
84
virtual
int
rnd_pos
(
const
void
*pos);
85
virtual
void
reset_position
(
void
);
86
87
protected
:
88
virtual
int
read_row_values
(
TABLE
*
table
,
89
unsigned
char
*
buf
,
90
Field
**fields,
91
bool
read_all);
92
93
virtual
int
update_row_values
(
TABLE
*
table
,
94
const
unsigned
char
*old_buf,
95
unsigned
char
*new_buf,
96
Field
**fields);
97
98
table_setup_instruments
();
99
100
public
:
101
~
table_setup_instruments
()
102
{}
103
104
private
:
105
void
make_row(
PFS_instr_class
*klass);
106
108
static
THR_LOCK
m_table_lock;
110
static
TABLE_FIELD_DEF
m_field_def;
111
113
row_setup_instruments
m_row;
115
pos_setup_instruments
m_pos;
117
pos_setup_instruments
m_next_pos;
118
};
119
121
#endif
storage
perfschema
table_setup_instruments.h
Generated on Sat Nov 9 2013 01:28:41 for MySQL 5.6.14 Source Code Document by
1.8.1.2