Drizzled Public API Documentation

row0sel.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (C) 1997, 2010, Innobase Oy. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
15 St, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************/
26 #pragma once
27 #ifndef row0sel_h
28 #define row0sel_h
29 
30 #include "univ.i"
31 #include "data0data.h"
32 #include "que0types.h"
33 #include "dict0types.h"
34 #include "trx0types.h"
35 #include "row0types.h"
36 #include "que0types.h"
37 #include "pars0sym.h"
38 #include "btr0pcur.h"
39 #include "read0read.h"
40 #include "row0mysql.h"
41 
42 /*********************************************************************/
45 UNIV_INTERN
48 /*============*/
49  mem_heap_t* heap);
50 /*********************************************************************/
53 UNIV_INTERN
54 void
56 /*==================*/
57  sel_node_t* node);
58 /*********************************************************************/
61 UNIV_INTERN
62 void
64 /*======================*/
65  sel_buf_t* prefetch_buf);
66 /*********************************************************************/
69 UNIV_INLINE
70 plan_t*
72 /*==================*/
73  sel_node_t* node,
74  ulint i);
75 /**********************************************************************/
79 UNIV_INTERN
80 que_thr_t*
82 /*=========*/
83  que_thr_t* thr);
84 /**********************************************************************/
87 UNIV_INLINE
88 que_thr_t*
89 open_step(
90 /*======*/
91  que_thr_t* thr);
92 /**********************************************************************/
95 UNIV_INTERN
96 que_thr_t*
98 /*=======*/
99  que_thr_t* thr);
100 /****************************************************************/
103 UNIV_INTERN
104 void*
106 /*============*/
107  void* row,
108  void* user_arg);
109 /***********************************************************/
112 UNIV_INTERN
113 que_thr_t*
115 /*============*/
116  que_thr_t* thr);
117 /****************************************************************/
123 UNIV_INTERN
124 void
126 /*==================================*/
127  dtuple_t* tuple,
131  byte* buf,
133  ulint buf_len,
134  dict_index_t* index,
135  const byte* key_ptr,
136  ulint key_len,
137  trx_t* trx);
138 /********************************************************************/
146 UNIV_INTERN
147 ulint
149 /*=================*/
150  byte* buf,
152  ulint mode,
153  row_prebuilt_t* prebuilt,
160  ulint match_mode,
162  ulint direction);
167 /*******************************************************************/
171 UNIV_INTERN
172 ibool
174 /*======================================*/
175  trx_t* trx,
176  const char* norm_name);
178 /*******************************************************************/
181 UNIV_INTERN
182 ulint
184 /*===================*/
185  dict_index_t* index,
186  const char* col_name,
187  ib_uint64_t* value);
191  byte* data;
195  ulint len;
200 };
201 
203 struct plan_struct{
209  ibool asc;
210  ibool pcur_is_open;
223  que_node_t** tuple_exps;
230  ulint mode;
243  ibool no_prefetch;
244  sym_node_list_t columns;
266  ulint* clust_map;
277 };
278 
286 };
287 
292  state;
293  que_node_t* select_list;
296  ibool asc;
298  ibool set_x_locks;
302  ulint n_tables;
303  ulint fetch_table;
308  que_node_t* search_cond;
316  ibool is_aggregate;
335  copy_variables;
339 };
340 
360 };
361 
366 };
367 
372  op_type;
375 };
376 
381 };
382 
387 };
388 
397 };
398 
399 #ifndef UNIV_NONINL
400 #include "row0sel.ic"
401 #endif
402 
403 #endif