SHOW [FULL] COLUMNS

Added timeouts to replication tests to handle concurrent inserts


Docs/manual.texi:
  Changelog
client/mysqlshow.c:
  Fix for new SHOW FULL COLUMNS syntax
mysql-test/r/show_check.result:
  Fix for SHOW FULL COLUMNS
mysql-test/t/alter_table.test:
  Fix for SHOW FULL COLUMNS
mysql-test/t/rpl000001.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000002.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000003.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000007.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000008.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000009.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000010.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000011.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000012.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000013.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000014.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000015.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/rpl000016.test:
  Added timeout to handle concurrent inserts.
mysql-test/t/select.test:
  Fix for SHOW FULL COLUMNS
mysql-test/t/show_check.test:
  Fix for SHOW FULL COLUMNS
mysql-test/t/type_blob.test:
  Fix for SHOW FULL COLUMNS
mysql-test/t/type_float.test:
  Fix for SHOW FULL COLUMNS
mysql-test/t/type_ranges.test:
  Fix for SHOW FULL COLUMNS
sql/mysql_priv.h:
  Fix for SHOW FULL COLUMNS
sql/sql_parse.cc:
  Fix for SHOW FULL COLUMNS
sql/sql_show.cc:
  Fix for SHOW FULL COLUMNS
sql/sql_yacc.yy:
  Fix for SHOW FULL COLUMNS
This commit is contained in:
unknown 2001-01-22 05:32:58 +02:00
commit 6632102983
26 changed files with 81 additions and 43 deletions

View file

@ -412,7 +412,8 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
***************************************************************************/
int
mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild)
mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
bool verbose)
{
TABLE *table;
handler *file;
@ -437,7 +438,8 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild)
field_list.push_back(new Item_empty_string("Key",3));
field_list.push_back(new Item_empty_string("Default",NAME_LEN));
field_list.push_back(new Item_empty_string("Extra",20));
field_list.push_back(new Item_empty_string("Privileges",80));
if (verbose)
field_list.push_back(new Item_empty_string("Privileges",80));
// Send first number of fields and records
{
@ -502,18 +504,21 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild)
end=strmov(tmp,"auto_increment");
net_store_data(packet,tmp,(uint) (end-tmp));
/* Add grant options */
col_access= get_column_grant(thd,table_list,field) & COL_ACLS;
end=tmp;
for (uint bitnr=0; col_access ; col_access>>=1,bitnr++)
{
if (col_access & 1)
{
*end++=',';
end=strmov(end,grant_types.type_names[bitnr]);
}
}
net_store_data(packet,tmp+1,end == tmp ? 0 : (uint) (end-tmp-1));
if (verbose)
{
/* Add grant options */
col_access= get_column_grant(thd,table_list,field) & COL_ACLS;
end=tmp;
for (uint bitnr=0; col_access ; col_access>>=1,bitnr++)
{
if (col_access & 1)
{
*end++=',';
end=strmov(end,grant_types.type_names[bitnr]);
}
}
net_store_data(packet,tmp+1,end == tmp ? 0 : (uint) (end-tmp-1));
}
if (my_net_write(&thd->net,(char*) packet->ptr(),packet->length()))
DBUG_RETURN(1);
}