MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TuxBound.hpp
1 /*
2  Copyright (C) 2003-2006 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 TUX_BOUND_HPP
20 #define TUX_BOUND_HPP
21 
22 #include "SignalData.hpp"
23 
24 class TuxBoundInfo {
25  friend class Dblqh;
26  friend class Dbtux;
27 public:
28  // must match API (0-4 and no changes expected)
29  enum BoundType {
30  BoundLE = 0, // bit 1 for less/greater
31  BoundLT = 1, // bit 0 for strict
32  BoundGE = 2,
33  BoundGT = 3,
34  BoundEQ = 4,
35  // stats scan parameter ids
36  StatSaveSize = 11,
37  StatSaveScale = 12
38  };
39  enum ErrorCode {
40  InvalidAttrInfo = 4110,
41  InvalidBounds = 4259,
42  OutOfBuffers = 873,
43  InvalidCharFormat = 744,
44  TooMuchAttrInfo = 823
45  };
46  STATIC_CONST( SignalLength = 3 );
47 private:
48  /*
49  * Error code set by TUX. Zero means no error.
50  */
51  Uint32 errorCode;
52  /*
53  * Pointer (i-value) to scan operation in TUX.
54  */
55  Uint32 tuxScanPtrI;
56  /*
57  * Number of words of bound info included after fixed signal data.
58  */
59  Uint32 boundAiLength;
60 
61  Uint32 data[1];
62 };
63 
64 #endif