From 1c4d1f3d057428fb9f30a16a1b47db576ec75916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Fri, 26 Apr 2019 12:53:37 +0300 Subject: [PATCH] innobase_col_check_fk(): Remove copying --- storage/innobase/handler/handler0alter.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index a3b03a45eb3..05bb8ac61cd 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -1376,14 +1376,10 @@ innobase_col_check_fk( { dict_s_col_list::const_iterator it; - for (it = s_cols->begin(); - it != s_cols->end(); ++it) { - dict_s_col_t s_col = *it; - - for (ulint j = 0; j < s_col.num_base; j++) { - if (strcmp(col_name, dict_table_get_col_name( - table, - s_col.base_col[j]->ind)) == 0) { + for (it = s_cols->begin(); it != s_cols->end(); ++it) { + for (ulint j = it->num_base; j--; ) { + if (!strcmp(col_name, dict_table_get_col_name( + table, it->base_col[j]->ind))) { return(true); } }