diff options
author | gluh@gluh.mysql.r18.ru <> | 2004-11-24 19:32:10 +0300 |
---|---|---|
committer | gluh@gluh.mysql.r18.ru <> | 2004-11-24 19:32:10 +0300 |
commit | 3256fd704ed7a8a2ee0af8933ba27222eded4c0b (patch) | |
tree | e2b25b1c1f320a46878d0814faa142846bdd8569 /sql | |
parent | ab432257e4cca6f2997a607ebdc853f3b3605d3e (diff) | |
download | mariadb-git-3256fd704ed7a8a2ee0af8933ba27222eded4c0b.tar.gz |
Fixed bug related to lower case table names on Power Mac
'information_schema' test is splitted because of innodb
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_show.cc | 11 | ||||
-rw-r--r-- | sql/table.h | 2 |
2 files changed, 6 insertions, 7 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index f41eab1ba14..55c38ff37c9 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -2909,12 +2909,13 @@ ST_SCHEMA_TABLE *get_schema_table(enum enum_schema_tables schema_table_idx) 0 Can't create table */ -TABLE *create_schema_table(THD *thd, ST_SCHEMA_TABLE *schema_table) +TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) { int field_count= 0; Item *item; TABLE *table; List<Item> field_list; + ST_SCHEMA_TABLE *schema_table= table_list->schema_table; ST_FIELD_INFO *fields_info= schema_table->fields_info; CHARSET_INFO *cs= system_charset_info; DBUG_ENTER("create_schema_table"); @@ -2959,8 +2960,7 @@ TABLE *create_schema_table(THD *thd, ST_SCHEMA_TABLE *schema_table) field_list, (ORDER*) 0, 0, 0, (select_lex->options | thd->options | TMP_TABLE_ALL_COLUMNS), - HA_POS_ERROR, - (char *) schema_table->table_name))) + HA_POS_ERROR, table_list->real_name))) DBUG_RETURN(0); DBUG_RETURN(table); } @@ -3130,8 +3130,7 @@ int mysql_schema_table(THD *thd, LEX *lex, TABLE_LIST *table_list) { TABLE *table; DBUG_ENTER("mysql_schema_table"); - if (!(table= table_list->schema_table-> - create_table(thd, table_list->schema_table))) + if (!(table= table_list->schema_table->create_table(thd, table_list))) { DBUG_RETURN(1); } @@ -3292,7 +3291,7 @@ ST_FIELD_INFO columns_fields_info[]= {"ORDINAL_POSITION", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, {"COLUMN_DEFAULT", NAME_LEN, MYSQL_TYPE_STRING, 0, 1, "Default"}, {"IS_NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"}, - {"DATA_TYPE", 65535, MYSQL_TYPE_STRING, 0, 0, 0}, + {"DATA_TYPE", NAME_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"CHARACTER_MAXIMUM_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, {"CHARACTER_OCTET_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, {"NUMERIC_PRECISION", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, diff --git a/sql/table.h b/sql/table.h index 09c7719980b..235a7d9add7 100644 --- a/sql/table.h +++ b/sql/table.h @@ -243,7 +243,7 @@ typedef struct st_schema_table const char* table_name; ST_FIELD_INFO *fields_info; /* Create information_schema table */ - TABLE *(*create_table) (THD *thd, struct st_schema_table *schema_table); + TABLE *(*create_table) (THD *thd, struct st_table_list *table_list); /* Fill table with data */ int (*fill_table) (THD *thd, struct st_table_list *tables, COND *cond); /* Handle fileds for old SHOW */ |