mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
valgrind error fix
This commit is contained in:
@ -123,8 +123,8 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION DATA_TYPE CHA
|
|||||||
NULL testtets t1 a 1 int 0 11 4 0 NULL int(11) NULL YES NULL select,insert,update,references
|
NULL testtets t1 a 1 int 0 11 4 0 NULL int(11) NULL YES NULL select,insert,update,references
|
||||||
show columns * where table_name = "t1";
|
show columns * where table_name = "t1";
|
||||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME TYPE COLLATION_NAME IS_NULLABLE KEY COLUMN_DEFAULT EXTRA PRIVILEGES COMMENT
|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME TYPE COLLATION_NAME IS_NULLABLE KEY COLUMN_DEFAULT EXTRA PRIVILEGES COMMENT
|
||||||
NULL testtets t1 a 1 int 0 11 4 0 NULL int(11) NULL YES NULL
|
NULL testtets t1 a 1 int 0 11 4 0 NULL int(11) NULL YES NULL select,insert,update,references
|
||||||
NULL testtets t1 b 2 varchar 30 30 30 31 latin1 varchar(30) latin1_swedish_ci YES MUL NULL
|
NULL testtets t1 b 2 varchar 30 30 30 31 latin1 varchar(30) latin1_swedish_ci YES MUL NULL select,insert,update,references
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop tables testtets.t4, testtets.t1, t2, t3;
|
drop tables testtets.t4, testtets.t1, t2, t3;
|
||||||
drop database testtets;
|
drop database testtets;
|
||||||
|
@ -1938,7 +1938,7 @@ int lock_tables(THD *thd, TABLE_LIST *tables, uint count)
|
|||||||
return -1;
|
return -1;
|
||||||
for (table= tables; table; table= table->next_global)
|
for (table= tables; table; table= table->next_global)
|
||||||
{
|
{
|
||||||
if (!table->placeholder())
|
if (!table->placeholder() && !table->schema_table)
|
||||||
*(ptr++)= table->table;
|
*(ptr++)= table->table;
|
||||||
}
|
}
|
||||||
if (!(thd->lock=mysql_lock_tables(thd,start, (uint) (ptr - start))))
|
if (!(thd->lock=mysql_lock_tables(thd,start, (uint) (ptr - start))))
|
||||||
|
@ -2315,30 +2315,28 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
|
|||||||
if (field->unireg_check == Field::NEXT_NUMBER)
|
if (field->unireg_check == Field::NEXT_NUMBER)
|
||||||
end=strmov(tmp,"auto_increment");
|
end=strmov(tmp,"auto_increment");
|
||||||
table->field[16]->store(tmp, (uint) (end-tmp), cs);
|
table->field[16]->store(tmp, (uint) (end-tmp), cs);
|
||||||
if (thd->lex->verbose)
|
|
||||||
{
|
end=tmp;
|
||||||
end=tmp;
|
|
||||||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||||
uint col_access;
|
uint col_access;
|
||||||
check_access(thd,SELECT_ACL | EXTRA_ACL, base_name,
|
check_access(thd,SELECT_ACL | EXTRA_ACL, base_name,
|
||||||
&tables->grant.privilege, 0, 0);
|
&tables->grant.privilege, 0, 0);
|
||||||
col_access= get_column_grant(thd, &tables->grant, tables->db,
|
col_access= get_column_grant(thd, &tables->grant, tables->db,
|
||||||
tables->real_name,
|
tables->real_name,
|
||||||
field->field_name) & COL_ACLS;
|
field->field_name) & COL_ACLS;
|
||||||
for (uint bitnr=0; col_access ; col_access>>=1,bitnr++)
|
for (uint bitnr=0; col_access ; col_access>>=1,bitnr++)
|
||||||
|
{
|
||||||
|
if (col_access & 1)
|
||||||
{
|
{
|
||||||
if (col_access & 1)
|
*end++=',';
|
||||||
{
|
end=strmov(end,grant_types.type_names[bitnr]);
|
||||||
*end++=',';
|
|
||||||
end=strmov(end,grant_types.type_names[bitnr]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
end=strmov(end,"");
|
|
||||||
#endif
|
|
||||||
table->field[17]->store(tmp+1,end == tmp ? 0 : (uint) (end-tmp-1), cs);
|
|
||||||
table->field[18]->store(field->comment.str, field->comment.length, cs);
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
end=strmov(end,"");
|
||||||
|
#endif
|
||||||
|
table->field[17]->store(tmp+1,end == tmp ? 0 : (uint) (end-tmp-1), cs);
|
||||||
|
table->field[18]->store(field->comment.str, field->comment.length, cs);
|
||||||
table->file->write_row(table->record[0]);
|
table->file->write_row(table->record[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3111,6 +3109,7 @@ bool get_schema_tables_result(JOIN *join)
|
|||||||
break;
|
break;
|
||||||
TABLE_LIST *table_list= tab->table->pos_in_table_list;
|
TABLE_LIST *table_list= tab->table->pos_in_table_list;
|
||||||
TABLE_LIST *save_next_global= table_list->next_global;
|
TABLE_LIST *save_next_global= table_list->next_global;
|
||||||
|
TABLE_LIST **query_tables_last= thd->lex->query_tables_last;
|
||||||
|
|
||||||
if (table_list->schema_table && thd->fill_derived_tables())
|
if (table_list->schema_table && thd->fill_derived_tables())
|
||||||
{
|
{
|
||||||
@ -3126,12 +3125,14 @@ bool get_schema_tables_result(JOIN *join)
|
|||||||
thd->derived_tables= old_derived_tables;
|
thd->derived_tables= old_derived_tables;
|
||||||
thd->lock= sql_lock;
|
thd->lock= sql_lock;
|
||||||
table_list->next_global= save_next_global;
|
table_list->next_global= save_next_global;
|
||||||
|
thd->lex->query_tables_last= query_tables_last;
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
thd->lock= sql_lock;
|
thd->lock= sql_lock;
|
||||||
thd->lex->sql_command= SQLCOM_SELECT;
|
thd->lex->sql_command= SQLCOM_SELECT;
|
||||||
thd->derived_tables= old_derived_tables;
|
thd->derived_tables= old_derived_tables;
|
||||||
table_list->next_global= save_next_global;
|
table_list->next_global= save_next_global;
|
||||||
|
thd->lex->query_tables_last= query_tables_last;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DBUG_RETURN(FALSE);
|
DBUG_RETURN(FALSE);
|
||||||
|
Reference in New Issue
Block a user