Drizzled Public API Documentation

eval0eval.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003 Copyright (C) 1997, 2009, Innobase Oy. All Rights Reserved.
00004 
00005 This program is free software; you can redistribute it and/or modify it under
00006 the terms of the GNU General Public License as published by the Free Software
00007 Foundation; version 2 of the License.
00008 
00009 This program is distributed in the hope that it will be useful, but WITHOUT
00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00011 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
00012 
00013 You should have received a copy of the GNU General Public License along with
00014 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
00015 St, Fifth Floor, Boston, MA 02110-1301 USA
00016 
00017 *****************************************************************************/
00018 
00019 /**************************************************/
00027 #pragma once
00028 #ifndef eval0eval_h
00029 #define eval0eval_h
00030 
00031 #include "univ.i"
00032 #include "que0types.h"
00033 #include "pars0sym.h"
00034 #include "pars0pars.h"
00035 
00036 /*****************************************************************/
00040 UNIV_INTERN
00041 void
00042 eval_node_free_val_buf(
00043 /*===================*/
00044   que_node_t* node);  
00045 /*****************************************************************/
00047 UNIV_INLINE
00048 void
00049 eval_sym(
00050 /*=====*/
00051   sym_node_t* sym_node);  
00052 /*****************************************************************/
00054 UNIV_INLINE
00055 void
00056 eval_exp(
00057 /*=====*/
00058   que_node_t* exp_node);  
00059 /*****************************************************************/
00061 UNIV_INLINE
00062 void
00063 eval_node_set_int_val(
00064 /*==================*/
00065   que_node_t* node, 
00066   lint    val); 
00067 /*****************************************************************/
00070 UNIV_INLINE
00071 lint
00072 eval_node_get_int_val(
00073 /*==================*/
00074   que_node_t* node);  
00075 /*****************************************************************/
00078 UNIV_INLINE
00079 void
00080 eval_node_copy_and_alloc_val(
00081 /*=========================*/
00082   que_node_t* node, 
00083   const byte* str,  
00084   ulint   len); 
00085 /*****************************************************************/
00087 UNIV_INLINE
00088 void
00089 eval_node_copy_val(
00090 /*===============*/
00091   que_node_t* node1,  
00092   que_node_t* node2); 
00093 /*****************************************************************/
00096 UNIV_INLINE
00097 ibool
00098 eval_node_get_ibool_val(
00099 /*====================*/
00100   que_node_t* node);  
00101 /*****************************************************************/
00104 UNIV_INTERN
00105 ibool
00106 eval_cmp(
00107 /*=====*/
00108   func_node_t*  cmp_node);  
00111 #ifndef UNIV_NONINL
00112 #include "eval0eval.ic"
00113 #endif
00114 
00115 #endif