diff options
author | unknown <monty@hundin.mysql.fi> | 2001-09-02 19:58:08 +0300 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-09-02 19:58:08 +0300 |
commit | 3719b87396063fadf9a88a6acc6584f1321a7d6a (patch) | |
tree | c1066773b871f44ebb365c32dab0432f7da6da94 /sql/sql_parse.cc | |
parent | fa7b17e904a73da0e938eac8e8d1503838d78202 (diff) | |
parent | ddee00a6edc735b3bbef42b7d0d662091debd560 (diff) | |
download | mariadb-git-3719b87396063fadf9a88a6acc6584f1321a7d6a.tar.gz |
merge
configure.in:
Auto merged
sql/ha_innobase.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/lock.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index dac9af6d9fb..687d325a95a 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -67,9 +67,13 @@ extern struct st_VioSSLAcceptorFd * ssl_acceptor_fd; #ifdef __WIN__ static void test_signal(int sig_ptr) { -#ifndef DBUG_OFF +#if !defined( DBUG_OFF) MessageBox(NULL,"Test signal","DBUG",MB_OK); #endif +#if defined(OS2) + fprintf( stderr, "Test signal %d\n", sig_ptr); + fflush( stderr); +#endif } static void init_signals(void) { @@ -175,7 +179,6 @@ static bool check_user(THD *thd,enum_server_command command, const char *user, */ static HASH hash_user_connections; -static DYNAMIC_ARRAY user_conn_array; extern pthread_mutex_t LOCK_user_conn; struct user_conn { @@ -482,7 +485,7 @@ pthread_handler_decl(handle_one_connection,arg) pthread_detach_this_thread(); -#ifndef __WIN__ /* Win32 calls this in pthread_create */ +#if !defined( __WIN__) && !defined(OS2) /* Win32 calls this in pthread_create */ if (my_thread_init()) // needed to be called first before we call // DBUG_ macros { @@ -504,9 +507,9 @@ pthread_handler_decl(handle_one_connection,arg) thd->thread_id)); // now that we've called my_thread_init(), it is safe to call DBUG_* -#ifdef __WIN__ +#if defined(__WIN__) init_signals(); // IRENA; testing ? -#else +#elif !defined(OS2) sigset_t set; VOID(sigemptyset(&set)); // Get mask in use VOID(pthread_sigmask(SIG_UNBLOCK,&set,&thd->block_signals)); @@ -607,7 +610,7 @@ pthread_handler_decl(handle_bootstrap,arg) thd->thread_stack= (char*) &thd; thd->mysys_var=my_thread_var; thd->dbug_thread_id=my_thread_id(); -#ifndef __WIN__ +#if !defined(__WIN__) && !defined(OS2) sigset_t set; VOID(sigemptyset(&set)); // Get mask in use VOID(pthread_sigmask(SIG_UNBLOCK,&set,&thd->block_signals)); @@ -960,7 +963,9 @@ bool dispatch_command(enum enum_server_command command, THD *thd, #ifdef __WIN__ sleep(1); // must wait after eof() #endif +#ifndef OS2 send_eof(net); // This is for 'quit request' +#endif close_connection(net); close_thread_tables(thd); // Free before kill free_root(&thd->mem_root,MYF(0)); @@ -2294,10 +2299,18 @@ static bool check_merge_table_access(THD *thd, char *db, int error=0; if (table_list) { - /* Force all tables to use the current database */ + /* Check that all tables use the current database */ TABLE_LIST *tmp; for (tmp=table_list; tmp ; tmp=tmp->next) - tmp->db=db; + { + if (!tmp->db || !tmp->db[0]) + tmp->db=db; + else if (!strcmp(tmp->db,db)) + { + send_error(&thd->net,ER_UNION_TABLES_IN_DIFFERENT_DIR); + return 1; + } + } error=check_table_access(thd, SELECT_ACL | UPDATE_ACL | DELETE_ACL, table_list); } @@ -2804,13 +2817,11 @@ TABLE_LIST *add_table_to_list(Table_ident *table, LEX_STRING *alias, DBUG_RETURN(0); } -#ifdef FN_LOWER_CASE if (!alias) /* Alias is case sensitive */ if (!(alias_str=thd->memdup(alias_str,table->table.length+1))) DBUG_RETURN(0); if (lower_case_table_names) casedn_str(table->table.str); -#endif if (!(ptr = (TABLE_LIST *) thd->calloc(sizeof(TABLE_LIST)))) DBUG_RETURN(0); /* purecov: inspected */ ptr->db= table->db.str ? table->db.str : (thd->db ? thd->db : (char*) ""); |