From: Date: November 13 2008 2:00pm Subject: bzr commit into mysql-6.0 branch (Sergey.Glukhov:2925) Bug#38909 Bug#39955 List-Archive: http://lists.mysql.com/commits/58628 X-Bug: 38909,39955 Message-Id: <0KA900DGVW5A0A70@fe-emea-09.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7BIT #At file:///home/gluh/MySQL/mysql-6.0-bugteam/ 2925 Sergey Glukhov 2008-11-13 [merge] 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) modified: mysql-test/r/information_schema.result mysql-test/r/information_schema_part.result mysql-test/r/show_check.result mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/t/information_schema.test mysql-test/t/information_schema_part.test sql/sql_show.cc per-file messages: mysql-test/r/information_schema.result 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) mysql-test/r/information_schema_part.result 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) mysql-test/r/show_check.result 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) mysql-test/suite/funcs_1/r/is_columns_is.result 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) mysql-test/t/information_schema.test 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) mysql-test/t/information_schema_part.test 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) sql/sql_show.cc 5.1-bugteam->6.0-bugteam merge(bug#39955, bug#38909) === modified file 'mysql-test/r/information_schema.result' --- a/mysql-test/r/information_schema.result 2008-11-13 11:11:02 +0000 +++ b/mysql-test/r/information_schema.result 2008-11-13 12:53:16 +0000 @@ -1588,6 +1588,53 @@ id select_type table type possible_keys explain select count(*) from information_schema.views; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE views ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases +set global init_connect="drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;"; +select * from information_schema.global_variables where variable_name='init_connect'; +VARIABLE_NAME VARIABLE_VALUE +INIT_CONNECT drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists +Warnings: +Warning 1265 Data truncated for column 'VARIABLE_VALUE' at row 1 +set global init_connect=""; End of 5.1 tests. create function f1 (p1 int, p2 datetime, p3 decimal(10,2)) returns char(10) return null; === modified file 'mysql-test/r/information_schema_part.result' --- a/mysql-test/r/information_schema_part.result 2008-11-04 07:43:21 +0000 +++ b/mysql-test/r/information_schema_part.result 2008-11-13 12:11:51 +0000 @@ -145,3 +145,9 @@ table_schema = "test" AND table_name = " PARTITION_DESCRIPTION 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 drop table t1; +drop table if exists t1; +create table t1 (f1 int key) partition by key(f1) partitions 2; +select create_options from information_schema.tables where table_schema="test"; +create_options +partitioned +drop table t1; === modified file 'mysql-test/r/show_check.result' --- a/mysql-test/r/show_check.result 2008-11-13 11:11:02 +0000 +++ b/mysql-test/r/show_check.result 2008-11-13 12:53:16 +0000 @@ -101,19 +101,19 @@ drop table t1; show variables like "wait_timeout%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8 -def VARIABLES VARIABLE_VALUE Value 253 16300 5 Y 0 0 8 +def VARIABLES VARIABLE_VALUE Value 253 1024 5 Y 0 0 8 Variable_name Value wait_timeout 28800 show variables like "WAIT_timeout%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8 -def VARIABLES VARIABLE_VALUE Value 253 16300 5 Y 0 0 8 +def VARIABLES VARIABLE_VALUE Value 253 1024 5 Y 0 0 8 Variable_name Value wait_timeout 28800 show variables like "this_doesn't_exists%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def VARIABLES VARIABLE_NAME Variable_name 253 64 0 N 1 0 8 -def VARIABLES VARIABLE_VALUE Value 253 16300 0 Y 0 0 8 +def VARIABLES VARIABLE_VALUE Value 253 1024 0 Y 0 0 8 Variable_name Value show table status from test like "this_doesn't_exists%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr === modified file 'mysql-test/suite/funcs_1/r/is_columns_is.result' --- a/mysql-test/suite/funcs_1/r/is_columns_is.result 2008-11-13 11:11:02 +0000 +++ b/mysql-test/suite/funcs_1/r/is_columns_is.result 2008-11-13 12:53:16 +0000 @@ -112,9 +112,9 @@ NULL information_schema FILES UPDATE_COU NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select Default Default NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select Default Default NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default -NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 16300 65200 NULL NULL utf8 utf8_general_ci varchar(16300) select Default Default +NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 4096 NULL NULL utf8 utf8_general_ci varchar(1024) select Default Default NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default -NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 16300 65200 NULL NULL utf8 utf8_general_ci varchar(16300) select Default Default +NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 4096 NULL NULL utf8 utf8_general_ci varchar(1024) select Default Default NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 512 2048 NULL NULL utf8 utf8_general_ci varchar(512) select Default Default NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default @@ -237,9 +237,9 @@ NULL information_schema SCHEMA_PRIVILEGE NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 2048 NULL NULL utf8 utf8_general_ci varchar(512) select Default Default NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default -NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 16300 65200 NULL NULL utf8 utf8_general_ci varchar(16300) select Default Default +NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 4096 NULL NULL utf8 utf8_general_ci varchar(1024) select Default Default NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default -NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 16300 65200 NULL NULL utf8 utf8_general_ci varchar(16300) select Default Default +NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 4096 NULL NULL utf8 utf8_general_ci varchar(1024) select Default Default NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select Default Default NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 4 NULL NULL utf8 utf8_general_ci varchar(1) select Default Default NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 256 NULL NULL utf8 utf8_general_ci varchar(64) select Default Default @@ -502,9 +502,9 @@ NULL information_schema FILES CHECKSUM b 4.0000 information_schema FILES STATUS varchar 20 80 utf8 utf8_general_ci varchar(20) 4.0000 information_schema FILES EXTRA varchar 255 1020 utf8 utf8_general_ci varchar(255) 4.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 256 utf8 utf8_general_ci varchar(64) -4.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 16300 65200 utf8 utf8_general_ci varchar(16300) +4.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 1024 4096 utf8 utf8_general_ci varchar(1024) 4.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 256 utf8 utf8_general_ci varchar(64) -4.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 16300 65200 utf8 utf8_general_ci varchar(16300) +4.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 1024 4096 utf8 utf8_general_ci varchar(1024) 4.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 2048 utf8 utf8_general_ci varchar(512) 4.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 256 utf8 utf8_general_ci varchar(64) 4.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 256 utf8 utf8_general_ci varchar(64) @@ -627,9 +627,9 @@ NULL information_schema ROUTINES LAST_AL 4.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 256 utf8 utf8_general_ci varchar(64) 4.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 12 utf8 utf8_general_ci varchar(3) 4.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 256 utf8 utf8_general_ci varchar(64) -4.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 16300 65200 utf8 utf8_general_ci varchar(16300) +4.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 1024 4096 utf8 utf8_general_ci varchar(1024) 4.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 256 utf8 utf8_general_ci varchar(64) -4.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 16300 65200 utf8 utf8_general_ci varchar(16300) +4.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 1024 4096 utf8 utf8_general_ci varchar(1024) 4.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 2048 utf8 utf8_general_ci varchar(512) 4.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 256 utf8 utf8_general_ci varchar(64) 4.0000 information_schema STATISTICS TABLE_NAME varchar 64 256 utf8 utf8_general_ci varchar(64) === modified file 'mysql-test/t/information_schema.test' --- a/mysql-test/t/information_schema.test 2008-10-09 08:06:31 +0000 +++ b/mysql-test/t/information_schema.test 2008-11-13 12:53:16 +0000 @@ -1318,6 +1318,33 @@ explain select count(*) from information explain select count(*) from information_schema.columns; explain select count(*) from information_schema.views; +# +# Bug#39955 SELECT on INFORMATION_SCHEMA.GLOBAL_VARIABLES takes too long +# +set global init_connect="drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;"; +select * from information_schema.global_variables where variable_name='init_connect'; +set global init_connect=""; + --echo End of 5.1 tests. # === modified file 'mysql-test/t/information_schema_part.test' --- a/mysql-test/t/information_schema_part.test 2006-05-31 13:33:10 +0000 +++ b/mysql-test/t/information_schema_part.test 2008-11-13 12:11:51 +0000 @@ -121,3 +121,13 @@ SHOW CREATE TABLE t1; SELECT PARTITION_DESCRIPTION FROM information_schema.partitions WHERE table_schema = "test" AND table_name = "t1"; drop table t1; + +# +# Bug#38909 CREATE_OPTIONS in information_schema produces wrong results +# +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (f1 int key) partition by key(f1) partitions 2; +select create_options from information_schema.tables where table_schema="test"; +drop table t1; === modified file 'sql/sql_show.cc' --- a/sql/sql_show.cc 2008-11-13 11:11:02 +0000 +++ b/sql/sql_show.cc 2008-11-13 12:53:16 +0000 @@ -84,6 +84,7 @@ static void store_key_options(THD *thd, static void append_algorithm(TABLE_LIST *table, String *buff); +static COND * make_cond_for_info_schema(COND *cond, TABLE_LIST *table); /*************************************************************************** ** List all table types supported @@ -2073,7 +2074,8 @@ static bool show_status_array(THD *thd, enum enum_var_type value_type, struct system_status_var *status_var, const char *prefix, TABLE *table, - bool ucase_names) + bool ucase_names, + COND *cond) { MY_ALIGNED_BYTE_ARRAY(buff_data, SHOW_VAR_FUNC_BUFF_SIZE, long); char * const buff= (char *) &buff_data; @@ -2083,8 +2085,12 @@ static bool show_status_array(THD *thd, int len; LEX_STRING null_lex_str; SHOW_VAR tmp, *var; + COND *partial_cond= 0; + enum_check_fields save_count_cuted_fields= thd->count_cuted_fields; + bool res= FALSE; DBUG_ENTER("show_status_array"); + thd->count_cuted_fields= CHECK_FIELD_WARN; null_lex_str.str= 0; // For sys_var->value_ptr() null_lex_str.length= 0; @@ -2092,6 +2098,7 @@ static bool show_status_array(THD *thd, if (*prefix) *prefix_end++= '_'; len=name_buffer + sizeof(name_buffer) - prefix_end; + partial_cond= make_cond_for_info_schema(cond, table->pos_in_table_list); for (; variables->name; variables++) { @@ -2100,6 +2107,9 @@ static bool show_status_array(THD *thd, if (ucase_names) make_upper(name_buffer); + restore_record(table, s->default_values); + table->field[0]->store(name_buffer, strlen(name_buffer), + system_charset_info); /* if var->type is SHOW_FUNC, call the function. Repeat as necessary, if new var is again SHOW_FUNC @@ -2111,12 +2121,13 @@ static bool show_status_array(THD *thd, if (show_type == SHOW_ARRAY) { show_status_array(thd, wild, (SHOW_VAR *) var->value, value_type, - status_var, name_buffer, table, ucase_names); + status_var, name_buffer, table, ucase_names, partial_cond); } else { if (!(wild && wild[0] && wild_case_compare(system_charset_info, - name_buffer, wild))) + name_buffer, wild)) && + (!partial_cond || partial_cond->val_int())) { char *value=var->value; const char *pos, *end; // We assign a lot of const's @@ -2204,21 +2215,23 @@ static bool show_status_array(THD *thd, DBUG_ASSERT(0); break; } - restore_record(table, s->default_values); - table->field[0]->store(name_buffer, strlen(name_buffer), - system_charset_info); table->field[1]->store(pos, (uint32) (end - pos), system_charset_info); + thd->count_cuted_fields= CHECK_FIELD_IGNORE; table->field[1]->set_notnull(); pthread_mutex_unlock(&LOCK_global_system_variables); if (schema_table_store_record(thd, table)) - DBUG_RETURN(TRUE); + { + res= TRUE; + goto end; + } } } } - - DBUG_RETURN(FALSE); +end: + thd->count_cuted_fields= save_count_cuted_fields; + DBUG_RETURN(res); } @@ -3601,6 +3614,7 @@ static int get_schema_tables_record(THD TABLE_SHARE *share= show_table->s; handler *file= show_table->file; handlerton *tmp_db_type= share->db_type(); + bool is_partitioned= FALSE; if (share->tmp_table == SYSTEM_TMP_TABLE) table->field[3]->store(STRING_WITH_LEN("SYSTEM VIEW"), cs); else if (share->tmp_table) @@ -3617,7 +3631,10 @@ static int get_schema_tables_record(THD #ifdef WITH_PARTITION_STORAGE_ENGINE if (share->db_type() == partition_hton && share->partition_info_len) + { tmp_db_type= share->default_part_db_type; + is_partitioned= TRUE; + } #endif tmp_buff= (char *) ha_resolve_storage_engine_name(tmp_db_type); table->field[4]->store(tmp_buff, strlen(tmp_buff), cs); @@ -3656,9 +3673,7 @@ static int get_schema_tables_record(THD ha_row_type[(uint) share->row_type], NullS); #ifdef WITH_PARTITION_STORAGE_ENGINE - if (show_table->s->db_type() == partition_hton && - show_table->part_info != NULL && - show_table->part_info->no_parts > 0) + if (is_partitioned) ptr= strmov(ptr, " partitioned"); #endif if (share->transactional != HA_CHOICE_UNDEF) @@ -5646,7 +5661,7 @@ int fill_variables(THD *thd, TABLE_LIST rw_rdlock(&LOCK_system_variables_hash); res= show_status_array(thd, wild, enumerate_sys_vars(thd, sorted_vars), - option_type, NULL, "", tables->table, upper_case_names); + option_type, NULL, "", tables->table, upper_case_names, cond); rw_unlock(&LOCK_system_variables_hash); DBUG_RETURN(res); } @@ -5689,7 +5704,7 @@ int fill_status(THD *thd, TABLE_LIST *ta res= show_status_array(thd, wild, (SHOW_VAR *)all_status_vars.buffer, option_type, tmp1, "", tables->table, - upper_case_names); + upper_case_names, cond); pthread_mutex_unlock(&LOCK_status); DBUG_RETURN(res); } @@ -6870,7 +6885,7 @@ ST_FIELD_INFO variables_fields_info[]= { {"VARIABLE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Variable_name", SKIP_OPEN_TABLE}, - {"VARIABLE_VALUE", 16300, MYSQL_TYPE_STRING, 0, 1, "Value", SKIP_OPEN_TABLE}, + {"VARIABLE_VALUE", 1024, MYSQL_TYPE_STRING, 0, 1, "Value", SKIP_OPEN_TABLE}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE} }; @@ -7074,9 +7089,9 @@ ST_SCHEMA_TABLE schema_tables[]= {"FILES", files_fields_info, create_schema_table, hton_fill_schema_table, 0, 0, -1, -1, 0, 0}, {"GLOBAL_STATUS", variables_fields_info, create_schema_table, - fill_status, make_old_format, 0, -1, -1, 0, 0}, + fill_status, make_old_format, 0, 0, -1, 0, 0}, {"GLOBAL_VARIABLES", variables_fields_info, create_schema_table, - fill_variables, make_old_format, 0, -1, -1, 0, 0}, + fill_variables, make_old_format, 0, 0, -1, 0, 0}, {"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table, get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0, OPEN_TABLE_ONLY}, @@ -7103,15 +7118,15 @@ ST_SCHEMA_TABLE schema_tables[]= {"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table, fill_schema_schema_privileges, 0, 0, -1, -1, 0, 0}, {"SESSION_STATUS", variables_fields_info, create_schema_table, - fill_status, make_old_format, 0, -1, -1, 0, 0}, + fill_status, make_old_format, 0, 0, -1, 0, 0}, {"SESSION_VARIABLES", variables_fields_info, create_schema_table, - fill_variables, make_old_format, 0, -1, -1, 0, 0}, - {"STATISTICS", stat_fields_info, create_schema_table, + fill_variables, make_old_format, 0, 0, -1, 0, 0}, + {"STATISTICS", stat_fields_info, create_schema_table, get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0, OPEN_TABLE_ONLY|OPTIMIZE_I_S_TABLE}, - {"STATUS", variables_fields_info, create_schema_table, fill_status, - make_old_format, 0, -1, -1, 1, 0}, - {"TABLES", tables_fields_info, create_schema_table, + {"STATUS", variables_fields_info, create_schema_table, fill_status, + make_old_format, 0, 0, -1, 1, 0}, + {"TABLES", tables_fields_info, create_schema_table, get_all_tables, make_old_format, get_schema_tables_record, 1, 2, 0, OPTIMIZE_I_S_TABLE}, {"TABLESPACES", tablespaces_fields_info, create_schema_table, @@ -7128,8 +7143,8 @@ ST_SCHEMA_TABLE schema_tables[]= {"USER_PRIVILEGES", user_privileges_fields_info, create_schema_table, fill_schema_user_privileges, 0, 0, -1, -1, 0, 0}, {"VARIABLES", variables_fields_info, create_schema_table, fill_variables, - make_old_format, 0, -1, -1, 1, 0}, - {"VIEWS", view_fields_info, create_schema_table, + make_old_format, 0, 0, -1, 1, 0}, + {"VIEWS", view_fields_info, create_schema_table, get_all_tables, 0, get_schema_views_record, 1, 2, 0, OPEN_VIEW_ONLY|OPTIMIZE_I_S_TABLE}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}