MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BuildIndxImpl.hpp
1 /* Copyright (C) 2007 MySQL AB
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
14  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
15 
16 #ifndef BUILD_INDX_IMPL_HPP
17 #define BUILD_INDX_IMPL_HPP
18 
19 #include "SignalData.hpp"
20 
22 {
23  enum RequestFlag {
24  RF_BUILD_OFFLINE = 1 << 8
25  ,RF_NO_DISK = 1 << 9 /* Indexed columns are not on disk */
26  };
27 
28  STATIC_CONST( SignalLength = 10 );
29  STATIC_CONST( INDEX_COLUMNS = 0 );
30  STATIC_CONST( KEY_COLUMNS = 1 );
31  STATIC_CONST( NoOfSections = 2 );
32 
33  Uint32 senderRef;
34  Uint32 senderData;
35  Uint32 requestType;
36  Uint32 transId;
37  Uint32 buildId; // Suma subscription id
38  Uint32 buildKey; // Suma subscription key
39  Uint32 tableId;
40  Uint32 indexId;
41  Uint32 indexType;
42  Uint32 parallelism;
43 };
44 
46  STATIC_CONST( SignalLength = 2 );
47 
48  Uint32 senderRef;
49  Uint32 senderData;
50 };
51 
53  enum ErrorCode {
54  NoError = 0,
55  Busy = 701,
56  NotMaster = 702,
57  BadRequestType = 4247,
58  InvalidPrimaryTable = 4249,
59  InvalidIndexType = 4250,
60  IndexNotUnique = 4251,
61  AllocationFailure = 4252,
62  InternalError = 4346
63  };
64 
65  STATIC_CONST( SignalLength = 6 );
66 
67  Uint32 senderRef;
68  Uint32 senderData;
69  Uint32 errorCode;
70  Uint32 errorLine;
71  Uint32 errorNodeId;
72  Uint32 masterNodeId;
73 };
74 
76 {
77  Uint32 senderRef;
78  Uint32 senderData;
79 
80  Uint32 indexId;
81  Uint32 tableId;
82  Uint32 fragId;
83 
84  void * tux_ptr; // ptr to Dbtux
85  void * tup_ptr;
86  Uint32 (* func_ptr)(void *); // c-function
87 
88  void * mem_buffer; // allocated by FS
89  Uint32 buffer_size; //
90 
91  Uint32 pad[3];
92 
93  STATIC_CONST( SignalLength = (6 + 3 + 4 * (sizeof(void*) / 4)));
94 };
95 
96 #endif