mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
This commit is contained in:
@@ -49,7 +49,6 @@ TABLE_PRIVILEGES
|
|||||||
COLUMN_PRIVILEGES
|
COLUMN_PRIVILEGES
|
||||||
TABLE_CONSTRAINTS
|
TABLE_CONSTRAINTS
|
||||||
KEY_COLUMN_USAGE
|
KEY_COLUMN_USAGE
|
||||||
TABLE_NAMES
|
|
||||||
columns_priv
|
columns_priv
|
||||||
db
|
db
|
||||||
func
|
func
|
||||||
@@ -78,7 +77,6 @@ c table_name
|
|||||||
TABLES TABLES
|
TABLES TABLES
|
||||||
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
||||||
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
||||||
TABLE_NAMES TABLE_NAMES
|
|
||||||
tables_priv tables_priv
|
tables_priv tables_priv
|
||||||
time_zone time_zone
|
time_zone time_zone
|
||||||
time_zone_leap_second time_zone_leap_second
|
time_zone_leap_second time_zone_leap_second
|
||||||
@@ -96,7 +94,6 @@ c table_name
|
|||||||
TABLES TABLES
|
TABLES TABLES
|
||||||
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
TABLE_PRIVILEGES TABLE_PRIVILEGES
|
||||||
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
|
||||||
TABLE_NAMES TABLE_NAMES
|
|
||||||
tables_priv tables_priv
|
tables_priv tables_priv
|
||||||
time_zone time_zone
|
time_zone time_zone
|
||||||
time_zone_leap_second time_zone_leap_second
|
time_zone_leap_second time_zone_leap_second
|
||||||
@@ -577,7 +574,6 @@ Tables_in_information_schema (T%) Table_type
|
|||||||
TABLES TEMPORARY
|
TABLES TEMPORARY
|
||||||
TABLE_PRIVILEGES TEMPORARY
|
TABLE_PRIVILEGES TEMPORARY
|
||||||
TABLE_CONSTRAINTS TEMPORARY
|
TABLE_CONSTRAINTS TEMPORARY
|
||||||
TABLE_NAMES TEMPORARY
|
|
||||||
create table t1(a int);
|
create table t1(a int);
|
||||||
ERROR 42S02: Unknown table 't1' in information_schema
|
ERROR 42S02: Unknown table 't1' in information_schema
|
||||||
use test;
|
use test;
|
||||||
@@ -589,7 +585,23 @@ Tables_in_information_schema (T%)
|
|||||||
TABLES
|
TABLES
|
||||||
TABLE_PRIVILEGES
|
TABLE_PRIVILEGES
|
||||||
TABLE_CONSTRAINTS
|
TABLE_CONSTRAINTS
|
||||||
TABLE_NAMES
|
select table_name from tables where table_name='user';
|
||||||
|
table_name
|
||||||
|
user
|
||||||
|
select column_name, privileges from columns
|
||||||
|
where table_name='user' and column_name like '%o%';
|
||||||
|
column_name privileges
|
||||||
|
Host select,insert,update,references
|
||||||
|
Password select,insert,update,references
|
||||||
|
Drop_priv select,insert,update,references
|
||||||
|
Reload_priv select,insert,update,references
|
||||||
|
Shutdown_priv select,insert,update,references
|
||||||
|
Process_priv select,insert,update,references
|
||||||
|
Show_db_priv select,insert,update,references
|
||||||
|
Lock_tables_priv select,insert,update,references
|
||||||
|
Show_view_priv select,insert,update,references
|
||||||
|
max_questions select,insert,update,references
|
||||||
|
max_connections select,insert,update,references
|
||||||
use test;
|
use test;
|
||||||
create function sub1(i int) returns int
|
create function sub1(i int) returns int
|
||||||
return i+1;
|
return i+1;
|
||||||
@@ -627,3 +639,5 @@ constraint_name
|
|||||||
drop view t2;
|
drop view t2;
|
||||||
drop view t3;
|
drop view t3;
|
||||||
drop table t4;
|
drop table t4;
|
||||||
|
select * from information_schema.table_names;
|
||||||
|
ERROR 42S02: Unknown table 'table_names' in information_schema
|
||||||
|
@@ -293,6 +293,13 @@ show tables;
|
|||||||
use information_schema;
|
use information_schema;
|
||||||
show tables like "T%";
|
show tables like "T%";
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#7210: information_schema: can't access when table-name = reserved word
|
||||||
|
#
|
||||||
|
select table_name from tables where table_name='user';
|
||||||
|
select column_name, privileges from columns
|
||||||
|
where table_name='user' and column_name like '%o%';
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#7212: information_schema: "Can't find file" errors if storage engine gone
|
# Bug#7212: information_schema: "Can't find file" errors if storage engine gone
|
||||||
# Bug#7211: information_schema: crash if bad view
|
# Bug#7211: information_schema: crash if bad view
|
||||||
@@ -318,3 +325,9 @@ where table_schema='test';
|
|||||||
drop view t2;
|
drop view t2;
|
||||||
drop view t3;
|
drop view t3;
|
||||||
drop table t4;
|
drop table t4;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#7213: information_schema: redundant non-standard TABLE_NAMES table
|
||||||
|
#
|
||||||
|
--error 1109
|
||||||
|
select * from information_schema.table_names;
|
||||||
|
@@ -1583,6 +1583,15 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
packet, (uint) (pend-packet), thd->charset());
|
packet, (uint) (pend-packet), thd->charset());
|
||||||
table_list.alias= table_list.real_name= conv_name.str;
|
table_list.alias= table_list.real_name= conv_name.str;
|
||||||
packet= pend+1;
|
packet= pend+1;
|
||||||
|
|
||||||
|
if (!my_strcasecmp(system_charset_info, table_list.db,
|
||||||
|
information_schema_name.str))
|
||||||
|
{
|
||||||
|
ST_SCHEMA_TABLE *schema_table= find_schema_table(thd, table_list.alias);
|
||||||
|
if (schema_table)
|
||||||
|
table_list.schema_table= schema_table;
|
||||||
|
}
|
||||||
|
|
||||||
/* command not cachable => no gap for data base name */
|
/* command not cachable => no gap for data base name */
|
||||||
if (!(thd->query=fields=thd->memdup(packet,thd->query_length+1)))
|
if (!(thd->query=fields=thd->memdup(packet,thd->query_length+1)))
|
||||||
break;
|
break;
|
||||||
@@ -5265,7 +5274,9 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
|
|||||||
information_schema_name.str))
|
information_schema_name.str))
|
||||||
{
|
{
|
||||||
ST_SCHEMA_TABLE *schema_table= find_schema_table(thd, ptr->real_name);
|
ST_SCHEMA_TABLE *schema_table= find_schema_table(thd, ptr->real_name);
|
||||||
if (!schema_table)
|
if (!schema_table ||
|
||||||
|
(schema_table->hidden &&
|
||||||
|
lex->orig_sql_command == SQLCOM_END)) // not a 'show' command
|
||||||
{
|
{
|
||||||
my_error(ER_UNKNOWN_TABLE, MYF(0),
|
my_error(ER_UNKNOWN_TABLE, MYF(0),
|
||||||
ptr->real_name, information_schema_name.str);
|
ptr->real_name, information_schema_name.str);
|
||||||
|
@@ -1976,6 +1976,8 @@ int schema_tables_add(THD *thd, List<char> *files, const char *wild)
|
|||||||
ST_SCHEMA_TABLE *tmp_schema_table= schema_tables;
|
ST_SCHEMA_TABLE *tmp_schema_table= schema_tables;
|
||||||
for ( ; tmp_schema_table->table_name; tmp_schema_table++)
|
for ( ; tmp_schema_table->table_name; tmp_schema_table++)
|
||||||
{
|
{
|
||||||
|
if (tmp_schema_table->hidden)
|
||||||
|
continue;
|
||||||
if (wild)
|
if (wild)
|
||||||
{
|
{
|
||||||
if (lower_case_table_names)
|
if (lower_case_table_names)
|
||||||
@@ -3688,38 +3690,38 @@ ST_FIELD_INFO table_names_fields_info[]=
|
|||||||
ST_SCHEMA_TABLE schema_tables[]=
|
ST_SCHEMA_TABLE schema_tables[]=
|
||||||
{
|
{
|
||||||
{"SCHEMATA", schema_fields_info, create_schema_table,
|
{"SCHEMATA", schema_fields_info, create_schema_table,
|
||||||
fill_schema_shemata, make_schemata_old_format, 0, 1, -1},
|
fill_schema_shemata, make_schemata_old_format, 0, 1, -1, 0},
|
||||||
{"TABLES", tables_fields_info, create_schema_table,
|
{"TABLES", tables_fields_info, create_schema_table,
|
||||||
get_all_tables, make_old_format, get_schema_tables_record, 1, 2},
|
get_all_tables, make_old_format, get_schema_tables_record, 1, 2, 0},
|
||||||
{"COLUMNS", columns_fields_info, create_schema_table,
|
{"COLUMNS", columns_fields_info, create_schema_table,
|
||||||
get_all_tables, make_columns_old_format, get_schema_column_record, 1, 2},
|
get_all_tables, make_columns_old_format, get_schema_column_record, 1, 2, 0},
|
||||||
{"CHARACTER_SETS", charsets_fields_info, create_schema_table,
|
{"CHARACTER_SETS", charsets_fields_info, create_schema_table,
|
||||||
fill_schema_charsets, make_character_sets_old_format, 0, -1, -1},
|
fill_schema_charsets, make_character_sets_old_format, 0, -1, -1, 0},
|
||||||
{"COLLATIONS", collation_fields_info, create_schema_table,
|
{"COLLATIONS", collation_fields_info, create_schema_table,
|
||||||
fill_schema_collation, make_old_format, 0, -1, -1},
|
fill_schema_collation, make_old_format, 0, -1, -1, 0},
|
||||||
{"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info,
|
{"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info,
|
||||||
create_schema_table, fill_schema_coll_charset_app, 0, 0, -1, -1},
|
create_schema_table, fill_schema_coll_charset_app, 0, 0, -1, -1, 0},
|
||||||
{"ROUTINES", proc_fields_info, create_schema_table,
|
{"ROUTINES", proc_fields_info, create_schema_table,
|
||||||
fill_schema_proc, make_proc_old_format, 0, -1, -1},
|
fill_schema_proc, make_proc_old_format, 0, -1, -1, 0},
|
||||||
{"STATISTICS", stat_fields_info, create_schema_table,
|
{"STATISTICS", stat_fields_info, create_schema_table,
|
||||||
get_all_tables, make_old_format, get_schema_stat_record, 1, 2},
|
get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0},
|
||||||
{"VIEWS", view_fields_info, create_schema_table,
|
{"VIEWS", view_fields_info, create_schema_table,
|
||||||
get_all_tables, 0, get_schema_views_record, 1, 2},
|
get_all_tables, 0, get_schema_views_record, 1, 2, 0},
|
||||||
{"USER_PRIVILEGES", user_privileges_fields_info, create_schema_table,
|
{"USER_PRIVILEGES", user_privileges_fields_info, create_schema_table,
|
||||||
fill_schema_user_privileges, 0, 0, -1, -1},
|
fill_schema_user_privileges, 0, 0, -1, -1, 0},
|
||||||
{"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table,
|
{"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table,
|
||||||
fill_schema_schema_privileges, 0, 0, -1, -1},
|
fill_schema_schema_privileges, 0, 0, -1, -1, 0},
|
||||||
{"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table,
|
{"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table,
|
||||||
fill_schema_table_privileges, 0, 0, -1, -1},
|
fill_schema_table_privileges, 0, 0, -1, -1, 0},
|
||||||
{"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,
|
{"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,
|
||||||
fill_schema_column_privileges, 0, 0, -1, -1},
|
fill_schema_column_privileges, 0, 0, -1, -1, 0},
|
||||||
{"TABLE_CONSTRAINTS", table_constraints_fields_info, create_schema_table,
|
{"TABLE_CONSTRAINTS", table_constraints_fields_info, create_schema_table,
|
||||||
get_all_tables, 0, get_schema_constraints_record, 3, 4},
|
get_all_tables, 0, get_schema_constraints_record, 3, 4, 0},
|
||||||
{"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table,
|
{"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table,
|
||||||
get_all_tables, 0, get_schema_key_column_usage_record, 4, 5},
|
get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0},
|
||||||
{"TABLE_NAMES", table_names_fields_info, create_schema_table,
|
{"TABLE_NAMES", table_names_fields_info, create_schema_table,
|
||||||
get_all_tables, make_table_names_old_format, 0, 1, 2},
|
get_all_tables, make_table_names_old_format, 0, 1, 2, 1},
|
||||||
{0, 0, 0, 0, 0, 0, 0, 0}
|
{0, 0, 0, 0, 0, 0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -6885,6 +6885,7 @@ keyword:
|
|||||||
| CLIENT_SYM {}
|
| CLIENT_SYM {}
|
||||||
| CLOSE_SYM {}
|
| CLOSE_SYM {}
|
||||||
| COLLATION_SYM {}
|
| COLLATION_SYM {}
|
||||||
|
| COLUMNS {}
|
||||||
| COMMENT_SYM {}
|
| COMMENT_SYM {}
|
||||||
| COMMITTED_SYM {}
|
| COMMITTED_SYM {}
|
||||||
| COMMIT_SYM {}
|
| COMMIT_SYM {}
|
||||||
@@ -7006,6 +7007,7 @@ keyword:
|
|||||||
| POLYGON {}
|
| POLYGON {}
|
||||||
| PREPARE_SYM {}
|
| PREPARE_SYM {}
|
||||||
| PREV_SYM {}
|
| PREV_SYM {}
|
||||||
|
| PRIVILEGES {}
|
||||||
| PROCESS {}
|
| PROCESS {}
|
||||||
| PROCESSLIST_SYM {}
|
| PROCESSLIST_SYM {}
|
||||||
| QUARTER_SYM {}
|
| QUARTER_SYM {}
|
||||||
@@ -7057,6 +7059,7 @@ keyword:
|
|||||||
| SUBDATE_SYM {}
|
| SUBDATE_SYM {}
|
||||||
| SUBJECT_SYM {}
|
| SUBJECT_SYM {}
|
||||||
| SUPER_SYM {}
|
| SUPER_SYM {}
|
||||||
|
| TABLES {}
|
||||||
| TABLESPACE {}
|
| TABLESPACE {}
|
||||||
| TEMPORARY {}
|
| TEMPORARY {}
|
||||||
| TEMPTABLE_SYM {}
|
| TEMPTABLE_SYM {}
|
||||||
|
@@ -254,6 +254,7 @@ typedef struct st_schema_table
|
|||||||
TABLE *table, bool res, const char *base_name,
|
TABLE *table, bool res, const char *base_name,
|
||||||
const char *file_name);
|
const char *file_name);
|
||||||
int idx_field1, idx_field2;
|
int idx_field1, idx_field2;
|
||||||
|
bool hidden;
|
||||||
} ST_SCHEMA_TABLE;
|
} ST_SCHEMA_TABLE;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user