diff options
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r-- | sql/sql_lex.h | 57 |
1 files changed, 21 insertions, 36 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 245e995bc2d..5f1f4a397d4 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -2975,8 +2975,6 @@ public: void start(THD *thd); - const char *substatement_query(THD *thd) const; - inline bool is_ps_or_view_context_analysis() { return (context_analysis_only & @@ -3207,22 +3205,16 @@ public: bool sp_open_cursor(THD *thd, const LEX_CSTRING *name, List<sp_assignment_lex> *parameters); Item_splocal *create_item_for_sp_var(LEX_CSTRING *name, sp_variable *spvar, - const char *start_in_q, - const char *end_in_q); + const char *start, const char *end); Item *create_item_ident_nosp(THD *thd, LEX_CSTRING *name); Item *create_item_ident_sp(THD *thd, LEX_CSTRING *name, - uint start_in_q, - uint length_in_q); - Item *create_item_ident_sp(THD *thd, LEX_CSTRING *name, - const char *start_in_q, - const char *end_in_q); + const char *start, const char *end); Item *create_item_ident(THD *thd, LEX_CSTRING *name, - const char *start_in_q, - const char *end_in_q) + const char *start, const char *end) { return sphead ? - create_item_ident_sp(thd, name, start_in_q, end_in_q) : + create_item_ident_sp(thd, name, start, end) : create_item_ident_nosp(thd, name); } @@ -3249,15 +3241,15 @@ public: @param field - the ROW variable field name @param spvar - the variable that was previously found by name using "var_name". - @pos_in_q - position in the query (for binary log) - @length_in_q - length in the query (for binary log) + @param start - position in the query (for binary log) + @param end - end in the query (for binary log) */ Item_splocal *create_item_spvar_row_field(THD *thd, const LEX_CSTRING *var, const LEX_CSTRING *field, sp_variable *spvar, - uint pos_in_q, - uint length_in_q); + const char *start, + const char *end); /* Create an item from its qualified name. Depending on context, it can be either a ROW variable field, @@ -3267,15 +3259,15 @@ public: @param thd - THD, for mem_root @param a - the first name @param b - the second name - @param pos_in_q - position in the query (for binary log) - @param length_in_q - length in the query (for binary log) + @param start - position in the query (for binary log) + @param end - end in the query (for binary log) @retval - NULL on error, or a pointer to a new Item. */ Item *create_item_ident(THD *thd, const LEX_CSTRING *a, const LEX_CSTRING *b, - uint pos_in_q, uint length_in_q); - + const char *start, + const char *end); /* Create an item from its qualified name. Depending on context, it can be a table field, a table field reference, @@ -3314,23 +3306,24 @@ public: Create an item for a name in LIMIT clause: LIMIT var @param THD - THD, for mem_root @param var_name - the variable name - @param pos_in_q - position in the query (for binary log) - @param length_in_q - length in the query (for binary log) + @param start - position in the query (for binary log) + @param end - end in the query (for binary log) @retval - a new Item corresponding to the SP variable, or NULL on error (non in SP, unknown variable, wrong data type). */ Item *create_item_limit(THD *thd, const LEX_CSTRING *var_name, - uint pos_in_q, uint length_in_q); + const char *start, + const char *end); /* Create an item for a qualified name in LIMIT clause: LIMIT var.field @param THD - THD, for mem_root @param var_name - the variable name @param field_name - the variable field name - @param pos_in_q - position in the query (for binary log) - @param length_in_q - length in the query (for binary log) + @param start - start in the query (for binary log) + @param end - end in the query (for binary log) @retval - a new Item corresponding to the SP variable, or NULL on error (non in SP, unknown variable, unknown ROW field, @@ -3339,7 +3332,8 @@ public: Item *create_item_limit(THD *thd, const LEX_CSTRING *var_name, const LEX_CSTRING *field_name, - uint pos_in_q, uint length_in_q); + const char *start, + const char *end); Item *make_item_func_replace(THD *thd, Item *org, Item *find, Item *replace); @@ -3422,16 +3416,7 @@ public: bool sp_push_goto_label(THD *thd, const LEX_CSTRING *label_name); Item_param *add_placeholder(THD *thd, const LEX_CSTRING *name, - uint pos_in_query, uint len_in_query); - Item_param *add_placeholder(THD *thd, const LEX_CSTRING *name, - const char *start, const char *end) - { - size_t pos= start - substatement_query(thd); - size_t len= end - start; - DBUG_ASSERT(pos < UINT_MAX32); - DBUG_ASSERT(len < UINT_MAX32); - return add_placeholder(thd, name, (uint) pos, (uint) len); - } + const char *start, const char *end); /* Integer range FOR LOOP methods */ sp_variable *sp_add_for_loop_variable(THD *thd, const LEX_CSTRING *name, |