mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / storage / ndb / include / kernel / signaldata / TuxMaint.hpp
blob422a393cb19838335501c4ac936e115c907fd012
1 /* Copyright (c) 2003-2005 MySQL AB
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.
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.
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
14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
16 #ifndef TUX_MAINT_HPP
17 #define TUX_MAINT_HPP
19 #include "SignalData.hpp"
22 * Ordered index maintenance operation.
25 class TuxMaintReq {
26 friend class Dbtup;
27 friend class Dbtux;
28 friend bool printTUX_MAINT_REQ(FILE*, const Uint32*, Uint32, Uint16);
29 public:
30 enum OpCode { // first byte of opInfo
31 OpAdd = 1,
32 OpRemove = 2
34 enum OpFlag { // second byte of opInfo
36 enum ErrorCode {
37 NoError = 0, // must be zero
38 SearchError = 901, // add + found or remove + not found
39 NoMemError = 902
41 STATIC_CONST( SignalLength = 8 );
44 * Error code set by TUX. Zero means no error.
46 Uint32 errorCode;
48 * Table, index, fragment.
50 Uint32 tableId;
51 Uint32 indexId;
52 Uint32 fragId;
54 * Tuple version identified by physical address of "original" tuple
55 * and version number.
57 Uint32 pageId;
58 Uint32 pageIndex;
59 Uint32 tupVersion;
61 * Operation code and flags.
63 Uint32 opInfo;
65 Uint32 tupFragPtrI;
66 Uint32 fragPageId;
69 #endif