summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/mysqld.cc24
-rw-r--r--sql/nt_servc.cc449
-rw-r--r--sql/share/czech/errmsg.txt8
-rw-r--r--sql/share/danish/errmsg.txt8
-rw-r--r--sql/share/dutch/errmsg.txt10
-rw-r--r--sql/share/english/errmsg.txt10
-rw-r--r--sql/share/estonian/errmsg.txt8
-rw-r--r--sql/share/french/errmsg.txt8
-rw-r--r--sql/share/german/errmsg.txt8
-rw-r--r--sql/share/greek/errmsg.txt9
-rw-r--r--sql/share/hungarian/errmsg.txt9
-rw-r--r--sql/share/italian/errmsg.txt9
-rw-r--r--sql/share/japanese/errmsg.txt9
-rw-r--r--sql/share/korean/errmsg.txt9
-rwxr-xr-xsql/share/norwegian-ny/.cvsignore1
-rw-r--r--sql/share/norwegian-ny/errmsg.txt9
-rwxr-xr-xsql/share/norwegian/.cvsignore1
-rw-r--r--sql/share/norwegian/errmsg.txt9
-rw-r--r--sql/share/polish/errmsg.txt9
-rw-r--r--sql/share/portuguese/errmsg.txt9
-rw-r--r--sql/share/romanian/errmsg.txt9
-rw-r--r--sql/share/russian/errmsg.txt31
-rw-r--r--sql/share/slovak/errmsg.txt9
-rw-r--r--sql/share/spanish/errmsg.txt9
-rw-r--r--sql/share/swedish/errmsg.txt17
-rw-r--r--sql/share/ukrainian/errmsg.txt9
-rw-r--r--sql/sql_select.cc15
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 */
}
}