MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DbinfoScan.hpp
1 /*
2  Copyright 2008, 2009 Sun Microsystems, Inc.
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 Street, Fifth Floor, Boston, MA 02110-1301, USA */
17 
18 #ifndef DBINFO_SCAN_H
19 #define DBINFO_SCAN_H
20 
21 #include "SignalData.hpp"
22 
24 {
25  Uint32 data[11];
26 };
27 
28 struct DbinfoScan
29 {
30  STATIC_CONST( SignalLength = 12 );
31 
32  // API identifiers
33  Uint32 resultData; // Will be returned in TransIdAI::connectPtr
34  Uint32 transId[2]; // ID unique to API
35  Uint32 resultRef; // Where to send result rows
36 
37  // Parameters for the scan
38  Uint32 tableId; // DBINFO table ID
39  Uint32 colBitmap[2]; // bitmap of what columns you want. (64bit)
40  Uint32 requestInfo; // flags
41  Uint32 maxRows; // Max number of rows to return per REQ
42  Uint32 maxBytes; // Max number of bytes to return per REQ
43 
44  // Result from the scan
45  Uint32 returnedRows; // Number of rows returned for this CONF
46 
47  // Cursor that contains data used by the kernel for keeping track
48  // of where it is, how many bytes or rows it has sent etc.
49  // Set to zero in last CONF to indicate that scan is finished
50  Uint32 cursor_sz;
51  // Cursor data of cursor_sz size follows
52  DbinfoScanCursor cursor;
53 
54  static const Uint32* getCursorPtr(const DbinfoScan* sig) {
55  return sig->cursor.data;
56  }
57  static Uint32* getCursorPtrSend(DbinfoScan* sig) {
58  return sig->cursor.data;
59  }
60 
61 };
62 
65 
67 {
68  STATIC_CONST( SignalLength = 5 );
69 
70  // API identifiers
71  Uint32 resultData; // Will be returned in TransIdAI::connectPtr
72  Uint32 transId[2]; // ID unique to API
73  Uint32 resultRef; // Where to send result rows
74 
75  Uint32 errorCode; // Error Code
76  enum ErrorCode
77  {
78  NoError = 0,
79  NoTable = 4800
80  };
81 };
82 
83 #endif