Merge with global tree
This commit is contained in:
commit
502ba93b38
@ -197,6 +197,7 @@ ram@mysql.r18.ru
|
||||
ram@ram.(none)
|
||||
ranger@regul.home.lan
|
||||
rburnett@build.mysql.com
|
||||
reggie@bob.(none)
|
||||
root@home.(none)
|
||||
root@mc04.(none)
|
||||
root@x3.internalnet
|
||||
|
@ -3234,13 +3234,20 @@ static const char* construct_prompt()
|
||||
break;
|
||||
}
|
||||
case 'p':
|
||||
{
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (!connected)
|
||||
{
|
||||
processed_prompt.append("not_connected");
|
||||
break;
|
||||
}
|
||||
if (strstr(mysql_get_host_info(&mysql),"TCP/IP") ||
|
||||
|
||||
const char *host_info = mysql_get_host_info(&mysql);
|
||||
if (strstr(host_info, "memory"))
|
||||
{
|
||||
processed_prompt.append( mysql.host );
|
||||
}
|
||||
else if (strstr(host_info,"TCP/IP") ||
|
||||
!mysql.unix_socket)
|
||||
add_int_to_prompt(mysql.port);
|
||||
else
|
||||
@ -3249,6 +3256,7 @@ static const char* construct_prompt()
|
||||
processed_prompt.append(pos ? pos+1 : mysql.unix_socket);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 'U':
|
||||
if (!full_username)
|
||||
|
@ -305,6 +305,9 @@ static struct my_option my_long_options[] =
|
||||
{"opt", OPT_OPTIMIZE,
|
||||
"Same as --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-keys. Enabled by default, disable with --skip-opt.",
|
||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"order-by-primary", OPT_ORDER_BY_PRIMARY,
|
||||
"Sorts each table's rows by primary key, or first unique key, if such a key exists. Useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump itself take considerably longer.",
|
||||
(gptr*) &opt_order_by_primary, (gptr*) &opt_order_by_primary, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"password", 'p',
|
||||
"Password to use when connecting to server. If password is not given it's solicited on the tty.",
|
||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
@ -356,9 +359,6 @@ static struct my_option my_long_options[] =
|
||||
{"socket", 'S', "Socket file to use for connection.",
|
||||
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"order-by-primary", OPT_ORDER_BY_PRIMARY,
|
||||
"Sorts each table's rows by primary key, or first unique key, if such a key exists. Useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump itself take considerably longer.",
|
||||
(gptr*) &opt_order_by_primary, (gptr*) &opt_order_by_primary, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#include <sslopt-longopts.h>
|
||||
{"tab",'T',
|
||||
"Creates tab separated textfile for each table to given path. (creates .sql and .txt files). NOTE: This only works if mysqldump is run on the same machine as the mysqld daemon.",
|
||||
|
@ -857,6 +857,7 @@ my_bool handle_local_infile(MYSQL *mysql, const char *net_filename)
|
||||
err:
|
||||
/* free up memory allocated with _init, usually */
|
||||
(*options->local_infile_end)(li_ptr);
|
||||
my_free(buf, MYF(0));
|
||||
DBUG_RETURN(result);
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
|
||||
goto err;
|
||||
}
|
||||
/* Don't call realpath() if the name can't be a link */
|
||||
if (strcmp(name_buff, org_name) ||
|
||||
if (!strcmp(name_buff, org_name) ||
|
||||
my_readlink(index_name, org_name, MYF(0)) == -1)
|
||||
(void) strmov(index_name, org_name);
|
||||
(void) fn_format(data_name,org_name,"",MI_NAME_DEXT,2+4+16);
|
||||
|
@ -778,3 +778,41 @@ sid wnid
|
||||
39560 01019090000
|
||||
37994 01019090000
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
`sid` decimal(8,0) default null,
|
||||
`wnid` varchar(11) not null default '',
|
||||
key `wnid14` (`wnid`(4)),
|
||||
key `wnid` (`wnid`)
|
||||
) engine=myisam default charset=latin1;
|
||||
insert into t1 (`sid`, `wnid`) values
|
||||
('10100','01019000000'),('37986','01019000000'),('37987','01019010000'),
|
||||
('39560','01019090000'),('37989','01019000000'),('37990','01019011000'),
|
||||
('37991','01019011000'),('37992','01019019000'),('37993','01019030000'),
|
||||
('37994','01019090000'),('475','02070000000'),('25253','02071100000'),
|
||||
('25255','02071100000'),('25256','02071110000'),('25258','02071130000'),
|
||||
('25259','02071190000'),('25260','02071200000'),('25261','02071210000'),
|
||||
('25262','02071290000'),('25263','02071300000'),('25264','02071310000'),
|
||||
('25265','02071310000'),('25266','02071320000'),('25267','02071320000'),
|
||||
('25269','02071330000'),('25270','02071340000'),('25271','02071350000'),
|
||||
('25272','02071360000'),('25273','02071370000'),('25281','02071391000'),
|
||||
('25282','02071391000'),('25283','02071399000'),('25284','02071400000'),
|
||||
('25285','02071410000'),('25286','02071410000'),('25287','02071420000'),
|
||||
('25288','02071420000'),('25291','02071430000'),('25290','02071440000'),
|
||||
('25292','02071450000'),('25293','02071460000'),('25294','02071470000'),
|
||||
('25295','02071491000'),('25296','02071491000'),('25297','02071499000');
|
||||
explain select * from t1 where wnid like '0101%' order by wnid;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range wnid14,wnid wnid 11 NULL 10 Using where
|
||||
select * from t1 where wnid like '0101%' order by wnid;
|
||||
sid wnid
|
||||
10100 01019000000
|
||||
37986 01019000000
|
||||
37989 01019000000
|
||||
37987 01019010000
|
||||
37990 01019011000
|
||||
37991 01019011000
|
||||
37992 01019019000
|
||||
37993 01019030000
|
||||
39560 01019090000
|
||||
37994 01019090000
|
||||
drop table t1;
|
||||
|
@ -26,9 +26,11 @@
|
||||
/*
|
||||
Reads the content of a symbolic link
|
||||
If the file is not a symbolic link, return the original file name in to.
|
||||
Returns: 0 if table was a symlink,
|
||||
1 if table was a normal file
|
||||
-1 on error.
|
||||
|
||||
RETURN
|
||||
0 If filename was a symlink, (to will be set to value of symlink)
|
||||
1 If filename was a normal file (to will be set to filename)
|
||||
-1 on error.
|
||||
*/
|
||||
|
||||
int my_readlink(char *to, const char *filename, myf MyFlags)
|
||||
@ -58,6 +60,7 @@ int my_readlink(char *to, const char *filename, myf MyFlags)
|
||||
}
|
||||
else
|
||||
to[length]=0;
|
||||
DBUG_PRINT("exit" ,("result: %d", result));
|
||||
DBUG_RETURN(result);
|
||||
#endif /* HAVE_READLINK */
|
||||
}
|
||||
|
@ -187,28 +187,33 @@ public:
|
||||
};
|
||||
|
||||
void update_max_auto_val(const char *data, int size) {
|
||||
Uint64 val= 0;
|
||||
union {
|
||||
Uint8 u8;
|
||||
Uint16 u16;
|
||||
Uint32 u32;
|
||||
} val;
|
||||
Uint64 v;
|
||||
switch(size){
|
||||
case 8:
|
||||
val= *(Uint8*)data;
|
||||
break;
|
||||
case 16:
|
||||
val= *(Uint16*)data;
|
||||
break;
|
||||
case 24:
|
||||
val= (0xffffff)&*(Uint32*)data;
|
||||
case 64:
|
||||
memcpy(&v,data,8);
|
||||
break;
|
||||
case 32:
|
||||
val= *(Uint32*)data;
|
||||
memcpy(&val.u32,data,4);
|
||||
v= val.u32;
|
||||
break;
|
||||
case 64:
|
||||
val= *(Uint64*)data;
|
||||
case 16:
|
||||
memcpy(&val.u16,data,2);
|
||||
v= val.u16;
|
||||
break;
|
||||
case 8:
|
||||
memcpy(&val.u8,data,1);
|
||||
v= val.u8;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
};
|
||||
if(val > m_max_auto_val)
|
||||
m_max_auto_val= val;
|
||||
if(v > m_max_auto_val)
|
||||
m_max_auto_val= v;
|
||||
};
|
||||
/**
|
||||
* Get attribute descriptor
|
||||
|
@ -847,7 +847,10 @@ int merge_many_buff(SORTPARAM *param, uchar *sort_buffer,
|
||||
}
|
||||
close_cached_file(to_file); // This holds old result
|
||||
if (to_file == t_file)
|
||||
{
|
||||
*t_file=t_file2; // Copy result file
|
||||
setup_io_cache(t_file);
|
||||
}
|
||||
|
||||
DBUG_RETURN(*maxbuffer >= MERGEBUFF2); /* Return 1 if interrupted */
|
||||
} /* merge_many_buff */
|
||||
|
@ -944,6 +944,7 @@ int yylex(void *arg, void *yythd)
|
||||
if ((thd->client_capabilities & CLIENT_MULTI_STATEMENTS) &&
|
||||
(thd->command != COM_PREPARE))
|
||||
{
|
||||
lex->safe_to_cache_query= 0;
|
||||
lex->found_colon= (char*) lex->ptr;
|
||||
thd->server_status|= SERVER_MORE_RESULTS_EXISTS;
|
||||
lex->next_state= MY_LEX_END;
|
||||
|
@ -10443,7 +10443,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
||||
HA_POS_ERROR : tab->join->unit->select_limit_cnt) <= 0)
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
ref_key= new_ref_key;
|
||||
ref_key= new_ref_key;
|
||||
}
|
||||
}
|
||||
/* Check if we get the rows in requested sorted order by using the key */
|
||||
|
Loading…
x
Reference in New Issue
Block a user