Merge with 4.0
This commit is contained in:
commit
0197fc78c9
@ -7,13 +7,13 @@ select 9223372036854775807,-009223372036854775808;
|
|||||||
9223372036854775807 -9223372036854775808
|
9223372036854775807 -9223372036854775808
|
||||||
select +9999999999999999999,-9999999999999999999;
|
select +9999999999999999999,-9999999999999999999;
|
||||||
+9999999999999999999 -9999999999999999999
|
+9999999999999999999 -9999999999999999999
|
||||||
10000000000000000000 -10000000000000000000
|
9999999999999999999 -10000000000000000000
|
||||||
select cast(9223372036854775808 as unsigned)+1;
|
select cast(9223372036854775808 as unsigned)+1;
|
||||||
cast(9223372036854775808 as unsigned)+1
|
cast(9223372036854775808 as unsigned)+1
|
||||||
9223372036854775809
|
9223372036854775809
|
||||||
select 9223372036854775808+1;
|
select 9223372036854775808+1;
|
||||||
9223372036854775808+1
|
9223372036854775808+1
|
||||||
9223372036854775808
|
9223372036854775809
|
||||||
create table t1 (a bigint unsigned not null, primary key(a));
|
create table t1 (a bigint unsigned not null, primary key(a));
|
||||||
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE);
|
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
|
@ -12,12 +12,6 @@ select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296;
|
|||||||
select 9223372036854775807,-009223372036854775808;
|
select 9223372036854775807,-009223372036854775808;
|
||||||
select +9999999999999999999,-9999999999999999999;
|
select +9999999999999999999,-9999999999999999999;
|
||||||
select cast(9223372036854775808 as unsigned)+1;
|
select cast(9223372036854775808 as unsigned)+1;
|
||||||
|
|
||||||
#
|
|
||||||
# We need to do a REPLACE here as the atof() function returns different
|
|
||||||
# values on True64 and HPUX11
|
|
||||||
#
|
|
||||||
--replace_result 9223372036854775800 9223372036854775808
|
|
||||||
select 9223372036854775808+1;
|
select 9223372036854775808+1;
|
||||||
#
|
#
|
||||||
# In 3.23 we have to disable the test of column to bigint as
|
# In 3.23 we have to disable the test of column to bigint as
|
||||||
|
@ -1282,7 +1282,13 @@ ha_innobase::open(
|
|||||||
The column is the row id in the automatical generation case,
|
The column is the row id in the automatical generation case,
|
||||||
and it will never be updated anyway.
|
and it will never be updated anyway.
|
||||||
*/
|
*/
|
||||||
DBUG_ASSERT(key_used_on_scan == MAX_KEY);
|
|
||||||
|
if (key_used_on_scan != MAX_KEY) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"InnoDB: Warning: table %s key_used_on_scan is %lu even though there is no\n"
|
||||||
|
"InnoDB: primary key inside InnoDB.\n",
|
||||||
|
name, (ulint)key_used_on_scan);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto_inc_counter_for_this_stat = 0;
|
auto_inc_counter_for_this_stat = 0;
|
||||||
@ -4185,9 +4191,12 @@ static void free_share(INNOBASE_SHARE *share)
|
|||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
Converts a MySQL table lock stored in the 'lock' field of the handle to
|
Converts a MySQL table lock stored in the 'lock' field of the handle to
|
||||||
a proper type before storing the lock. MySQL also calls this when it
|
a proper type before storing pointer to the lock into an array of pointers.
|
||||||
releases a lock. */
|
MySQL also calls this if it wants to reset some table locks to a not-locked
|
||||||
|
state during the processing of an SQL query. An example is that during a
|
||||||
|
SELECT the read lock is released early on the 'const' tables where we only
|
||||||
|
fetch one row. MySQL does not call this when it releases all locks at the
|
||||||
|
end of an SQL statement. */
|
||||||
|
|
||||||
THR_LOCK_DATA**
|
THR_LOCK_DATA**
|
||||||
ha_innobase::store_lock(
|
ha_innobase::store_lock(
|
||||||
|
@ -451,7 +451,7 @@ inline static uint int_token(const char *str,uint length)
|
|||||||
{
|
{
|
||||||
cmp=longlong_str;
|
cmp=longlong_str;
|
||||||
smaller=LONG_NUM;
|
smaller=LONG_NUM;
|
||||||
bigger=REAL_NUM;
|
bigger= ULONGLONG_NUM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (*cmp && *cmp++ == *str++) ;
|
while (*cmp && *cmp++ == *str++) ;
|
||||||
|
@ -91,7 +91,9 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
|
|||||||
*enclosed=ex->enclosed;
|
*enclosed=ex->enclosed;
|
||||||
bool is_fifo=0;
|
bool is_fifo=0;
|
||||||
LOAD_FILE_INFO lf_info;
|
LOAD_FILE_INFO lf_info;
|
||||||
char * db = table_list->db ? table_list->db : thd->db;
|
char *db = table_list->db; // This is never null
|
||||||
|
/* If no current database, use database where table is located */
|
||||||
|
char *tdb= thd->db ? thd->db : db;
|
||||||
bool transactional_table, log_delayed;
|
bool transactional_table, log_delayed;
|
||||||
DBUG_ENTER("mysql_load");
|
DBUG_ENTER("mysql_load");
|
||||||
|
|
||||||
@ -173,10 +175,10 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
|
|||||||
ex->file_name+=dirname_length(ex->file_name);
|
ex->file_name+=dirname_length(ex->file_name);
|
||||||
#endif
|
#endif
|
||||||
if (!dirname_length(ex->file_name) &&
|
if (!dirname_length(ex->file_name) &&
|
||||||
strlen(ex->file_name)+strlen(mysql_data_home)+strlen(thd->db)+3 <
|
strlen(ex->file_name)+strlen(mysql_data_home)+strlen(tdb)+3 <
|
||||||
FN_REFLEN)
|
FN_REFLEN)
|
||||||
{
|
{
|
||||||
(void) sprintf(name,"%s/%s/%s",mysql_data_home,thd->db,ex->file_name);
|
(void) sprintf(name,"%s/%s/%s",mysql_data_home,tdb,ex->file_name);
|
||||||
unpack_filename(name,name); /* Convert to system format */
|
unpack_filename(name,name); /* Convert to system format */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -512,6 +512,7 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
|
|||||||
field_list.push_back(item=new Item_empty_string("Create_options",255));
|
field_list.push_back(item=new Item_empty_string("Create_options",255));
|
||||||
item->maybe_null=1;
|
item->maybe_null=1;
|
||||||
field_list.push_back(item=new Item_empty_string("Comment",80));
|
field_list.push_back(item=new Item_empty_string("Comment",80));
|
||||||
|
item->maybe_null=1;
|
||||||
if (protocol->send_fields(&field_list,1))
|
if (protocol->send_fields(&field_list,1))
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
|
|
||||||
@ -530,7 +531,7 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
|
|||||||
my_casedn_str(files_charset_info, file_name);
|
my_casedn_str(files_charset_info, file_name);
|
||||||
if (!(table = open_ltable(thd, &table_list, TL_READ)))
|
if (!(table = open_ltable(thd, &table_list, TL_READ)))
|
||||||
{
|
{
|
||||||
for (uint i=1 ; i < field_list.elements-1 ; i++)
|
for (uint i=2 ; i < field_list.elements ; i++)
|
||||||
protocol->store_null();
|
protocol->store_null();
|
||||||
// Send error to Comment field
|
// Send error to Comment field
|
||||||
protocol->store(thd->net.last_error);
|
protocol->store(thd->net.last_error);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user