MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UtilSequence.hpp
1 /*
2  Copyright (C) 2003, 2005, 2006, 2008 MySQL AB
3  All rights reserved. Use is subject to license terms.
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; version 2 of the License.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 #ifndef UTIL_SEQUENCE_HPP
20 #define UTIL_SEQUENCE_HPP
21 
22 #include "SignalData.hpp"
23 
25 
29  friend class DbUtil;
30 
34  friend class Backup;
35  friend class BackupProxy;
36  friend class Suma;
37 
38  friend bool printUTIL_SEQUENCE_REQ(FILE *, const Uint32 *, Uint32, Uint16);
39 public:
40  STATIC_CONST( SignalLength = 4 );
41 
42  enum RequestType {
43  NextVal = 1, // Return uniq value
44  CurrVal = 2, // Read
45  Create = 3, // Create a sequence
46  SetVal = 4 // Set a new sequence
47  };
48 private:
49  Uint32 senderData;
50  Uint32 sequenceId; // Number of sequence variable
51  Uint32 requestType;
52  Uint32 value;
53 };
54 
56 
60  friend class Backup;
61  friend class Suma;
65  friend class DbUtil;
66 
67  friend bool printUTIL_SEQUENCE_CONF(FILE *, const Uint32 *, Uint32, Uint16);
68 public:
69  STATIC_CONST( SignalLength = 5 );
70 
71 private:
72  Uint32 senderData;
73  Uint32 sequenceId;
74  Uint32 requestType;
75  Uint32 sequenceValue[2];
76 };
77 
79 
83  friend class Backup;
84  friend class Suma;
88  friend class DbUtil;
89 
90  friend bool printUTIL_SEQUENCE_REF(FILE *, const Uint32 *, Uint32, Uint16);
91 public:
92  STATIC_CONST( SignalLength = 5 );
93 
94  enum ErrorCode {
95  NoSuchSequence = 1,
96  TCError = 2
97  };
98 private:
99  Uint32 senderData;
100  Uint32 sequenceId;
101  Uint32 requestType;
102  Uint32 errorCode;
103  Uint32 TCErrorCode;
104 };
105 
106 #endif