diff options
author | unknown <pekka@mysql.com> | 2005-03-28 23:06:19 +0200 |
---|---|---|
committer | unknown <pekka@mysql.com> | 2005-03-28 23:06:19 +0200 |
commit | 73e15f57f84c2639e320c647b6830e0bab79d858 (patch) | |
tree | e6080a4ea78a3fdff6cf8095ab0d0d77de2e3120 /sql | |
parent | 0e13f97e3a2511afc962aa0f555549567a8ad906 (diff) | |
parent | 5fb5282784c2d3fabb504367c1114282a65bbee8 (diff) | |
download | mariadb-git-73e15f57f84c2639e320c647b6830e0bab79d858.tar.gz |
Merge
client/mysqltest.c:
Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
Auto merged
myisam/mi_create.c:
Auto merged
mysql-test/r/grant2.result:
Auto merged
mysql-test/r/metadata.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/type_enum.result:
Auto merged
mysql-test/t/grant2.test:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
SCCS merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
SCCS merged
sql/sql_union.cc:
DBUG_ASSERT(TRUE) is useless so assume opposite
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_acl.cc | 8 | ||||
-rw-r--r-- | sql/sql_union.cc | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 0a5939428cd..021d771cef1 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -1097,6 +1097,9 @@ static void acl_insert_db(const char *user, const char *host, const char *db, /* Get privilege for a host, user and db combination + + as db_is_pattern changes the semantics of comparison, + acl_cache is not used if db_is_pattern is set. */ ulong acl_get(const char *host, const char *ip, @@ -1116,7 +1119,7 @@ ulong acl_get(const char *host, const char *ip, db=tmp_db; } key_length=(uint) (end-key); - if ((entry=(acl_entry*) acl_cache->search(key,key_length))) + if (!db_is_pattern && (entry=(acl_entry*) acl_cache->search(key,key_length))) { db_access=entry->access; VOID(pthread_mutex_unlock(&acl_cache->lock)); @@ -1165,7 +1168,8 @@ ulong acl_get(const char *host, const char *ip, } exit: /* Save entry in cache for quick retrieval */ - if ((entry= (acl_entry*) malloc(sizeof(acl_entry)+key_length))) + if (!db_is_pattern && + (entry= (acl_entry*) malloc(sizeof(acl_entry)+key_length))) { entry->access=(db_access & host_access); entry->length=key_length; diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 13c7f0a40b7..e366668659b 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -418,7 +418,7 @@ bool st_select_lex_unit::exec() } /* re-enabling indexes for next subselect iteration */ if (union_distinct && table->file->enable_indexes(HA_KEY_SWITCH_ALL)) - DBUG_ASSERT(TRUE); + DBUG_ASSERT(0); } for (SELECT_LEX *sl= select_cursor; sl; sl= sl->next_select()) { |