summaryrefslogtreecommitdiff
path: root/sql/mysql_priv.h
diff options
context:
space:
mode:
authorSergey Glukhov <Sergey.Glukhov@sun.com>2010-01-19 13:03:40 +0400
committerSergey Glukhov <Sergey.Glukhov@sun.com>2010-01-19 13:03:40 +0400
commitbaacdf1dae688fc148967acf20bf1ef79b3f7c01 (patch)
tree4e5206090a5587437984eb53af8aaa3622c76dd1 /sql/mysql_priv.h
parent22cff392741e4bdce19d53a57fa2530a7eac9894 (diff)
downloadmariadb-git-baacdf1dae688fc148967acf20bf1ef79b3f7c01.tar.gz
Bug#49501 Inefficient information_schema check (system collation)
added check_length optimization for I_S_NAME comparison
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r--sql/mysql_priv.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index c04b1f5ae38..2be3b8f1f20 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -1415,8 +1415,12 @@ bool get_schema_tables_result(JOIN *join,
enum enum_schema_table_state executed_place);
enum enum_schema_tables get_schema_table_idx(ST_SCHEMA_TABLE *schema_table);
-#define is_schema_db(X) \
- !my_strcasecmp(system_charset_info, INFORMATION_SCHEMA_NAME.str, (X))
+inline bool is_schema_db(const char *name, size_t len)
+{
+ return (INFORMATION_SCHEMA_NAME.length == len &&
+ !my_strcasecmp(system_charset_info,
+ INFORMATION_SCHEMA_NAME.str, name));
+}
/* sql_prepare.cc */