Commit b9839588 authored by unknown's avatar unknown

Merge with 4.0


mysql-test/r/bigint.result:
  Auto merged
mysql-test/t/bigint.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/item.h:
  merge (use local copy)
sql/sql_show.cc:
  merge
parents e16918ff 8bdf015a
......@@ -7,13 +7,13 @@ select 9223372036854775807,-009223372036854775808;
9223372036854775807 -9223372036854775808
select +9999999999999999999,-9999999999999999999;
+9999999999999999999 -9999999999999999999
10000000000000000000 -10000000000000000000
9999999999999999999 -10000000000000000000
select cast(9223372036854775808 as unsigned)+1;
cast(9223372036854775808 as unsigned)+1
9223372036854775809
select 9223372036854775808+1;
9223372036854775808+1
9223372036854775808
9223372036854775809
create table t1 (a bigint unsigned not null, primary key(a));
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE);
select * from t1;
......
......@@ -12,12 +12,6 @@ select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296;
select 9223372036854775807,-009223372036854775808;
select +9999999999999999999,-9999999999999999999;
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;
#
# 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,
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;
......@@ -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
a proper type before storing the lock. MySQL also calls this when it
releases a lock. */
a proper type before storing pointer to the lock into an array of pointers.
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**
ha_innobase::store_lock(
......
......@@ -451,7 +451,7 @@ inline static uint int_token(const char *str,uint length)
{
cmp=longlong_str;
smaller=LONG_NUM;
bigger=REAL_NUM;
bigger= ULONGLONG_NUM;
}
}
while (*cmp && *cmp++ == *str++) ;
......
......@@ -91,7 +91,9 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
*enclosed=ex->enclosed;
bool is_fifo=0;
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;
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);
#endif
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)
{
(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 */
}
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));
item->maybe_null=1;
field_list.push_back(item=new Item_empty_string("Comment",80));
item->maybe_null=1;
if (protocol->send_fields(&field_list,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);
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();
// Send error to Comment field
protocol->store(thd->net.last_error);
......
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