diff options
-rw-r--r-- | mysql-test/r/query_cache.result | 2 | ||||
-rw-r--r-- | mysql-test/t/query_cache.test | 1 | ||||
-rw-r--r-- | sql/item_create.cc | 1 | ||||
-rw-r--r-- | sql/mysqld.cc | 21 |
4 files changed, 16 insertions, 9 deletions
diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index 6863534b2d8..8db57104477 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -299,6 +299,8 @@ select UNIX_TIMESTAMP() from t1; UNIX_TIMESTAMP() select USER() from t1; USER() +select CURRENT_USER() from t1; +CURRENT_USER() select benchmark(1,1) from t1; benchmark(1,1) explain extended select benchmark(1,1) from t1; diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index 6a3d22d2695..475ba466ea9 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -184,6 +184,7 @@ select LAST_INSERT_ID() from t1; select RAND() from t1; select UNIX_TIMESTAMP() from t1; select USER() from t1; +select CURRENT_USER() from t1; select benchmark(1,1) from t1; explain extended select benchmark(1,1) from t1; show status like "Qcache_queries_in_cache"; diff --git a/sql/item_create.cc b/sql/item_create.cc index 35cc46989f7..b9073a6c0b3 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -303,6 +303,7 @@ Item *create_func_current_user() char buff[HOSTNAME_LENGTH+USERNAME_LENGTH+2]; uint length; + thd->lex->safe_to_cache_query= 0; length= (uint) (strxmov(buff, thd->priv_user, "@", thd->priv_host, NullS) - buff); return new Item_static_string_func("current_user()", diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 2d8a0eca877..2c44a789c79 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -788,15 +788,6 @@ void kill_mysql(void) CloseHandle(hEvent); */ } -#ifdef HAVE_SMEM - /* - Send event to smem_event_connect_request for aborting - */ - if (!SetEvent(smem_event_connect_request)) - { - DBUG_PRINT("error",("Got error: %ld from SetEvent of smem_event_connect_request",GetLastError())); - } -#endif #endif #elif defined(OS2) pthread_cond_signal(&eventShutdown); // post semaphore @@ -850,6 +841,18 @@ static void __cdecl kill_server(int sig_ptr) else sql_print_error(ER(ER_GOT_SIGNAL),my_progname,sig); /* purecov: inspected */ +#if defined(HAVE_SMEM) && defined(__WIN__) + /* + Send event to smem_event_connect_request for aborting + */ + if (!SetEvent(smem_event_connect_request)) + { + DBUG_PRINT("error", + ("Got error: %ld from SetEvent of smem_event_connect_request", + GetLastError())); + } +#endif + #if defined(__NETWARE__) || (defined(USE_ONE_SIGNAL_HAND) && !defined(__WIN__) && !defined(OS2)) my_thread_init(); // If this is a new thread #endif |