summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-08-09 12:59:03 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-08-09 12:59:39 +0300
commit620ba97cfc2e3db00c3f8e423ad92e24d255af8f (patch)
treea92a6e5d17675a7f8b4e2a75f2373ab77cf7c6ee /sql/sql_parse.cc
parentf717fb824228d83a6cffc4164d64f40732197066 (diff)
parent6685cdc2501b47a97a1135fa144f78696a2f10da (diff)
downloadmariadb-git-620ba97cfc2e3db00c3f8e423ad92e24d255af8f.tar.gz
Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc29
1 files changed, 11 insertions, 18 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 0c1c78d59cf..f8a1e3bb01f 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -124,14 +124,6 @@ static void wsrep_mysql_parse(THD *thd, char *rawbuf, uint length,
@{
*/
-/* Used in error handling only */
-#define SP_COM_STRING(LP) \
- ((LP)->sql_command == SQLCOM_CREATE_SPFUNCTION || \
- (LP)->sql_command == SQLCOM_ALTER_FUNCTION || \
- (LP)->sql_command == SQLCOM_SHOW_CREATE_FUNC || \
- (LP)->sql_command == SQLCOM_DROP_FUNCTION ? \
- "FUNCTION" : "PROCEDURE")
-
static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables);
static void sql_kill(THD *thd, longlong id, killed_state state, killed_type type);
static void sql_kill_user(THD *thd, LEX_USER *user, killed_state state);
@@ -5007,7 +4999,8 @@ end_with_restore_list:
goto error;
if (!(res= sql_set_variables(thd, lex_var_list, true)))
{
- my_ok(thd);
+ if (!thd->is_error())
+ my_ok(thd);
}
else
{
@@ -5841,11 +5834,11 @@ end_with_restore_list:
break;
case SP_KEY_NOT_FOUND:
my_error(ER_SP_DOES_NOT_EXIST, MYF(0),
- SP_COM_STRING(lex), ErrConvDQName(lex->spname).ptr());
+ sph->type_str(), ErrConvDQName(lex->spname).ptr());
goto error;
default:
my_error(ER_SP_CANT_ALTER, MYF(0),
- SP_COM_STRING(lex), ErrConvDQName(lex->spname).ptr());
+ sph->type_str(), ErrConvDQName(lex->spname).ptr());
goto error;
}
break;
@@ -5950,18 +5943,18 @@ end_with_restore_list:
res= write_bin_log(thd, TRUE, thd->query(), thd->query_length());
push_warning_printf(thd, Sql_condition::WARN_LEVEL_NOTE,
ER_SP_DOES_NOT_EXIST, ER_THD(thd, ER_SP_DOES_NOT_EXIST),
- SP_COM_STRING(lex),
+ sph->type_str(),
ErrConvDQName(lex->spname).ptr());
if (!res)
my_ok(thd);
break;
}
my_error(ER_SP_DOES_NOT_EXIST, MYF(0),
- SP_COM_STRING(lex), ErrConvDQName(lex->spname).ptr());
+ sph->type_str(), ErrConvDQName(lex->spname).ptr());
goto error;
default:
my_error(ER_SP_DROP_FAILED, MYF(0),
- SP_COM_STRING(lex), ErrConvDQName(lex->spname).ptr());
+ sph->type_str(), ErrConvDQName(lex->spname).ptr());
goto error;
}
break;
@@ -5992,7 +5985,7 @@ end_with_restore_list:
{
/* We don't distinguish between errors for now */
my_error(ER_SP_DOES_NOT_EXIST, MYF(0),
- SP_COM_STRING(lex), lex->spname->m_name.str);
+ sph->type_str(), lex->spname->m_name.str);
goto error;
}
break;
@@ -9677,7 +9670,7 @@ LEX_USER *create_definer(THD *thd, LEX_CSTRING *user_name,
The function is not used in existing code but can be useful later?
*/
-bool check_string_byte_length(LEX_CSTRING *str, uint err_msg,
+bool check_string_byte_length(const LEX_CSTRING *str, uint err_msg,
uint max_byte_length)
{
if (str->length <= max_byte_length)
@@ -9707,7 +9700,7 @@ bool check_string_byte_length(LEX_CSTRING *str, uint err_msg,
*/
-bool check_string_char_length(LEX_CSTRING *str, uint err_msg,
+bool check_string_char_length(const LEX_CSTRING *str, uint err_msg,
uint max_char_length, CHARSET_INFO *cs,
bool no_error)
{
@@ -9726,7 +9719,7 @@ bool check_string_char_length(LEX_CSTRING *str, uint err_msg,
}
-bool check_ident_length(LEX_CSTRING *ident)
+bool check_ident_length(const LEX_CSTRING *ident)
{
if (check_string_char_length(ident, 0, NAME_CHAR_LEN, system_charset_info, 1))
{