InnoDB Plugin  1.0
dict0stats_bg.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 2012, 2013, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************/
26 #ifndef dict0stats_bg_h
27 #define dict0stats_bg_h
28 
29 #include "univ.i"
30 
31 #include "dict0types.h" /* dict_table_t, table_id_t */
32 #include "os0sync.h" /* os_event_t */
33 #include "os0thread.h" /* DECLARE_THREAD */
34 
37 
38 /*****************************************************************/
44 UNIV_INTERN
45 void
47 /*=======================*/
48  const dict_table_t* table);
50 /*****************************************************************/
53 UNIV_INTERN
54 void
56 /*=======================*/
57  const dict_table_t* table);
62 #define DICT_STATS_BG_YIELD(trx) do { \
63  row_mysql_unlock_data_dictionary(trx); \
64  os_thread_sleep(250000); \
65  row_mysql_lock_data_dictionary(trx); \
66 } while (0)
67 
68 /*****************************************************************/
72 UNIV_INLINE
73 bool
75 /*===============*/
76  dict_table_t* table)
77  __attribute__((warn_unused_result));
78 
79 /*****************************************************************/
88 UNIV_INTERN
89 void
91 /*===================================*/
92  dict_table_t* table,
93  trx_t* trx);
95 /*****************************************************************/
98 UNIV_INTERN
99 void
101 /*====================*/
102 
103 /*****************************************************************/
106 UNIV_INTERN
107 void
109 /*======================*/
110 
111 /*****************************************************************/
116 extern "C" UNIV_INTERN
117 os_thread_ret_t
119 /*==============================*/
120  void* arg);
123 # ifndef UNIV_NONINL
124 # include "dict0stats_bg.ic"
125 # endif
126 
127 #endif /* dict0stats_bg_h */