Commit e1bc99c1 authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi

After merge fixes

Fixed wrong test of database name (affected optimization of ORDER BY)
parent 494e43c1
......@@ -358,6 +358,10 @@ SOURCE=..\mysys\my_open.c
# End Source File
# Begin Source File
SOURCE=..\mysys\my_file.c
# End Source File
# Begin Source File
SOURCE=..\mysys\my_pread.c
# End Source File
# Begin Source File
......
......@@ -390,6 +390,10 @@ SOURCE=.\my_open.c
# End Source File
# Begin Source File
SOURCE=.\my_file.c
# End Source File
# Begin Source File
SOURCE=.\my_pread.c
# End Source File
# Begin Source File
......
......@@ -243,10 +243,6 @@ a
3
4
5
6
7
8
9
10
11
12
......
......@@ -286,7 +286,7 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
char **arg_unix_socket)
{
HANDLE hPipe=INVALID_HANDLE_VALUE;
char szPipeName [ 257 ];
char pipe_name[1024];
DWORD dwMode;
int i;
my_bool testing_named_pipes=0;
......@@ -297,13 +297,15 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
if (!host || !strcmp(host,LOCAL_HOST))
host=LOCAL_HOST_NAMEDPIPE;
sprintf( szPipeName, "\\\\%s\\pipe\\%s", host, unix_socket);
DBUG_PRINT("info",("Server name: '%s'. Named Pipe: %s",
host, unix_socket));
pipe_name[sizeof(pipe_name)-1]= 0; /* Safety if too long string */
strxnmov(pipe_name, sizeof(pipe_name)-1, "\\\\", host, "\\pipe\\",
unix_socket, NullS);
DBUG_PRINT("info",("Server name: '%s'. Named Pipe: %s", host, unix_socket));
for (i=0 ; i < 100 ; i++) /* Don't retry forever */
{
if ((hPipe = CreateFile(szPipeName,
if ((hPipe = CreateFile(pipe_name,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
......@@ -320,7 +322,7 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
return INVALID_HANDLE_VALUE;
}
/* wait for for an other instance */
if (! WaitNamedPipe(szPipeName, connect_timeout*1000) )
if (! WaitNamedPipe(pipe_name, connect_timeout*1000) )
{
net->last_errno=CR_NAMEDPIPEWAIT_ERROR;
strmov(net->sqlstate, unknown_sqlstate);
......
......@@ -2038,7 +2038,7 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter,
{
if (!strcmp(item_field->table_name,table_name) &&
(!db_name || (db_name && item_field->db_name &&
!strcmp(item_field->table_name,table_name))))
!strcmp(item_field->db_name, db_name))))
{
found= li.ref();
*counter= i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment