diff options
author | Michael Widenius <monty@askmonty.org> | 2012-08-01 17:27:34 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2012-08-01 17:27:34 +0300 |
commit | 1d0f70c2f894b27e98773a282871d32802f67964 (patch) | |
tree | 833e683e0ced29c4323c29a9d845703d4dfcd81b /storage/innobase/include/pars0sym.h | |
parent | 5a86a61219826aadf8d08cbc447fe438f2bf50c3 (diff) | |
download | mariadb-git-1d0f70c2f894b27e98773a282871d32802f67964.tar.gz |
Temporary commit of merge of MariaDB 10.0-base and MySQL 5.6
Diffstat (limited to 'storage/innobase/include/pars0sym.h')
-rw-r--r-- | storage/innobase/include/pars0sym.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/storage/innobase/include/pars0sym.h b/storage/innobase/include/pars0sym.h index 6d1a4b82414..4b3b342a533 100644 --- a/storage/innobase/include/pars0sym.h +++ b/storage/innobase/include/pars0sym.h @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Innobase Oy. All Rights Reserved. +Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -11,8 +11,8 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA +this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA *****************************************************************************/ @@ -67,7 +67,7 @@ sym_node_t* sym_tab_add_str_lit( /*================*/ sym_tab_t* sym_tab, /*!< in: symbol table */ - byte* str, /*!< in: string with no quotes around + const byte* str, /*!< in: string with no quotes around it */ ulint len); /*!< in: string length */ /******************************************************************//** @@ -80,6 +80,16 @@ sym_tab_add_bound_lit( sym_tab_t* sym_tab, /*!< in: symbol table */ const char* name, /*!< in: name of bound literal */ ulint* lit_type); /*!< out: type of literal (PARS_*_LIT) */ +/********************************************************************** +Rebind literal to a node in the symbol table. */ + +sym_node_t* +sym_tab_rebind_lit( +/*===============*/ + /* out: symbol table node */ + sym_node_t* node, /* in: node that is bound to literal*/ + const void* address, /* in: pointer to data */ + ulint length); /* in: length of data */ /******************************************************************//** Adds an SQL null literal to a symbol table. @return symbol table node */ @@ -116,11 +126,14 @@ sym_tab_add_bound_id( /** Types of a symbol table node */ enum sym_tab_entry { + SYM_UNSET, /*!< Unset entry. */ SYM_VAR = 91, /*!< declared parameter or local variable of a procedure */ SYM_IMPLICIT_VAR, /*!< storage for a intermediate result of a calculation */ SYM_LIT, /*!< literal */ + SYM_TABLE_REF_COUNTED, /*!< database table name, ref counted. Must + be closed explicitly. */ SYM_TABLE, /*!< database table name */ SYM_COLUMN, /*!< database table name */ SYM_CURSOR, /*!< named cursor */ @@ -210,6 +223,7 @@ struct sym_node_struct{ the symbol table */ UT_LIST_NODE_T(sym_node_t) sym_list; /*!< list of symbol nodes */ + sym_node_t* like_node; /* LIKE operator node*/ }; /** Symbol table */ |