List:Commits« Previous MessageNext Message »
From:Sergey Vojtovich Date:August 2 2008 6:22pm
Subject:bzr commit into mysql-6.0-sea branch (svoj:2691) WL#2511
View as plain text  
#At bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-6.0-sea

 2691 Sergey Vojtovich	2008-08-02
      WL#2511 -  Add a new table to the Information Schema for TABLESPACE's
      
      Implemented a new INFORMATION_SCHEMA table, which is intended to
      provide information about tablespaces.
modified:
  mysql-test/r/information_schema.result
  mysql-test/r/information_schema_db.result
  mysql-test/r/mysqlshow.result
  mysql-test/suite/funcs_1/r/is_columns_is.result
  mysql-test/suite/funcs_1/r/is_tables_is.result
  sql/handler.h
  sql/mysql_priv.h
  sql/sql_show.cc

per-file messages:
  mysql-test/r/information_schema.result
    Updated test result according to WL#2511. With this WL
    I_S has new TABLESPACES schema.
  mysql-test/r/information_schema_db.result
    Updated test result according to WL#2511. With this WL
    I_S has new TABLESPACES schema.
  mysql-test/r/mysqlshow.result
    Updated test result according to WL#2511. With this WL
    I_S has new TABLESPACES schema.
  mysql-test/suite/funcs_1/r/is_columns_is.result
    Updated test result according to WL#2511. With this WL
    I_S has new TABLESPACES schema.
  mysql-test/suite/funcs_1/r/is_tables_is.result
    Updated test result according to WL#2511. With this WL
    I_S has new TABLESPACES schema.
  sql/handler.h
    Added SCH_TABLESPACES to enum_schema_tables.
  sql/mysql_priv.h
    Added human readable definitions for I_S.TABLESPACES field
    identifiers.
  sql/sql_show.cc
    Added I_S.TABLESPACES schema. The code which handles I_S.FILES
    is capable to handle I_S.TABLESPACES as well. Thus we reuse
    this code and let functions/variables have more generic names.
=== modified file 'mysql-test/r/information_schema.result'
--- a/mysql-test/r/information_schema.result	2008-06-30 08:43:39 +0000
+++ b/mysql-test/r/information_schema.result	2008-08-02 18:22:09 +0000
@@ -63,6 +63,7 @@ SESSION_STATUS
 SESSION_VARIABLES
 STATISTICS
 TABLES
+TABLESPACES
 TABLE_CONSTRAINTS
 TABLE_PRIVILEGES
 TRIGGERS
@@ -103,6 +104,7 @@ inner join information_schema.TABLES v2 
 where v1.c like "t%";
 c	table_name
 TABLES	TABLES
+TABLESPACES	TABLESPACES
 TABLE_CONSTRAINTS	TABLE_CONSTRAINTS
 TABLE_PRIVILEGES	TABLE_PRIVILEGES
 TRIGGERS	TRIGGERS
@@ -122,6 +124,7 @@ left join information_schema.TABLES v2 o
 where v1.c like "t%";
 c	table_name
 TABLES	TABLES
+TABLESPACES	TABLESPACES
 TABLE_CONSTRAINTS	TABLE_CONSTRAINTS
 TABLE_PRIVILEGES	TABLE_PRIVILEGES
 TRIGGERS	TRIGGERS
@@ -141,6 +144,7 @@ right join information_schema.TABLES v2 
 where v1.c like "t%";
 c	table_name
 TABLES	TABLES
+TABLESPACES	TABLESPACES
 TABLE_CONSTRAINTS	TABLE_CONSTRAINTS
 TABLE_PRIVILEGES	TABLE_PRIVILEGES
 TRIGGERS	TRIGGERS
@@ -627,6 +631,7 @@ COLLATIONS	SYSTEM VIEW	MEMORY
 show tables from information_schema like "T%";
 Tables_in_information_schema (T%)
 TABLES
+TABLESPACES
 TABLE_CONSTRAINTS
 TABLE_PRIVILEGES
 TRIGGERS
@@ -636,6 +641,7 @@ use information_schema;
 show full tables like "T%";
 Tables_in_information_schema (T%)	Table_type
 TABLES	SYSTEM VIEW
+TABLESPACES	SYSTEM VIEW
 TABLE_CONSTRAINTS	SYSTEM VIEW
 TABLE_PRIVILEGES	SYSTEM VIEW
 TRIGGERS	SYSTEM VIEW
@@ -648,6 +654,7 @@ use information_schema;
 show tables like "T%";
 Tables_in_information_schema (T%)
 TABLES
+TABLESPACES
 TABLE_CONSTRAINTS
 TABLE_PRIVILEGES
 TRIGGERS
@@ -862,7 +869,7 @@ flush privileges;
 SELECT table_schema, count(*) FROM information_schema.TABLES
 WHERE table_name NOT LIKE 'ndb_%' AND table_name NOT LIKE 'falcon%' GROUP BY TABLE_SCHEMA;
 table_schema	count(*)
-information_schema	29
+information_schema	30
 mysql	24
 create table t1 (i int, j int);
 create trigger trg1 before insert on t1 for each row
@@ -1325,6 +1332,7 @@ SESSION_STATUS	information_schema.SESSIO
 SESSION_VARIABLES	information_schema.SESSION_VARIABLES	1
 STATISTICS	information_schema.STATISTICS	1
 TABLES	information_schema.TABLES	1
+TABLESPACES	information_schema.TABLESPACES	1
 TABLE_CONSTRAINTS	information_schema.TABLE_CONSTRAINTS	1
 TABLE_PRIVILEGES	information_schema.TABLE_PRIVILEGES	1
 TRIGGERS	information_schema.TRIGGERS	1

=== modified file 'mysql-test/r/information_schema_db.result'
--- a/mysql-test/r/information_schema_db.result	2008-04-19 20:34:56 +0000
+++ b/mysql-test/r/information_schema_db.result	2008-08-02 18:22:09 +0000
@@ -29,6 +29,7 @@ SESSION_STATUS
 SESSION_VARIABLES
 STATISTICS
 TABLES
+TABLESPACES
 TABLE_CONSTRAINTS
 TABLE_PRIVILEGES
 TRIGGERS
@@ -37,6 +38,7 @@ VIEWS
 show tables from INFORMATION_SCHEMA like 'T%';
 Tables_in_information_schema (T%)
 TABLES
+TABLESPACES
 TABLE_CONSTRAINTS
 TABLE_PRIVILEGES
 TRIGGERS

=== modified file 'mysql-test/r/mysqlshow.result'
--- a/mysql-test/r/mysqlshow.result	2008-04-19 20:34:56 +0000
+++ b/mysql-test/r/mysqlshow.result	2008-08-02 18:22:09 +0000
@@ -80,6 +80,7 @@ Database: information_schema  Wildcard: 
 |      Tables       |
 +-------------------+
 | TABLES            |
+| TABLESPACES       |
 | TABLE_CONSTRAINTS |
 | TABLE_PRIVILEGES  |
 +-------------------+
@@ -88,6 +89,7 @@ Database: INFORMATION_SCHEMA  Wildcard: 
 |      Tables       |
 +-------------------+
 | TABLES            |
+| TABLESPACES       |
 | TABLE_CONSTRAINTS |
 | TABLE_PRIVILEGES  |
 +-------------------+

=== modified file 'mysql-test/suite/funcs_1/r/is_columns_is.result'
--- a/mysql-test/suite/funcs_1/r/is_columns_is.result	2008-04-30 03:14:44 +0000
+++ b/mysql-test/suite/funcs_1/r/is_columns_is.result	2008-08-02 18:22:09 +0000
@@ -277,6 +277,15 @@ NULL	information_schema	TABLES	TABLE_SCH
 NULL	information_schema	TABLES	TABLE_TYPE	4		NO	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
 NULL	information_schema	TABLES	UPDATE_TIME	16	NULL	YES	datetime	NULL	NULL	NULL	NULL	NULL	NULL	datetime			select		Default	Default
 NULL	information_schema	TABLES	VERSION	6	NULL	YES	bigint	NULL	NULL	19	0	NULL	NULL	bigint(21) unsigned			select		Default	Default
+NULL	information_schema	TABLESPACES	AUTOEXTEND_SIZE	6	NULL	YES	bigint	NULL	NULL	19	0	NULL	NULL	bigint(21) unsigned			select		Default	Default
+NULL	information_schema	TABLESPACES	ENGINE	2		NO	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
+NULL	information_schema	TABLESPACES	EXTENT_SIZE	5	NULL	YES	bigint	NULL	NULL	19	0	NULL	NULL	bigint(21) unsigned			select		Default	Default
+NULL	information_schema	TABLESPACES	LOGFILE_GROUP_NAME	4	NULL	YES	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
+NULL	information_schema	TABLESPACES	MAXIMUM_SIZE	7	NULL	YES	bigint	NULL	NULL	19	0	NULL	NULL	bigint(21) unsigned			select		Default	Default
+NULL	information_schema	TABLESPACES	NODEGROUP_ID	8	NULL	YES	bigint	NULL	NULL	19	0	NULL	NULL	bigint(21) unsigned			select		Default	Default
+NULL	information_schema	TABLESPACES	TABLESPACE_COMMENT	9	NULL	YES	varchar	2048	8192	NULL	NULL	utf8	utf8_general_ci	varchar(2048)			select		Default	Default
+NULL	information_schema	TABLESPACES	TABLESPACE_NAME	1		NO	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
+NULL	information_schema	TABLESPACES	TABLESPACE_TYPE	3	NULL	YES	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
 NULL	information_schema	TABLE_CONSTRAINTS	CONSTRAINT_CATALOG	1	NULL	YES	varchar	512	2048	NULL	NULL	utf8	utf8_general_ci	varchar(512)			select		Default	Default
 NULL	information_schema	TABLE_CONSTRAINTS	CONSTRAINT_NAME	3		NO	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
 NULL	information_schema	TABLE_CONSTRAINTS	CONSTRAINT_SCHEMA	2		NO	varchar	64	256	NULL	NULL	utf8	utf8_general_ci	varchar(64)			select		Default	Default
@@ -657,6 +666,15 @@ NULL	information_schema	TABLES	CHECK_TIM
 NULL	information_schema	TABLES	CHECKSUM	bigint	NULL	NULL	NULL	NULL	bigint(21) unsigned
 4.0000	information_schema	TABLES	CREATE_OPTIONS	varchar	255	1020	utf8	utf8_general_ci	varchar(255)
 4.0000	information_schema	TABLES	TABLE_COMMENT	varchar	2048	8192	utf8	utf8_general_ci	varchar(2048)
+4.0000	information_schema	TABLESPACES	TABLESPACE_NAME	varchar	64	256	utf8	utf8_general_ci	varchar(64)
+4.0000	information_schema	TABLESPACES	ENGINE	varchar	64	256	utf8	utf8_general_ci	varchar(64)
+4.0000	information_schema	TABLESPACES	TABLESPACE_TYPE	varchar	64	256	utf8	utf8_general_ci	varchar(64)
+4.0000	information_schema	TABLESPACES	LOGFILE_GROUP_NAME	varchar	64	256	utf8	utf8_general_ci	varchar(64)
+NULL	information_schema	TABLESPACES	EXTENT_SIZE	bigint	NULL	NULL	NULL	NULL	bigint(21) unsigned
+NULL	information_schema	TABLESPACES	AUTOEXTEND_SIZE	bigint	NULL	NULL	NULL	NULL	bigint(21) unsigned
+NULL	information_schema	TABLESPACES	MAXIMUM_SIZE	bigint	NULL	NULL	NULL	NULL	bigint(21) unsigned
+NULL	information_schema	TABLESPACES	NODEGROUP_ID	bigint	NULL	NULL	NULL	NULL	bigint(21) unsigned
+4.0000	information_schema	TABLESPACES	TABLESPACE_COMMENT	varchar	2048	8192	utf8	utf8_general_ci	varchar(2048)
 4.0000	information_schema	TABLE_CONSTRAINTS	CONSTRAINT_CATALOG	varchar	512	2048	utf8	utf8_general_ci	varchar(512)
 4.0000	information_schema	TABLE_CONSTRAINTS	CONSTRAINT_SCHEMA	varchar	64	256	utf8	utf8_general_ci	varchar(64)
 4.0000	information_schema	TABLE_CONSTRAINTS	CONSTRAINT_NAME	varchar	64	256	utf8	utf8_general_ci	varchar(64)

=== modified file 'mysql-test/suite/funcs_1/r/is_tables_is.result'
--- a/mysql-test/suite/funcs_1/r/is_tables_is.result	2008-07-04 08:28:36 +0000
+++ b/mysql-test/suite/funcs_1/r/is_tables_is.result	2008-08-02 18:22:09 +0000
@@ -544,6 +544,29 @@ user_comment	
 Separator	-----------------------------------------------------
 TABLE_CATALOG	NULL
 TABLE_SCHEMA	information_schema
+TABLE_NAME	TABLESPACES
+TABLE_TYPE	SYSTEM VIEW
+ENGINE	MEMORY
+VERSION	10
+ROW_FORMAT	Fixed
+TABLE_ROWS	#TBLR#
+AVG_ROW_LENGTH	#ARL#
+DATA_LENGTH	#DL#
+MAX_DATA_LENGTH	#MDL#
+INDEX_LENGTH	#IL#
+DATA_FREE	#DF#
+AUTO_INCREMENT	NULL
+CREATE_TIME	#CRT#
+UPDATE_TIME	#UT#
+CHECK_TIME	#CT#
+TABLE_COLLATION	utf8_general_ci
+CHECKSUM	NULL
+CREATE_OPTIONS	#CO#
+TABLE_COMMENT	#TC#
+user_comment	
+Separator	-----------------------------------------------------
+TABLE_CATALOG	NULL
+TABLE_SCHEMA	information_schema
 TABLE_NAME	TABLE_CONSTRAINTS
 TABLE_TYPE	SYSTEM VIEW
 ENGINE	MEMORY
@@ -1205,6 +1228,29 @@ user_comment	
 Separator	-----------------------------------------------------
 TABLE_CATALOG	NULL
 TABLE_SCHEMA	information_schema
+TABLE_NAME	TABLESPACES
+TABLE_TYPE	SYSTEM VIEW
+ENGINE	MEMORY
+VERSION	10
+ROW_FORMAT	Fixed
+TABLE_ROWS	#TBLR#
+AVG_ROW_LENGTH	#ARL#
+DATA_LENGTH	#DL#
+MAX_DATA_LENGTH	#MDL#
+INDEX_LENGTH	#IL#
+DATA_FREE	#DF#
+AUTO_INCREMENT	NULL
+CREATE_TIME	#CRT#
+UPDATE_TIME	#UT#
+CHECK_TIME	#CT#
+TABLE_COLLATION	utf8_general_ci
+CHECKSUM	NULL
+CREATE_OPTIONS	#CO#
+TABLE_COMMENT	#TC#
+user_comment	
+Separator	-----------------------------------------------------
+TABLE_CATALOG	NULL
+TABLE_SCHEMA	information_schema
 TABLE_NAME	TABLE_CONSTRAINTS
 TABLE_TYPE	SYSTEM VIEW
 ENGINE	MEMORY

=== modified file 'sql/handler.h'
--- a/sql/handler.h	2008-07-31 18:41:00 +0000
+++ b/sql/handler.h	2008-08-02 18:22:09 +0000
@@ -605,6 +605,7 @@ enum enum_schema_tables
   SCH_STATISTICS,
   SCH_STATUS,
   SCH_TABLES,
+  SCH_TABLESPACES,
   SCH_TABLE_CONSTRAINTS,
   SCH_TABLE_NAMES,
   SCH_TABLE_PRIVILEGES,

=== modified file 'sql/mysql_priv.h'
--- a/sql/mysql_priv.h	2008-07-26 16:38:20 +0000
+++ b/sql/mysql_priv.h	2008-08-02 18:22:09 +0000
@@ -2557,6 +2557,17 @@ inline void kill_delayed_threads(void) {
 #define IS_FILES_CHECKSUM            35
 #define IS_FILES_STATUS              36
 #define IS_FILES_EXTRA               37
+
+#define IS_TABLESPACES_TABLESPACE_NAME    0
+#define IS_TABLESPACES_ENGINE             1
+#define IS_TABLESPACES_TABLESPACE_TYPE    2
+#define IS_TABLESPACES_LOGFILE_GROUP_NAME 3
+#define IS_TABLESPACES_EXTENT_SIZE        4
+#define IS_TABLESPACES_AUTOEXTEND_SIZE    5
+#define IS_TABLESPACES_MAXIMUM_SIZE       6
+#define IS_TABLESPACES_NODEGROUP_ID       7
+#define IS_TABLESPACES_TABLESPACE_COMMENT 8
+
 void init_fill_schema_files_row(TABLE* table);
 bool schema_table_store_record(THD *thd, TABLE *table);
 

=== modified file 'sql/sql_show.cc'
--- a/sql/sql_show.cc	2008-07-31 18:41:00 +0000
+++ b/sql/sql_show.cc	2008-08-02 18:22:09 +0000
@@ -6308,17 +6308,17 @@ bool get_schema_tables_result(JOIN *join
   DBUG_RETURN(result);
 }
 
-struct run_hton_fill_schema_files_args
+struct run_hton_fill_schema_table_args
 {
   TABLE_LIST *tables;
   COND *cond;
 };
 
-static my_bool run_hton_fill_schema_files(THD *thd, plugin_ref plugin,
+static my_bool run_hton_fill_schema_table(THD *thd, plugin_ref plugin,
                                           void *arg)
 {
-  struct run_hton_fill_schema_files_args *args=
-    (run_hton_fill_schema_files_args *) arg;
+  struct run_hton_fill_schema_table_args *args=
+    (run_hton_fill_schema_table_args *) arg;
   handlerton *hton= plugin_data(plugin, handlerton *);
   if(hton->fill_is_table && hton->state == SHOW_OPTION_YES)
     hton->fill_is_table(hton, thd, args->tables, args->cond,
@@ -6326,15 +6326,15 @@ static my_bool run_hton_fill_schema_file
   return false;
 }
 
-int fill_schema_files(THD *thd, TABLE_LIST *tables, COND *cond)
+int hton_fill_schema_table(THD *thd, TABLE_LIST *tables, COND *cond)
 {
-  DBUG_ENTER("fill_schema_files");
+  DBUG_ENTER("hton_fill_schema_table");
 
-  struct run_hton_fill_schema_files_args args;
+  struct run_hton_fill_schema_table_args args;
   args.tables= tables;
   args.cond= cond;
 
-  plugin_foreach(thd, run_hton_fill_schema_files,
+  plugin_foreach(thd, run_hton_fill_schema_table,
                  MYSQL_STORAGE_ENGINE_PLUGIN, &args);
 
   DBUG_RETURN(0);
@@ -6940,6 +6940,29 @@ ST_FIELD_INFO parameters_fields_info[]=
 };
 
 
+ST_FIELD_INFO tablespaces_fields_info[]=
+{
+  {"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0,
+   SKIP_OPEN_TABLE},
+  {"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE},
+  {"TABLESPACE_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, MY_I_S_MAYBE_NULL,
+   0, SKIP_OPEN_TABLE},
+  {"LOGFILE_GROUP_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, MY_I_S_MAYBE_NULL,
+   0, SKIP_OPEN_TABLE},
+  {"EXTENT_SIZE", 21, MYSQL_TYPE_LONGLONG, 0,
+   MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED, 0, SKIP_OPEN_TABLE},
+  {"AUTOEXTEND_SIZE", 21, MYSQL_TYPE_LONGLONG, 0,
+   MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED, 0, SKIP_OPEN_TABLE},
+  {"MAXIMUM_SIZE", 21, MYSQL_TYPE_LONGLONG, 0,
+   MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED, 0, SKIP_OPEN_TABLE},
+  {"NODEGROUP_ID", 21, MYSQL_TYPE_LONGLONG, 0,
+   MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED, 0, SKIP_OPEN_TABLE},
+  {"TABLESPACE_COMMENT", 2048, MYSQL_TYPE_STRING, 0, MY_I_S_MAYBE_NULL, 0,
+   SKIP_OPEN_TABLE},
+  {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}
+};
+
+
 /*
   Description of ST_FIELD_INFO in table.h
 
@@ -6970,7 +6993,7 @@ ST_SCHEMA_TABLE schema_tables[]=
    0, make_old_format, 0, -1, -1, 0, 0},
 #endif
   {"FILES", files_fields_info, create_schema_table,
-   fill_schema_files, 0, 0, -1, -1, 0, 0},
+   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},
   {"GLOBAL_VARIABLES", variables_fields_info, create_schema_table,
@@ -7012,6 +7035,8 @@ ST_SCHEMA_TABLE schema_tables[]=
   {"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,
+   hton_fill_schema_table, 0, 0, -1, -1, 0, 0},
   {"TABLE_CONSTRAINTS", table_constraints_fields_info, create_schema_table,
    get_all_tables, 0, get_schema_constraints_record, 3, 4, 0, OPEN_TABLE_ONLY},
   {"TABLE_NAMES", table_names_fields_info, create_schema_table,

Thread
bzr commit into mysql-6.0-sea branch (svoj:2691) WL#2511Sergey Vojtovich2 Aug