MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
WaitGCP.hpp
1 /*
2  Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; version 2 of the License.
7 
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with this program; if not, write to the Free Software
15  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 #ifndef WAIT_GCP_HPP
19 #define WAIT_GCP_HPP
20 
28 class WaitGCPReq {
29 
33  friend class Dbdih;
34 
38  friend class Ndbcntr;
39  friend class Dbdict;
40  friend class Backup;
41  friend class Trix;
42 
43 public:
44  STATIC_CONST( SignalLength = 3 );
45 public:
46  enum RequestType {
47  Complete = 1,
50  CurrentGCI = 8,
51  BlockStartGcp = 9,
52  UnblockStartGcp = 10,
53  WaitEpoch = 11, // If GCP is blocked, wait for epoch to not start
54  RestartGCI = 12 // Return restart GCI
55  };
56 
57  Uint32 senderRef;
58  Uint32 senderData;
59  Uint32 requestType;
60 };
61 
62 class WaitGCPConf {
63 
67  friend class Dbdih;
68 
72  friend class Ndbcntr;
73  friend class Dbdict;
74  friend class Backup;
75  friend class Trix;
76 
77 public:
78  STATIC_CONST( SignalLength = 4 );
79 
80 public:
81  Uint32 senderData;
82  Uint32 gci_hi;
83  Uint32 blockStatus;
84  Uint32 gci_lo;
85 };
86 
87 class WaitGCPRef {
88 
92  friend class Dbdih;
93 
97  friend class Ndbcntr;
98  friend class Dbdict;
99  friend class Backup;
100  friend class Trix;
101  friend class NdbDictInterface;
102 
103 public:
104  STATIC_CONST( SignalLength = 2 );
105 
106  enum ErrorCode {
107  StopOK = 0,
108  NF_CausedAbortOfProcedure = 1,
109  NoWaitGCPRecords = 2,
110  NF_MasterTakeOverInProgress = 3
111  };
112 
113 private:
114  Uint32 errorCode;
115  Uint32 senderData;
116 };
117 
118 #endif