diff options
Diffstat (limited to 'sql')
27 files changed, 235 insertions, 480 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 31e51a5729f..bfbe8f8a25a 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1220,7 +1220,7 @@ the thread stack. Please read http://www.mysql.com/doc/L/i/Linux.html\n\n", Some pointers may be invalid and cause the dump to abort...\n"); safe_print_str("thd->query", thd->query, 1024); fprintf(stderr, "thd->thread_id=%ld\n", thd->thread_id); - fprintf(stderr, "\n + fprintf(stderr, "\n\ Successfully dumped variables, if you ran with --log, take a look at the\n\ details of what thread %ld did to cause the crash. In some cases of really\n\ bad corruption, the values shown above may be invalid\n\n", @@ -2721,6 +2721,8 @@ static struct option long_options[] = { {0, 0, 0, 0} }; +#define LONG_TIMEOUT ((ulong) 3600L*24L*365L) + CHANGEABLE_VAR changeable_vars[] = { { "back_log", (long*) &back_log, 50, 1, 65535, 0, 1 }, @@ -2738,15 +2740,15 @@ CHANGEABLE_VAR changeable_vars[] = { { "binlog_cache_size", (long*) &binlog_cache_size, 32*1024L, IO_SIZE, ~0L, 0, IO_SIZE }, { "connect_timeout", (long*) &connect_timeout, - CONNECT_TIMEOUT, 2, 65535, 0, 1 }, + CONNECT_TIMEOUT, 2, LONG_TIMEOUT, 0, 1 }, { "delayed_insert_timeout", (long*) &delayed_insert_timeout, - DELAYED_WAIT_TIMEOUT, 1, ~0L, 0, 1 }, + DELAYED_WAIT_TIMEOUT, 1, LONG_TIMEOUT, 0, 1 }, { "delayed_insert_limit", (long*) &delayed_insert_limit, DELAYED_LIMIT, 1, ~0L, 0, 1 }, { "delayed_queue_size", (long*) &delayed_queue_size, DELAYED_QUEUE_SIZE, 1, ~0L, 0, 1 }, { "flush_time", (long*) &flush_time, - FLUSH_TIME, 0, ~0L, 0, 1 }, + FLUSH_TIME, 0, LONG_TIMEOUT, 0, 1 }, #ifdef HAVE_GEMINI_DB { "gemini_buffer_cache", (long*) &gemini_buffer_cache, 128 * 8192, 16, LONG_MAX, 0, 1 }, @@ -2791,13 +2793,13 @@ CHANGEABLE_VAR changeable_vars[] = { (long*) &innobase_force_recovery, 0, 0, 6, 0, 1}, #endif { "interactive_timeout", (long*) &net_interactive_timeout, - NET_WAIT_TIMEOUT, 1, 31*24*60*60, 0, 1 }, + NET_WAIT_TIMEOUT, 1, LONG_TIMEOUT, 0, 1 }, { "join_buffer_size", (long*) &join_buff_size, 128*1024L, IO_SIZE*2+MALLOC_OVERHEAD, ~0L, MALLOC_OVERHEAD, IO_SIZE }, { "key_buffer_size", (long*) &keybuff_size, KEY_CACHE_SIZE, MALLOC_OVERHEAD, (long) ~0, MALLOC_OVERHEAD, IO_SIZE }, { "long_query_time", (long*) &long_query_time, - 10, 1, ~0L, 0, 1 }, + 10, 1, LONG_TIMEOUT, 0, 1 }, { "lower_case_table_names", (long*) &lower_case_table_names, IF_WIN(1,0), 0, 1, 0, 1 }, { "max_allowed_packet", (long*) &max_allowed_packet, @@ -2836,9 +2838,9 @@ CHANGEABLE_VAR changeable_vars[] = { { "net_retry_count", (long*) &mysqld_net_retry_count, MYSQLD_NET_RETRY_COUNT, 1, ~0L, 0, 1 }, { "net_read_timeout", (long*) &net_read_timeout, - NET_READ_TIMEOUT, 1, 65535, 0, 1 }, + NET_READ_TIMEOUT, 1, LONG_TIMEOUT, 0, 1 }, { "net_write_timeout", (long*) &net_write_timeout, - NET_WRITE_TIMEOUT, 1, 65535, 0, 1 }, + NET_WRITE_TIMEOUT, 1, LONG_TIMEOUT, 0, 1 }, { "open_files_limit", (long*) &open_files_limit, 0, 0, 65535, 0, 1}, { "query_buffer_size", (long*) &query_buff_size, @@ -2848,9 +2850,9 @@ CHANGEABLE_VAR changeable_vars[] = { { "record_rnd_buffer", (long*) &record_rnd_cache_size, 0, IO_SIZE*2+MALLOC_OVERHEAD, ~0L, MALLOC_OVERHEAD, IO_SIZE }, { "slave_net_timeout", (long*) &slave_net_timeout, - SLAVE_NET_TIMEOUT, 1, 65535, 0, 1 }, + SLAVE_NET_TIMEOUT, 1, LONG_TIMEOUT, 0, 1 }, { "slow_launch_time", (long*) &slow_launch_time, - 2L, 0L, ~0L, 0, 1 }, + 2L, 0L, LONG_TIMEOUT, 0, 1 }, { "sort_buffer", (long*) &sortbuff_size, MAX_SORT_MEMORY, MIN_SORT_MEMORY+MALLOC_OVERHEAD*2, ~0L, MALLOC_OVERHEAD, 1 }, { "table_cache", (long*) &table_cache_size, @@ -2864,7 +2866,7 @@ CHANGEABLE_VAR changeable_vars[] = { { "thread_stack", (long*) &thread_stack, DEFAULT_THREAD_STACK, 1024*32, ~0L, 0, 1024 }, { "wait_timeout", (long*) &net_wait_timeout, - NET_WAIT_TIMEOUT, 1, ~0L, 0, 1 }, + NET_WAIT_TIMEOUT, 1, LONG_TIMEOUT, 0, 1 }, { NullS, (long*) 0, 0, 0, 0, 0, 0} }; diff --git a/sql/nt_servc.cc b/sql/nt_servc.cc index 2e7f2fc9c93..6930800982e 100644 --- a/sql/nt_servc.cc +++ b/sql/nt_servc.cc @@ -53,11 +53,12 @@ NTService::NTService() -------------------------------------------------------------------------- */ NTService::~NTService() { - if(ServiceName != NULL) delete[] ServiceName; + if (ServiceName != NULL) delete[] ServiceName; } /* ------------------------------------------------------------------------ -------------------------------------------------------------------------- */ + BOOL NTService::GetOS() { bOsNT = FALSE; @@ -71,12 +72,14 @@ BOOL NTService::GetOS() return bOsNT; } + /* ------------------------------------------------------------------------ Init() Registers the main service thread with the service manager ServiceThread - pointer to the main programs entry function when the service is started -------------------------------------------------------------------------- */ + long NTService::Init(LPCSTR szInternName,void *ServiceThread) { @@ -94,6 +97,8 @@ long NTService::Init(LPCSTR szInternName,void *ServiceThread) return StartServiceCtrlDispatcher(stb); //register with the Service Manager } + + /* ------------------------------------------------------------------------ Install() - Installs the service with Service manager nError values: @@ -101,9 +106,13 @@ long NTService::Init(LPCSTR szInternName,void *ServiceThread) 1 Can't open the Service manager 2 Failed to create service -------------------------------------------------------------------------- */ -BOOL NTService::Install(int startType, LPCSTR szInternName,LPCSTR szDisplayName, - LPCSTR szFullPath, LPCSTR szAccountName,LPCSTR szPassword) + +BOOL NTService::Install(int startType, LPCSTR szInternName, + LPCSTR szDisplayName, + LPCSTR szFullPath, LPCSTR szAccountName, + LPCSTR szPassword) { + BOOL ret_val=FALSE; SC_HANDLE newService, scm; if (!SeekStatus(szInternName,1)) @@ -112,49 +121,40 @@ BOOL NTService::Install(int startType, LPCSTR szInternName,LPCSTR szDisplayName, char szFilePath[_MAX_PATH]; GetModuleFileName(NULL, szFilePath, sizeof(szFilePath)); - // open a connection to the SCM - scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE); - - if (!scm) + if (!(scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE))) + printf("Failed to install the service (Couldn't open the SCM)\n"); + else // Install the new service { - printf("Failed to install the service\n" - "Problems to open the SCM"); - CloseServiceHandle(scm); - return FALSE; - } - else // Install the new service - { newService = CreateService( - scm, - szInternName, - szDisplayName, - dwDesiredAccess, //default: SERVICE_ALL_ACCESS - dwServiceType, //default: SERVICE_WIN32_OWN_PROCESS - (startType == 1 ? SERVICE_AUTO_START : SERVICE_DEMAND_START), //default: SERVICE_AUTOSTART - dwErrorControl, //default: SERVICE_ERROR_NORMAL - szFullPath, //exec full path - szLoadOrderGroup, //default: NULL - lpdwTagID, //default: NULL - szDependencies, //default: NULL - szAccountName, //default: NULL - szPassword); //default: NULL - - if (!newService) + if (!(newService= + CreateService(scm, + szInternName, + szDisplayName, + dwDesiredAccess,//default: SERVICE_ALL_ACCESS + dwServiceType, //default: SERVICE_WIN32_OWN_PROCESS + //default: SERVICE_AUTOSTART + (startType == 1 ? SERVICE_AUTO_START : + SERVICE_DEMAND_START), + dwErrorControl, //default: SERVICE_ERROR_NORMAL + szFullPath, //exec full path + szLoadOrderGroup, //default: NULL + lpdwTagID, //default: NULL + szDependencies, //default: NULL + szAccountName, //default: NULL + szPassword))) //default: NULL + printf("Failed to install the service (Couldn't create service)\n"); + else { - printf("Failed to install the service.\n" - "Problems to create the service."); - CloseServiceHandle(scm); - CloseServiceHandle(newService); - return FALSE; + printf("Service successfully installed.\n"); + CloseServiceHandle(newService); + ret_val=TRUE; // Everything went ok } - else - printf("Service successfully installed.\n"); - } - CloseServiceHandle(scm); - CloseServiceHandle(newService); - return TRUE; - + CloseServiceHandle(scm); + } + return ret_val; } + + /* ------------------------------------------------------------------------ Remove() - Removes the service nError values: @@ -163,9 +163,10 @@ BOOL NTService::Install(int startType, LPCSTR szInternName,LPCSTR szDisplayName, 2 Failed to locate service 3 Failed to delete service -------------------------------------------------------------------------- */ + BOOL NTService::Remove(LPCSTR szInternName) { - + BOOL ret_value=FALSE; SC_HANDLE service, scm; if (!SeekStatus(szInternName,0)) @@ -174,44 +175,28 @@ BOOL NTService::Remove(LPCSTR szInternName) nError=0; // open a connection to the SCM - scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE); - - if (!scm) + if (!(scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE))) { - printf("Failed to remove the service\n" - "Problems to open the SCM"); - CloseServiceHandle(scm); - return FALSE; + printf("Failed to remove the service (Couldn't open the SCM)\n"); } else { - //open the service - service = OpenService(scm,szInternName, DELETE ); - if(service) + if ((service = OpenService(scm,szInternName, DELETE))) { - if(!DeleteService(service)) - { + if (!DeleteService(service)) printf("Failed to remove the service\n"); - CloseServiceHandle(service); - CloseServiceHandle(scm); - return FALSE; - } else + { printf("Service successfully removed.\n"); - } - else - { - printf("Failed to remove the service\n"); - printf("Problems to open the service\n"); + ret_value=TRUE; // everything went ok + } CloseServiceHandle(service); - CloseServiceHandle(scm); - return FALSE; } + else + printf("Failed to remove the service (Couldn't open the service)\n"); + CloseServiceHandle(scm); } - - CloseServiceHandle(service); - CloseServiceHandle(scm); - return TRUE; + return ret_value; } /* ------------------------------------------------------------------------ @@ -229,80 +214,66 @@ void NTService::Stop(void) ServiceMain() - This is the function that is called from the service manager to start the service -------------------------------------------------------------------------- */ + void NTService::ServiceMain(DWORD argc, LPTSTR *argv) { // registration function - pService->hServiceStatusHandle = - RegisterServiceCtrlHandler(pService->ServiceName, - (LPHANDLER_FUNCTION )NTService::ServiceCtrlHandler); - - if(!pService->hServiceStatusHandle) - { - pService->Exit(GetLastError()); - return; - } + if (!(pService->hServiceStatusHandle = + RegisterServiceCtrlHandler(pService->ServiceName, + (LPHANDLER_FUNCTION) + NTService::ServiceCtrlHandler))) + goto error; // notify SCM of progress - if(!pService->SetStatus(SERVICE_START_PENDING,NO_ERROR, 0, 1, 8000)) - { - pService->Exit(GetLastError()); - return; - } + if (!pService->SetStatus(SERVICE_START_PENDING,NO_ERROR, 0, 1, 8000)) + goto error; // create the exit event - pService->hExitEvent = CreateEvent (0, TRUE, FALSE,0); - if(!pService->hExitEvent) - { - pService->Exit(GetLastError()); - return; - } + if (!(pService->hExitEvent = CreateEvent (0, TRUE, FALSE,0))) + goto error; - if(!pService->SetStatus(SERVICE_START_PENDING,NO_ERROR, 0, 3, pService->nStartTimeOut)) - { - pService->Exit(GetLastError()); - return; - } + if (!pService->SetStatus(SERVICE_START_PENDING,NO_ERROR, 0, 3, + pService->nStartTimeOut)) + goto error; // save start arguments pService->my_argc=argc; pService->my_argv=argv; // start the service - if(!pService->StartService()) - { - pService->Exit(GetLastError()); - return; - } + if (!pService->StartService()) + goto error; - // the service is now running. - if(!pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0)) - { - pService->Exit(GetLastError()); - return; - } + // Check that the service is now running. + if (!pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0)) + goto error; // wait for exit event WaitForSingleObject (pService->hExitEvent, INFINITE); // wait for thread to exit - if (WaitForSingleObject (pService->hThreadHandle, 1000)==WAIT_TIMEOUT) + if (WaitForSingleObject (pService->hThreadHandle, 1000) == WAIT_TIMEOUT) CloseHandle(pService->hThreadHandle); pService->Exit(0); + return; + +error: + pService->Exit(GetLastError()); + return; } /* ------------------------------------------------------------------------ StartService() - starts the appliaction thread -------------------------------------------------------------------------- */ + BOOL NTService::StartService() { - // Start the real service's thread (application) - hThreadHandle = (HANDLE) _beginthread((THREAD_FC)fpServiceThread,0,(void *)this); - - if (hThreadHandle==0) return FALSE; - + if (!(hThreadHandle = (HANDLE) _beginthread((THREAD_FC)fpServiceThread,0, + (void *) this))) + return FALSE; bRunning = TRUE; return TRUE; } @@ -314,7 +285,7 @@ void NTService::StopService() bRunning=FALSE; // Set the event for application - if(hShutdownEvent) + if (hShutdownEvent) SetEvent(hShutdownEvent); // Set the event for ServiceMain @@ -325,113 +296,119 @@ void NTService::StopService() -------------------------------------------------------------------------- */ void NTService::PauseService() { - bPause = TRUE; - SuspendThread(hThreadHandle); + bPause = TRUE; + SuspendThread(hThreadHandle); } /* ------------------------------------------------------------------------ -------------------------------------------------------------------------- */ void NTService::ResumeService() { - bPause=FALSE; - ResumeThread(hThreadHandle); + bPause=FALSE; + ResumeThread(hThreadHandle); } /* ------------------------------------------------------------------------ -------------------------------------------------------------------------- */ BOOL NTService::SetStatus (DWORD dwCurrentState,DWORD dwWin32ExitCode, - DWORD dwServiceSpecificExitCode,DWORD dwCheckPoint,DWORD dwWaitHint) + DWORD dwServiceSpecificExitCode, DWORD dwCheckPoint, + DWORD dwWaitHint) { BOOL bRet; SERVICE_STATUS serviceStatus; - dwState=dwCurrentState; - - serviceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; - serviceStatus.dwCurrentState = dwCurrentState; + dwState=dwCurrentState; - if (dwCurrentState == SERVICE_START_PENDING) - serviceStatus.dwControlsAccepted = 0; //don't accept conrol events - else - serviceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | - SERVICE_ACCEPT_PAUSE_CONTINUE | SERVICE_ACCEPT_SHUTDOWN; + serviceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; + serviceStatus.dwCurrentState = dwCurrentState; - // if a specific exit code is defined,set up the win32 exit code properly - if (dwServiceSpecificExitCode == 0) - serviceStatus.dwWin32ExitCode = dwWin32ExitCode; - else - serviceStatus.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR; + if (dwCurrentState == SERVICE_START_PENDING) + serviceStatus.dwControlsAccepted = 0; //don't accept control events + else + serviceStatus.dwControlsAccepted = (SERVICE_ACCEPT_STOP | + SERVICE_ACCEPT_PAUSE_CONTINUE | + SERVICE_ACCEPT_SHUTDOWN); - serviceStatus.dwServiceSpecificExitCode = dwServiceSpecificExitCode; + // if a specific exit code is defined,set up the win32 exit code properly + if (dwServiceSpecificExitCode == 0) + serviceStatus.dwWin32ExitCode = dwWin32ExitCode; + else + serviceStatus.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR; - serviceStatus.dwCheckPoint = dwCheckPoint; - serviceStatus.dwWaitHint = dwWaitHint; + serviceStatus.dwServiceSpecificExitCode = dwServiceSpecificExitCode; - // Pass the status to the Service Manager - bRet=SetServiceStatus (hServiceStatusHandle, &serviceStatus); + serviceStatus.dwCheckPoint = dwCheckPoint; + serviceStatus.dwWaitHint = dwWaitHint; - if(!bRet) StopService(); + // Pass the status to the Service Manager + if (!(bRet=SetServiceStatus (hServiceStatusHandle, &serviceStatus))) + StopService(); - return bRet; + return bRet; } /* ------------------------------------------------------------------------ -------------------------------------------------------------------------- */ void NTService::ServiceCtrlHandler(DWORD ctrlCode) { + DWORD dwState; - DWORD dwState = 0; - - if(!pService) return; + if (!pService) + return; dwState=pService->dwState; // get current state - switch(ctrlCode) - { + switch(ctrlCode) { - /*********** do we need this ? ******************************* - case SERVICE_CONTROL_PAUSE: - if (pService->bRunning && ! pService->bPause) - { - dwState = SERVICE_PAUSED; - pService->SetStatus(SERVICE_PAUSE_PENDING,NO_ERROR, 0, 1, pService->nPauseTimeOut); - pService->PauseService(); - } - break; - - case SERVICE_CONTROL_CONTINUE: - if (pService->bRunning && pService->bPause) - { - dwState = SERVICE_RUNNING; - pService->SetStatus(SERVICE_CONTINUE_PENDING,NO_ERROR, 0, 1, pService->nResumeTimeOut); - pService->ResumeService(); - } - break; - ****************************************************************/ - - case SERVICE_CONTROL_SHUTDOWN: - case SERVICE_CONTROL_STOP: - dwState = SERVICE_STOP_PENDING; - pService->SetStatus(SERVICE_STOP_PENDING,NO_ERROR, 0, 1, pService->nStopTimeOut); - pService->StopService(); - break; - - default: - pService->SetStatus(dwState, NO_ERROR,0, 0, 0); - break; +#ifdef NOT_USED /* do we need this ? */ + case SERVICE_CONTROL_PAUSE: + if (pService->bRunning && ! pService->bPause) + { + dwState = SERVICE_PAUSED; + pService->SetStatus(SERVICE_PAUSE_PENDING,NO_ERROR, 0, 1, + pService->nPauseTimeOut); + pService->PauseService(); + } + break; + + case SERVICE_CONTROL_CONTINUE: + if (pService->bRunning && pService->bPause) + { + dwState = SERVICE_RUNNING; + pService->SetStatus(SERVICE_CONTINUE_PENDING,NO_ERROR, 0, 1, + pService->nResumeTimeOut); + pService->ResumeService(); + } + break; +#endif + + case SERVICE_CONTROL_SHUTDOWN: + case SERVICE_CONTROL_STOP: + dwState = SERVICE_STOP_PENDING; + pService->SetStatus(SERVICE_STOP_PENDING,NO_ERROR, 0, 1, + pService->nStopTimeOut); + pService->StopService(); + break; + + default: + pService->SetStatus(dwState, NO_ERROR,0, 0, 0); + break; } //pService->SetStatus(dwState, NO_ERROR,0, 0, 0); } + /* ------------------------------------------------------------------------ -------------------------------------------------------------------------- */ + void NTService::Exit(DWORD error) { - if (hExitEvent) CloseHandle(hExitEvent); + if (hExitEvent) + CloseHandle(hExitEvent); // Send a message to the scm to tell that we stop if (hServiceStatusHandle) - SetStatus(SERVICE_STOPPED, error,0, 0, 0); + SetStatus(SERVICE_STOPPED, error,0, 0, 0); // If the thread has started kill it ??? // if (hThreadHandle) CloseHandle(hThreadHandle); @@ -441,100 +418,64 @@ void NTService::Exit(DWORD error) /* ------------------------------------------------------------------------ -------------------------------------------------------------------------- */ + BOOL NTService::SeekStatus(LPCSTR szInternName, int OperationType) { + BOOL ret_value=FALSE; SC_HANDLE service, scm; - LPQUERY_SERVICE_CONFIG ConfigBuf; - DWORD dwSize; - SERVICE_STATUS ss; - DWORD dwState = 0xFFFFFFFF; - int k; // open a connection to the SCM - scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE); - - if (!scm) /* problems with the SCM */ - { + if (!(scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE))) printf("There is a problem with the Service Control Manager!\n"); - CloseServiceHandle(scm); - return FALSE; - } - - if (OperationType == 1) /* an install operation */ + else { - service = OpenService(scm,szInternName, SERVICE_ALL_ACCESS ); - if(service) + if (OperationType == 1) { - ConfigBuf = (LPQUERY_SERVICE_CONFIG) LocalAlloc(LPTR, 4096); - printf("The service already exists!\n"); - if ( QueryServiceConfig(service,ConfigBuf,4096,&dwSize) ) + /* an install operation */ + if ((service = OpenService(scm,szInternName, SERVICE_ALL_ACCESS ))) { - printf("The current server installed: %s\n", ConfigBuf->lpBinaryPathName); + LPQUERY_SERVICE_CONFIG ConfigBuf; + DWORD dwSize; + + ConfigBuf = (LPQUERY_SERVICE_CONFIG) LocalAlloc(LPTR, 4096); + printf("The service already exists!\n"); + if (QueryServiceConfig(service,ConfigBuf,4096,&dwSize)) + printf("The current server installed: %s\n", + ConfigBuf->lpBinaryPathName); + LocalFree(ConfigBuf); + CloseServiceHandle(service); } - LocalFree(ConfigBuf); - CloseServiceHandle(scm); - CloseServiceHandle(service); - return FALSE; - } - else - { - CloseServiceHandle(scm); - CloseServiceHandle(service); - return TRUE; - } - } - else /* a remove operation */ - { - service = OpenService(scm,szInternName, SERVICE_ALL_ACCESS ); - if(!service) - { - printf("The service doesn't exists!\n"); - CloseServiceHandle(scm); - CloseServiceHandle(service); - return FALSE; + else + ret_value=TRUE; } - - memset(&ss, 0, sizeof(ss)); - k = QueryServiceStatus(service,&ss); - if (k) + else { - dwState = ss.dwCurrentState; - if (dwState == SERVICE_RUNNING ) - { - printf("Failed to remove the service:\n"); - printf("The service is running!\n" - "Stop the server and try again."); - CloseServiceHandle(service); - CloseServiceHandle(scm); - return FALSE; - } - else if (dwState == SERVICE_STOP_PENDING) - { - printf("Failed to remove the service:\n"); - printf("The service is in stop pending state!\n" - "Wait 30 seconds and try again.\n" - "If this condition persist, reboot the machine\n" - "and try again"); - CloseServiceHandle(service); - CloseServiceHandle(scm); - return FALSE; - } + /* a remove operation */ + if (!(service = OpenService(scm,szInternName, SERVICE_ALL_ACCESS ))) + printf("The service doesn't exists!\n"); else { - CloseServiceHandle(scm); + SERVICE_STATUS ss; + + memset(&ss, 0, sizeof(ss)); + if (QueryServiceStatus(service,&ss)) + { + DWORD dwState = ss.dwCurrentState; + if (dwState == SERVICE_RUNNING) + printf("Failed to remove the service because the service is running\nStop the service and try again\n"); + else if (dwState == SERVICE_STOP_PENDING) + printf("\ +Failed to remove the service because the service is in stop pending state!\n\ +Wait 30 seconds and try again.\n\ +If this condition persist, reboot the machine and try again\n"); + else + ret_value= TRUE; + } CloseServiceHandle(service); - return TRUE; } - } - else - { - CloseServiceHandle(scm); - CloseServiceHandle(service); - } - } - - return FALSE; - + } + CloseServiceHandle(scm); + } + return ret_value; } -/* ------------------------- the end -------------------------------------- */ diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt index 8ab9490e6e8..d1638bee16e 100644 --- a/sql/share/czech/errmsg.txt +++ b/sql/share/czech/errmsg.txt @@ -224,14 +224,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index a9ae97ff293..6585f717a78 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -218,14 +218,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt index 54d79293c74..d14400edc69 100644 --- a/sql/share/dutch/errmsg.txt +++ b/sql/share/dutch/errmsg.txt @@ -167,6 +167,8 @@ "Communicatiepakket kon niet worden gedecomprimeerd", "Fout bij het lezen van communicatiepakketten" "Timeout bij het lezen van communicatiepakketten", +"Got an error writing communication packets", +"Got timeout writing communication packets", "Resultaat string is langer dan max_allowed_packet", "Het gebruikte tabel type ondersteunt geen BLOB/TEXT kolommen", "Het gebruikte tabel type ondersteunt geen AUTO_INCREMENT kolommen", @@ -219,14 +221,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt index 895a34abafe..384d2c846c2 100644 --- a/sql/share/english/errmsg.txt +++ b/sql/share/english/errmsg.txt @@ -215,15 +215,7 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", -"Cannot delete a parent row: a foreign key constraint fails",
\ No newline at end of file +"Cannot delete a parent row: a foreign key constraint fails", diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt index 6411be85b1b..20891c7b001 100644 --- a/sql/share/estonian/errmsg.txt +++ b/sql/share/estonian/errmsg.txt @@ -219,14 +219,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt index 3b1957e0f3b..104e561d642 100644 --- a/sql/share/french/errmsg.txt +++ b/sql/share/french/errmsg.txt @@ -215,14 +215,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt index 71ed306caa3..d0a08a1e7a8 100644 --- a/sql/share/german/errmsg.txt +++ b/sql/share/german/errmsg.txt @@ -218,14 +218,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt index 13e49221808..f778cb857d7 100644 --- a/sql/share/greek/errmsg.txt +++ b/sql/share/greek/errmsg.txt @@ -215,15 +215,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt index 28e890daea2..6ff12c8b49e 100644 --- a/sql/share/hungarian/errmsg.txt +++ b/sql/share/hungarian/errmsg.txt @@ -217,15 +217,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/italian/errmsg.txt b/sql/share/italian/errmsg.txt index 5e64ebcc099..7a3daca9a59 100644 --- a/sql/share/italian/errmsg.txt +++ b/sql/share/italian/errmsg.txt @@ -215,15 +215,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt index 6bf0d588c08..fab60948943 100644 --- a/sql/share/japanese/errmsg.txt +++ b/sql/share/japanese/errmsg.txt @@ -217,15 +217,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt index 6448b8f7327..0dac448e2b2 100644 --- a/sql/share/korean/errmsg.txt +++ b/sql/share/korean/errmsg.txt @@ -215,15 +215,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/norwegian-ny/.cvsignore b/sql/share/norwegian-ny/.cvsignore deleted file mode 100755 index 2f68f259c40..00000000000 --- a/sql/share/norwegian-ny/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -errmsg.sys diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt index ab213ed3f13..78075c3990c 100644 --- a/sql/share/norwegian-ny/errmsg.txt +++ b/sql/share/norwegian-ny/errmsg.txt @@ -217,15 +217,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/norwegian/.cvsignore b/sql/share/norwegian/.cvsignore deleted file mode 100755 index 2f68f259c40..00000000000 --- a/sql/share/norwegian/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -errmsg.sys diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt index d51901b8a21..997d667f812 100644 --- a/sql/share/norwegian/errmsg.txt +++ b/sql/share/norwegian/errmsg.txt @@ -217,15 +217,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt index 4b16c7d5b25..f317d99d48f 100644 --- a/sql/share/polish/errmsg.txt +++ b/sql/share/polish/errmsg.txt @@ -219,15 +219,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt index 7971e29cb96..a3ae06d193f 100644 --- a/sql/share/portuguese/errmsg.txt +++ b/sql/share/portuguese/errmsg.txt @@ -215,15 +215,6 @@ "NЦo И permitido a %-.32s@%-.64s criar novos usuАrios", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt index 2347994c418..26d9f34528a 100644 --- a/sql/share/romanian/errmsg.txt +++ b/sql/share/romanian/errmsg.txt @@ -219,15 +219,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt index 8be8cccc8ea..c02c47696b0 100644 --- a/sql/share/russian/errmsg.txt +++ b/sql/share/russian/errmsg.txt @@ -207,26 +207,17 @@ "Этот сервер не slave, исправьте в конфигурационном файле или коммандой CHANGE MASTER TO", "Не получилось инициализировать структуру master info, проверте persmissions на файле master.info", "Не могу создать процесс SLAVE, проверьте системные ресурсы", -"User %-.64s has already more than 'max_user_connections' active connections", -"You may only use constant expressions with SET", -"Lock wait timeout exceeded", -"The total number of locks exceeds the lock table size", -"Update locks cannot be acquired during a READ UNCOMMITTED transaction", -"DROP DATABASE not allowed while thread is holding global read lock", -"CREATE DATABASE not allowed while thread is holding global read lock", -"Wrong arguments to %s", -"%-.32s@%-.64s is not allowed to create new users", -"Incorrect table definition; All MERGE tables must be in the same database", -"Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", +"У пользователя %-.64s уже больше чем 'max_user_connections' активных соединений", +"Можно использовать только выражение-константу совместно с SET", +"Таймаут ожидания блокировки", +"Общее количество блокировок превысило размер таблицы блокировок", +"Блокировка изменения не может быть получена во время READ UNCOMMITTED транзакции", +"DROP DATABASE запрещен во время глобальной блокировки чтения", +"CREATE DATABASE запрещен во время глобальной блокировки чтения", +"Неправильные аргуметны у %s", +"%-.32s@%-.64s не имеет привилегий создавать новых пользователей", +"Неверное определение таблицы; Все MERGE-таблицы должны быть в одной базе данных", +"Обнаружен deadlock во время получения блокировки; Попробуйте перезапустить транзакцию", "Таблица данного типа не может иметь FULLTEXT индекса", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt index 4e3b9090e4f..189db8a66f8 100644 --- a/sql/share/slovak/errmsg.txt +++ b/sql/share/slovak/errmsg.txt @@ -223,15 +223,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt index 298884151ea..57d4ac9646a 100644 --- a/sql/share/spanish/errmsg.txt +++ b/sql/share/spanish/errmsg.txt @@ -216,15 +216,6 @@ "%-.32s@%-.64s is not allowed to create new users", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "The used table type doesn't support FULLTEXT indexes", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt index 1498090101e..7e8dcaaafcc 100644 --- a/sql/share/swedish/errmsg.txt +++ b/sql/share/swedish/errmsg.txt @@ -215,16 +215,7 @@ "%-.32s@%-.64s har inte rДttigheter att skapa nya anvДndare", "Felaktig tabell definition: Alla tabeller i en MERGE tabell mЕste vara i samma databas", "Fick 'DEADLOCK' vid lЕsfЖrsЖk av block/rad; FЖrsЖk att starta om transaktionen", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"The used table type doesn't support FULLTEXT indexes", -"Cannot add foreign key constraint", -"Cannot add a child row: a foreign key constraint fails", -"Cannot delete a parent row: a foreign key constraint fails", +"Tabelltypen har inte hantering av FULLTEXT index", +"Kan inte lДgga till 'FOREIGN KEY constraint'", +"FOREIGN KEY konflikt: Kan inte skriva barn", +"FOREIGN KEY konflikt: Kan inte radera fader", diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt index 628134a0ef6..4508fc75c27 100644 --- a/sql/share/ukrainian/errmsg.txt +++ b/sql/share/ukrainian/errmsg.txt @@ -220,15 +220,6 @@ "Користувачу %-.32s@%-.64s не дозволено створювати нових користувач╕в", "Incorrect table definition; All MERGE tables must be in the same database", "Deadlock found when trying to get lock; Try restarting transaction", -"Deadlock found when trying to get lock; Try restarting transaction", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", -"Dummy error message: this error number should only occur in MySQL-4", "Використаний тип таблиц╕ не п╕дтриму╓ FULLTEXT ╕ндекс╕в", "Cannot add foreign key constraint", "Cannot add a child row: a foreign key constraint fails", diff --git a/sql/sql_select.cc b/sql/sql_select.cc index ef3cacf114c..14f09454734 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -2942,7 +2942,9 @@ propagate_cond_constants(I_List<COND_CMP> *save_list,COND *and_level, Item_func_eq *func=(Item_func_eq*) cond; bool left_const= func->arguments()[0]->const_item(); bool right_const=func->arguments()[1]->const_item(); - if (!(left_const && right_const)) + if (!(left_const && right_const) && + (func->arguments()[0]->result_type() == + (func->arguments()[1]->result_type()))) { if (right_const) { @@ -3986,14 +3988,17 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure) { if (table->group && join->tmp_table_param.sum_func_count) { - DBUG_PRINT("info",("Using end_update")); if (table->keys) { + DBUG_PRINT("info",("Using end_update")); end_select=end_update; table->file->index_init(0); } else + { + DBUG_PRINT("info",("Using end_unique_update")); end_select=end_unique_update; + } } else if (join->sort_and_group) { @@ -4109,8 +4114,6 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records) int error; bool found=0; COND *on_expr=join_tab->on_expr, *select_cond=join_tab->select_cond; - int (*next_select)(JOIN *,struct st_join_table *,bool)= - join_tab->next_select; if (!(error=(*join_tab->read_first_record)(join_tab))) { @@ -4134,7 +4137,7 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records) break; // Searching after not null columns if (!select_cond || select_cond->val_int()) { - if ((error=(*next_select)(join,join_tab+1,0)) < 0) + if ((error=(*join_tab->next_select)(join,join_tab+1,0)) < 0) return error; if (not_used_in_distinct && found_records != join->found_records) return 0; @@ -4155,7 +4158,7 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records) mark_as_null_row(join_tab->table); // For group by without error if (!select_cond || select_cond->val_int()) { - if ((error=(*next_select)(join,join_tab+1,0)) < 0) + if ((error=(*join_tab->next_select)(join,join_tab+1,0)) < 0) return error; /* purecov: inspected */ } } |