From 61140f0446ef2bc09c93af766a4b86b3b8c58e97 Mon Sep 17 00:00:00 2001 From: "msvensson@pilot.blaudden" <> Date: Thu, 1 Mar 2007 13:43:04 +0100 Subject: [PATCH 001/144] Bug#25262 Auto Increment lost when changing Engine type - Try to copy the autoincrement value when altering the table --- mysql-test/r/alter_table.result | 24 ++++++++++++++++++ mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++++ mysql-test/t/alter_table.test | 28 +++++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++++++++++++++++ sql/sql_table.cc | 6 +++++ 5 files changed, 131 insertions(+) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result index d8de2655c6c..94a65ff51d2 100644 --- a/mysql-test/r/alter_table.result +++ b/mysql-test/r/alter_table.result @@ -826,3 +826,27 @@ create table t1 (t varchar(255) default null, key t (t(80))) engine=myisam default charset=latin1; alter table t1 change t t text; drop table t1; +create table t1(id int(8) primary key auto_increment) engine=heap; +insert into t1 values (null); +insert into t1 values (null); +select * from t1; +id +1 +2 +alter table t1 auto_increment = 50; +alter table t1 engine = myisam; +insert into t1 values (null); +select * from t1; +id +1 +2 +50 +alter table t1 engine = heap; +insert into t1 values (null); +select * from t1; +id +1 +2 +50 +51 +drop table t1; diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/alter_table.test b/mysql-test/t/alter_table.test index 01f55931ca4..382790e00d0 100644 --- a/mysql-test/t/alter_table.test +++ b/mysql-test/t/alter_table.test @@ -613,3 +613,31 @@ create table t1 (t varchar(255) default null, key t (t(80))) engine=myisam default charset=latin1; alter table t1 change t t text; drop table t1; + +# +# Bug#25262 Auto Increment lost when changing Engine type +# + +create table t1(id int(8) primary key auto_increment) engine=heap; + +insert into t1 values (null); +insert into t1 values (null); + +select * from t1; + +# Set auto increment to 50 +alter table t1 auto_increment = 50; + +# Alter to myisam +alter table t1 engine = myisam; + +# This insert should get id 50 +insert into t1 values (null); +select * from t1; + +# Alter to heap again +alter table t1 engine = heap; +insert into t1 values (null); +select * from t1; + +drop table t1; diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 6f57ac1ec42..70549a80c0a 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3274,6 +3274,12 @@ view_err: create_info->avg_row_length= table->s->avg_row_length; if (!(used_fields & HA_CREATE_USED_DEFAULT_CHARSET)) create_info->default_table_charset= table->s->table_charset; + if (!(used_fields & HA_CREATE_USED_AUTO) && table->found_next_number_field) + { + /* Table has an autoincrement, copy value to new table */ + table->file->info(HA_STATUS_AUTO); + create_info->auto_increment_value= table->file->auto_increment_value; + } restore_record(table, s->default_values); // Empty record for DEFAULT List_iterator drop_it(alter_info->drop_list); From 67d7871ab97d1d88d4e244252a40368387eb8e41 Mon Sep 17 00:00:00 2001 From: "iggy@alf." <> Date: Thu, 29 Mar 2007 22:18:52 -0400 Subject: [PATCH 002/144] 25141 Partial --- mysql-test/include/partition.inc | 1402 +++++++++++++++++++++++ mysql-test/r/partition_windows.result | 1223 ++++++++++++++++++++ mysql-test/t/partition_not_windows.test | 100 ++ mysql-test/t/partition_windows.test | 30 + sql/sql_table.cc | 4 +- 5 files changed, 2757 insertions(+), 2 deletions(-) create mode 100644 mysql-test/include/partition.inc create mode 100644 mysql-test/r/partition_windows.result create mode 100644 mysql-test/t/partition_not_windows.test create mode 100644 mysql-test/t/partition_windows.test diff --git a/mysql-test/include/partition.inc b/mysql-test/include/partition.inc new file mode 100644 index 00000000000..5d005388858 --- /dev/null +++ b/mysql-test/include/partition.inc @@ -0,0 +1,1402 @@ +#--disable_abort_on_error +# +# Simple test for the partition storage engine +# Taken fromm the select test +# +-- source include/have_partition.inc + +# +# This test is disabled on Windows due to BUG#19107 +# +#-- source include/not_windows.inc + +--disable_warnings +drop table if exists t1; +--enable_warnings + +# +# Bug 15890: Strange number of partitions accepted +# +-- error 1064 +create table t1 (a int) +partition by key(a) +partitions 0.2+e1; +-- error 1064 +create table t1 (a int) +partition by key(a) +partitions -1; +-- error 1064 +create table t1 (a int) +partition by key(a) +partitions 1.5; +-- error 1064 +create table t1 (a int) +partition by key(a) +partitions 1e+300; + +# +# Bug 21350: Data Directory problems +# +-- error 1103 +create table t1 (a int) +partition by key (a) +(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); + +# +# Insert a test that manages to create the first partition and fails with +# the second, ensure that we clean up afterwards in a proper manner. +# +--error 1103 +create table t1 (a int) +partition by key (a) +(partition p0, + partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); + +# +# Bug 19309 Partitions: Crash if double procedural alter +# +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); + +create procedure pz() +alter table t1 engine = myisam; + +call pz(); +call pz(); +drop procedure pz; +drop table t1; + +# +# Bug 19307: CSV engine crashes +# +--error ER_PARTITION_MERGE_ERROR +create table t1 (a int) +engine = csv +partition by list (a) +(partition p0 values in (null)); + +# +# BUG 16002: Handle unsigned integer functions properly +# +--error 1064 +create table t1 (a bigint) +partition by range (a) +(partition p0 values less than (0xFFFFFFFFFFFFFFFF), + partition p1 values less than (10)); +--error 1064 +create table t1 (a bigint) +partition by list (a) +(partition p0 values in (0xFFFFFFFFFFFFFFFF), + partition p1 values in (10)); + +create table t1 (a bigint unsigned) +partition by range (a) +(partition p0 values less than (100), + partition p1 values less than MAXVALUE); +insert into t1 values (1); +drop table t1; + +create table t1 (a bigint unsigned) +partition by hash (a); +insert into t1 values (0xFFFFFFFFFFFFFFFD); +insert into t1 values (0xFFFFFFFFFFFFFFFE); +select * from t1 where (a + 1) < 10; +select * from t1 where (a + 1) > 10; +drop table t1; + +# +# Bug 19307: CSV engine crashes +# +--error ER_PARTITION_MERGE_ERROR +create table t1 (a int) +engine = csv +partition by list (a) +(partition p0 values in (null)); + +# +# Added test case +# +create table t1 (a int) +partition by key(a) +(partition p0 engine = MEMORY); +drop table t1; + +# +# BUG 19067 ALTER TABLE .. ADD PARTITION for subpartitioned table crashes +# +create table t1 (a int) +partition by range (a) +subpartition by key (a) +(partition p0 values less than (1)); +alter table t1 add partition (partition p1 values less than (2)); +show create table t1; +alter table t1 reorganize partition p1 into (partition p1 values less than (3)); +show create table t1; +drop table t1; + +# +# Partition by key no partition defined => OK +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a); + +# +# Bug 13323: Select count(*) on empty table returns 2 +# +select count(*) from t1; + +# +# Test SHOW CREATE TABLE +# +show create table t1; + +drop table t1; +# +# Partition by key no partition, list of fields +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a, b); + +drop table t1; +# +# Partition by key specified 3 partitions and defined 3 => ok +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1, partition x2, partition x3); + +drop table t1; +# +# Partition by key specifying nodegroup +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1 nodegroup 0, + partition x2 nodegroup 1, + partition x3 nodegroup 2); + +drop table t1; +# +# Partition by key specifying engine +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1 engine myisam, + partition x2 engine myisam, + partition x3 engine myisam); + +drop table t1; +# +# Partition by key specifying tablespace +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1 tablespace ts1, + partition x2 tablespace ts2, + partition x3 tablespace ts3); + +CREATE TABLE t2 LIKE t1; + +drop table t2; +drop table t1; + +# +# Partition by key list, basic +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 3 +(partition x1 values in (1,2,9,4) tablespace ts1, + partition x2 values in (3, 11, 5, 7) tablespace ts2, + partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); + +drop table t1; +# +# Partition by key list, list function +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (b*a) +partitions 3 +(partition x1 values in (1,2,9,4) tablespace ts1, + partition x2 values in (3, 11, 5, 7) tablespace ts2, + partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); + +drop table t1; + +# +# Partition by key list, list function, no spec of #partitions +# +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (b*a) +(partition x1 values in (1) tablespace ts1, + partition x2 values in (3, 11, 5, 7) tablespace ts2, + partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); + +drop table t1; + +# +# Bug 13154: Insert crashes due to bad calculation of partition id +# for PARTITION BY KEY and SUBPARTITION BY KEY +# +CREATE TABLE t1 ( +a int not null) +partition by key(a); + +LOCK TABLES t1 WRITE; +insert into t1 values (1); +insert into t1 values (2); +insert into t1 values (3); +insert into t1 values (4); +UNLOCK TABLES; + +drop table t1; + +# +# Bug #13644 DROP PARTITION NULL's DATE column +# +CREATE TABLE t1 (a int, name VARCHAR(50), purchased DATE) +PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN (3), + PARTITION p1 VALUES LESS THAN (7), + PARTITION p2 VALUES LESS THAN (9), + PARTITION p3 VALUES LESS THAN (11)); +INSERT INTO t1 VALUES +(1, 'desk organiser', '2003-10-15'), +(2, 'CD player', '1993-11-05'), +(3, 'TV set', '1996-03-10'), +(4, 'bookcase', '1982-01-10'), +(5, 'exercise bike', '2004-05-09'), +(6, 'sofa', '1987-06-05'), +(7, 'popcorn maker', '2001-11-22'), +(8, 'acquarium', '1992-08-04'), +(9, 'study desk', '1984-09-16'), +(10, 'lava lamp', '1998-12-25'); + +SELECT * from t1 ORDER BY a; +ALTER TABLE t1 DROP PARTITION p0; +SELECT * from t1 ORDER BY a; + +drop table t1; + +# +# Bug #13442; Truncate Partitioned table doesn't work +# + +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (1,2,3), PARTITION p1 VALUES IN (4,5,6)); + +insert into t1 values (1),(2),(3),(4),(5),(6); +select * from t1; +truncate t1; +select * from t1; +truncate t1; +select * from t1; +drop table t1; + +# +# Bug #13445 Partition by KEY method crashes server +# +CREATE TABLE t1 (a int, b int, primary key(a,b)) +PARTITION BY KEY(b,a) PARTITIONS 4; + +insert into t1 values (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6); +select * from t1 where a = 4; + +drop table t1; + +# +# Bug #13438: Engine clause in PARTITION clause causes crash +# +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +PARTITIONS 1 +(PARTITION x1 VALUES IN (1) ENGINE=MEMORY); + +show create table t1; +drop table t1; + +# +# Bug #13440: REPLACE causes crash in partitioned table +# +CREATE TABLE t1 (a int, unique(a)) +PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); + +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +REPLACE t1 SET a = 4; +drop table t1; + +# +# Bug #14365: Crash if value too small in list partitioned table +# +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (2), PARTITION x2 VALUES IN (3)); + +insert into t1 values (2), (3); +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +insert into t1 values (4); +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +insert into t1 values (1); +drop table t1; + +# +# Bug 14327: PARTITIONS clause gets lost in SHOW CREATE TABLE +# +CREATE TABLE t1 (a int) +PARTITION BY HASH(a) +PARTITIONS 5; + +SHOW CREATE TABLE t1; + +drop table t1; + +# +# Bug #13446: Update to value outside of list values doesn't give error +# +CREATE TABLE t1 (a int) +PARTITION BY RANGE (a) +(PARTITION x1 VALUES LESS THAN (2)); + +insert into t1 values (1); +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +update t1 set a = 5; + +drop table t1; + +# +# Bug #13441: Analyze on partitioned table didn't work +# +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); + +analyze table t1; + +drop table t1; + +# +# BUG 14524 +# +CREATE TABLE `t1` ( + `id` int(11) default NULL +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; +SELECT * FROM t1; + +drop table t1; + +# +# BUG 14524 +# +CREATE TABLE `t1` ( + `id` int(11) default NULL +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; +SELECT * FROM t1; + +drop table t1; + +# +# BUG 15221 (Cannot reorganize with the same name) +# +create table t1 +(a int) +partition by range (a) + ( partition p0 values less than(10), + partition p1 values less than (20), + partition p2 values less than (25)); + +alter table t1 reorganize partition p2 into (partition p2 values less than (30)); +show create table t1; +drop table t1; + +CREATE TABLE t1 (a int, b int) +PARTITION BY RANGE (a) +(PARTITION x0 VALUES LESS THAN (2), + PARTITION x1 VALUES LESS THAN (4), + PARTITION x2 VALUES LESS THAN (6), + PARTITION x3 VALUES LESS THAN (8), + PARTITION x4 VALUES LESS THAN (10), + PARTITION x5 VALUES LESS THAN (12), + PARTITION x6 VALUES LESS THAN (14), + PARTITION x7 VALUES LESS THAN (16), + PARTITION x8 VALUES LESS THAN (18), + PARTITION x9 VALUES LESS THAN (20)); + +ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO +(PARTITION x1 VALUES LESS THAN (6)); +show create table t1; +drop table t1; + +# Testcase for BUG#15819 +create table t1 (a int not null, b int not null) partition by LIST (a+b) ( + partition p0 values in (12), + partition p1 values in (14) +); +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +insert into t1 values (10,1); + +drop table t1; + +# +# Bug#16901 Partitions: crash, SELECT, column of part. +# function=first column of primary key +# +create table t1 (f1 integer,f2 integer, f3 varchar(10), primary key(f1,f2)) +partition by range(f1) subpartition by hash(f2) subpartitions 2 +(partition p1 values less than (0), + partition p2 values less than (2), + partition p3 values less than (2147483647)); + +insert into t1 values(10,10,'10'); +insert into t1 values(2,2,'2'); +select * from t1 where f1 = 2; +drop table t1; + +# +# Bug #16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX +# +create table t1 (f1 integer,f2 integer, unique index(f1)) +partition by range(f1 div 2) +subpartition by hash(f1) subpartitions 2 +(partition partb values less than (2), +partition parte values less than (4), +partition partf values less than (10000)); +insert into t1 values(10,1); +select * from t1 where f1 = 10; +drop table t1; + +# +# Bug #16775: Wrong engine type stored for subpartition +# +set session storage_engine= 'memory'; +create table t1 (f_int1 int(11) default null) engine = memory + partition by range (f_int1) subpartition by hash (f_int1) + (partition part1 values less than (1000) + (subpartition subpart11 engine = memory)); +drop table t1; +set session storage_engine='myisam'; + +# +# Bug #16782: Crash using REPLACE on table with primary key +# +create table t1 (f_int1 integer, f_int2 integer, primary key (f_int1)) + partition by hash(f_int1) partitions 2; +insert into t1 values (1,1),(2,2); +replace into t1 values (1,1),(2,2); +drop table t1; + +# +# Bug #17169: Partitions: out of memory if add partition and unique +# +create table t1 (s1 int, unique (s1)) partition by list (s1) (partition x1 VALUES in (10), partition x2 values in (20)); +alter table t1 add partition (partition x3 values in (30)); +drop table t1; + +# +# Bug #17754 Change to explicit removal of partitioning scheme +# Also added a number of tests to ensure that proper engine is +# choosen in all kinds of scenarios. +# + +create table t1 (a int) +partition by key(a) +partitions 2 +(partition p0 engine=myisam, partition p1 engine=myisam); +show create table t1; + +alter table t1; +show create table t1; + +alter table t1 engine=myisam; +show create table t1; + +alter table t1 engine=heap; +show create table t1; + +alter table t1 remove partitioning; +show create table t1; + +drop table t1; + +create table t1 (a int) +engine=myisam +partition by key(a) +partitions 2 +(partition p0 engine=myisam, partition p1 engine=myisam); +show create table t1; + +alter table t1 add column b int remove partitioning; +show create table t1; + +alter table t1 +engine=myisam +partition by key(a) +(partition p0 engine=myisam, partition p1); +show create table t1; + +alter table t1 +engine=heap +partition by key(a) +(partition p0, partition p1 engine=heap); +show create table t1; + +alter table t1 engine=myisam, add column c int remove partitioning; +show create table t1; + +alter table t1 +engine=heap +partition by key (a) +(partition p0, partition p1); +show create table t1; + +alter table t1 +partition by key (a) +(partition p0, partition p1); +show create table t1; + +alter table t1 +engine=heap +partition by key (a) +(partition p0, partition p1); +show create table t1; + +--error ER_MIX_HANDLER_ERROR +alter table t1 +partition by key(a) +(partition p0, partition p1 engine=heap); + +--error ER_MIX_HANDLER_ERROR +alter table t1 +partition by key(a) +(partition p0 engine=heap, partition p1); + +--error ER_MIX_HANDLER_ERROR +alter table t1 +engine=heap +partition by key (a) +(partition p0 engine=heap, partition p1 engine=myisam); + +--error ER_MIX_HANDLER_ERROR +alter table t1 +partition by key (a) +(partition p0 engine=heap, partition p1 engine=myisam); + +drop table t1; + +# Bug #17432: Partition functions containing NULL values should return +# LONGLONG_MIN +# +CREATE TABLE t1 ( + f_int1 INTEGER, f_int2 INTEGER, + f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) + ) + PARTITION BY RANGE(f_int1 DIV 2) + SUBPARTITION BY HASH(f_int1) + SUBPARTITIONS 2 + (PARTITION parta VALUES LESS THAN (0), + PARTITION partb VALUES LESS THAN (5), + PARTITION parte VALUES LESS THAN (10), + PARTITION partf VALUES LESS THAN (2147483647)); +INSERT INTO t1 SET f_int1 = NULL , f_int2 = -20, f_char1 = CAST(-20 AS CHAR), + f_char2 = CAST(-20 AS CHAR), f_charbig = '#NULL#'; +SELECT * FROM t1 WHERE f_int1 IS NULL; +SELECT * FROM t1; +drop table t1; + +# +# Bug 17430: Crash when SELECT * from t1 where field IS NULL +# + +CREATE TABLE t1 ( + f_int1 INTEGER, f_int2 INTEGER, + f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) ) + PARTITION BY LIST(MOD(f_int1,2)) + SUBPARTITION BY KEY(f_int1) + (PARTITION part1 VALUES IN (-1) (SUBPARTITION sp1, SUBPARTITION sp2), + PARTITION part2 VALUES IN (0) (SUBPARTITION sp3, SUBPARTITION sp5), + PARTITION part3 VALUES IN (1) (SUBPARTITION sp4, SUBPARTITION sp6)); + +INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; +INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; + +SELECT * FROM t1 WHERE f_int1 IS NULL; +drop table t1; + +# +# Bug#14363 Partitions: failure if create in stored procedure +# +delimiter //; + +create procedure p () +begin +create table t1 (s1 mediumint,s2 mediumint) +partition by list (s2) +(partition p1 values in (0), + partition p2 values in (1)); +end// + +call p()// +drop procedure p// +drop table t1; + +create procedure p () +begin +create table t1 (a int not null,b int not null,c int not null,primary key (a,b)) +partition by range (a) +subpartition by hash (a+b) +(partition x1 values less than (1) + (subpartition x11, + subpartition x12), + partition x2 values less than (5) + (subpartition x21, + subpartition x22)); +end// + +call p()// +drop procedure p// +drop table t1// +delimiter ;// + +# +# Bug #15447 Partitions: NULL is treated as zero +# + +# NULL for RANGE partition +create table t1 (a int,b int,c int,key(a,b)) +partition by range (a) +partitions 3 +(partition x1 values less than (0) tablespace ts1, + partition x2 values less than (10) tablespace ts2, + partition x3 values less than maxvalue tablespace ts3); + +insert into t1 values (NULL, 1, 1); +insert into t1 values (0, 1, 1); +insert into t1 values (12, 1, 1); + +select partition_name, partition_description, table_rows +from information_schema.partitions where table_schema ='test'; +drop table t1; + +# NULL for LIST partition +--error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11,12), + partition x234 values in (1 ,NULL, NULL)); + +--error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, NULL), + partition x234 values in (1 ,NULL)); + +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, 12), + partition x234 values in (5, 1)); +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +insert into t1 values (NULL,1,1); +drop table t1; + +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, 12), + partition x234 values in (NULL, 1)); + +insert into t1 values (11,1,6); +insert into t1 values (NULL,1,1); + +select partition_name, partition_description, table_rows +from information_schema.partitions where table_schema ='test'; +drop table t1; + +# +# BUG 17947 Crash with REBUILD PARTITION +# +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); + +--error 1064 +alter table t1 rebuild partition; + +drop table t1; + +# +# BUG 15253 Insert that should fail doesn't +# +create table t1 (a int) +partition by list (a) +(partition p0 values in (5)); + +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +insert into t1 values (0); + +drop table t1; + +# +# BUG #16370 Subpartitions names not shown in SHOW CREATE TABLE output +# +create table t1 (a int) +partition by range (a) subpartition by hash (a) +(partition p0 values less than (100)); + +show create table t1; +alter table t1 add partition (partition p1 values less than (200) +(subpartition subpart21)); + +show create table t1; + +drop table t1; + +create table t1 (a int) +partition by key (a); + +show create table t1; +alter table t1 add partition (partition p1); +show create table t1; + +drop table t1; + +# +# BUG 15407 Crash with subpartition +# +--error 1064 +create table t1 (a int, b int) +partition by range (a) +subpartition by hash(a) +(partition p0 values less than (0) (subpartition sp0), + partition p1 values less than (1)); + +--error 1064 +create table t1 (a int, b int) +partition by range (a) +subpartition by hash(a) +(partition p0 values less than (0), + partition p1 values less than (1) (subpartition sp0)); + +# +# BUG 15961 No error when subpartition defined without subpartition by clause +# +--error ER_SUBPARTITION_ERROR +create table t1 (a int) +partition by hash (a) +(partition p0 (subpartition sp0)); + +# +# Bug 17127 +# +create table t1 (a int) +partition by range (a) +(partition p0 values less than (1)); + +--error ER_PARTITION_WRONG_VALUES_ERROR +alter table t1 add partition (partition p1 values in (2)); +--error ER_PARTITION_REQUIRES_VALUES_ERROR +alter table t1 add partition (partition p1); + +drop table t1; + +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); + +--error ER_PARTITION_WRONG_VALUES_ERROR +alter table t1 add partition (partition p1 values less than (2)); +--error ER_PARTITION_REQUIRES_VALUES_ERROR +alter table t1 add partition (partition p1); + +drop table t1; + +create table t1 (a int) +partition by hash (a) +(partition p0); + +--error ER_PARTITION_WRONG_VALUES_ERROR +alter table t1 add partition (partition p1 values less than (2)); +--error ER_PARTITION_WRONG_VALUES_ERROR +alter table t1 add partition (partition p1 values in (2)); + +drop table t1; + +# +# BUG 17947 Crash with REBUILD PARTITION +# +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); + +--error 1064 +alter table t1 rebuild partition; + +drop table t1; + +# +# Bug #14526: Partitions: indexed searches fail +# +create table t2 (s1 int not null auto_increment, primary key (s1)) partition by list (s1) (partition p1 values in (1),partition p2 values in (2),partition p3 values in (3),partition p4 values in (4)); +insert into t2 values (null),(null),(null); +select * from t2; +select * from t2 where s1 < 2; +update t2 set s1 = s1 + 1 order by s1 desc; +select * from t2 where s1 < 3; +select * from t2 where s1 = 2; +drop table t2; + +# +# Bug #17497: Partitions: crash if add partition on temporary table +# +--error ER_PARTITION_NO_TEMPORARY +create temporary table t1 (a int) partition by hash(a); + +# +# Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten +# metadata,crash +# +create table t1 (a int, b int) partition by list (a) + (partition p1 values in (1), partition p2 values in (2)); +--error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF +alter table t1 add primary key (b); +show create table t1; +drop table t1; + +############################################ +# +# Author: Mikael Ronstrom +# Date: 2006-03-01 +# Purpose +# Bug 17772: Crash at ALTER TABLE with rename +# and add column + comment on +# partitioned table +# +############################################ +create table t1 (a int unsigned not null auto_increment primary key) +partition by key(a); +alter table t1 rename t2, add c char(10), comment "no comment"; +show create table t2; + +drop table t2; + +# +# Bug#15336 Partitions: crash if create table as select +# +create table t1 (f1 int) partition by hash (f1) as select 1; +drop table t1; + +# +# bug #14350 Partitions: crash if prepared statement +# +prepare stmt1 from 'create table t1 (s1 int) partition by hash (s1)'; +execute stmt1; +--error 1050 +execute stmt1; +drop table t1; + +# +# bug 17290 SP with delete, create and rollback to save point causes MySQLD core +# +delimiter |; +eval CREATE PROCEDURE test.p1(IN i INT) +BEGIN + DECLARE CONTINUE HANDLER FOR sqlexception BEGIN END; + DROP TABLE IF EXISTS t1; + CREATE TABLE t1 (num INT,PRIMARY KEY(num)); + START TRANSACTION; + INSERT INTO t1 VALUES(i); + savepoint t1_save; + INSERT INTO t1 VALUES (14); + ROLLBACK to savepoint t1_save; + COMMIT; +END| +delimiter ;| +CALL test.p1(12); +CALL test.p1(13); +drop table t1; +drop procedure test.p1; + +# +# Bug 13520: Problem with delimiters in COMMENT DATA DIRECTORY .. +# +CREATE TABLE t1 (a int not null) +partition by key(a) +(partition p0 COMMENT='first partition'); +drop table t1; + +# +# Bug 13433: Problem with delimited identifiers +# +CREATE TABLE t1 (`a b` int not null) +partition by key(`a b`); +drop table t1; + +CREATE TABLE t1 (`a b` int not null) +partition by hash(`a b`); +drop table t1; + +# +# Bug#18053 Partitions: crash if null +# Bug#18070 Partitions: wrong result on WHERE ... IS NULL +# +create table t1 (f1 integer) partition by range(f1) +(partition p1 values less than (0), partition p2 values less than (10)); +insert into t1 set f1 = null; +select * from t1 where f1 is null; +explain partitions select * from t1 where f1 is null; +drop table t1; + +create table t1 (f1 integer) partition by list(f1) +(partition p1 values in (1), partition p2 values in (null)); +insert into t1 set f1 = null; +insert into t1 set f1 = 1; +select * from t1 where f1 is null or f1 = 1; +drop table t1; + +create table t1 (f1 smallint) +partition by list (f1) (partition p0 values in (null)); +insert into t1 values (null); +select * from t1 where f1 is null; +select * from t1 where f1 < 1; +select * from t1 where f1 <= NULL; +select * from t1 where f1 < NULL; +select * from t1 where f1 >= NULL; +select * from t1 where f1 > NULL; +select * from t1 where f1 > 1; +drop table t1; + +create table t1 (f1 smallint) +partition by range (f1) (partition p0 values less than (0)); +insert into t1 values (null); +select * from t1 where f1 is null; +drop table t1; + +create table t1 (f1 integer) partition by list(f1) +( + partition p1 values in (1), + partition p2 values in (NULL), + partition p3 values in (2), + partition p4 values in (3), + partition p5 values in (4) +); + +insert into t1 values (1),(2),(3),(4),(null); +select * from t1 where f1 < 3; +explain partitions select * from t1 where f1 < 3; +select * from t1 where f1 is null; +explain partitions select * from t1 where f1 is null; +drop table t1; + +create table t1 (f1 int) partition by list(f1 div 2) +( + partition p1 values in (1), + partition p2 values in (NULL), + partition p3 values in (2), + partition p4 values in (3), + partition p5 values in (4) +); + +insert into t1 values (2),(4),(6),(8),(null); +select * from t1 where f1 < 3; +explain partitions select * from t1 where f1 < 3; +select * from t1 where f1 is null; +explain partitions select * from t1 where f1 is null; +drop table t1; + +create table t1 (a int) partition by LIST(a) ( + partition pn values in (NULL), + partition p0 values in (0), + partition p1 values in (1), + partition p2 values in (2) +); +insert into t1 values (NULL),(0),(1),(2); +select * from t1 where a is null or a < 2; +explain partitions select * from t1 where a is null or a < 2; +select * from t1 where a is null or a < 0 or a > 1; +explain partitions select * from t1 where a is null or a < 0 or a > 1; +drop table t1; + +# +#Bug# 17631 SHOW TABLE STATUS reports wrong engine +# +CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20)) +ENGINE=MyISAM DEFAULT CHARSET=latin1 +PARTITION BY RANGE(id) +(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, +PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, +PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); +--replace_column 6 0 7 0 8 0 9 0 12 NULL 13 NULL 14 NULL +SHOW TABLE STATUS; +DROP TABLE t1; + +# +#BUG 16002 Erroneus handling of unsigned partition functions +# +--error ER_PARTITION_CONST_DOMAIN_ERROR +create table t1 (a bigint unsigned) +partition by list (a) +(partition p0 values in (0-1)); + +create table t1 (a bigint unsigned) +partition by range (a) +(partition p0 values less than (10)); + +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +insert into t1 values (0xFFFFFFFFFFFFFFFF); + +drop table t1; + +# +#BUG 18750 Problems with partition names +# +create table t1 (a int) +partition by list (a) +(partition `s1 s2` values in (0)); +drop table t1; + +create table t1 (a int) +partition by list (a) +(partition `7` values in (0)); +drop table t1; + +--error ER_WRONG_PARTITION_NAME +create table t1 (a int) +partition by list (a) +(partition `s1 s2 ` values in (0)); + +--error ER_WRONG_PARTITION_NAME +create table t1 (a int) +partition by list (a) +subpartition by hash (a) +(partition p1 values in (0) (subpartition `p1 p2 `)); + +# +# BUG 18752 SHOW CREATE TABLE doesn't show NULL value in SHOW CREATE TABLE +# +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (NULL)); +SHOW CREATE TABLE t1; +DROP TABLE t1; + +--error 1064 +CREATE TABLE t1 (a int) +PARTITION BY RANGE(a) +(PARTITION p0 VALUES LESS THAN (NULL)); + +# +# Bug#18753 Partitions: auto_increment fails +# +create table t1 (s1 int auto_increment primary key) +partition by list (s1) +(partition p1 values in (1), + partition p2 values in (2), + partition p3 values in (3)); +insert into t1 values (null); +insert into t1 values (null); +insert into t1 values (null); +select auto_increment from information_schema.tables where table_name='t1'; +select * from t1; +drop table t1; + +# +# BUG 19140 Partitions: Create index for partitioned table crashes +# +create table t1 (a int) engine=memory +partition by key(a); +insert into t1 values (1); +create index inx1 on t1(a); +drop table t1; + +# +# Bug 19695 Partitions: SHOW CREATE TABLE shows table options even when it +# shouldn't +# +create table t1 (a int) +PARTITION BY KEY (a) +(PARTITION p0); +set session sql_mode='no_table_options'; +show create table t1; +set session sql_mode=''; +drop table t1; + +# +# BUG 19304 Partitions: MERGE handler not allowed in partitioned tables +# +--error ER_PARTITION_MERGE_ERROR +create table t1 (a int) +partition by key (a) +(partition p0 engine = MERGE); + +# +# BUG 19062 Partition clause ignored if CREATE TABLE ... AS SELECT ...; +# +create table t1 (a varchar(1)) +partition by key (a) +as select 'a'; + +show create table t1; +drop table t1; + +# +# BUG 19501 Partitions: SHOW TABLE STATUS shows wrong Data_free +# +CREATE TABLE t1 (a int) ENGINE = MYISAM PARTITION BY KEY(a); +INSERT into t1 values (1), (2); +--replace_column 9 0 12 NULL 13 NULL 14 NULL +SHOW TABLE STATUS; +DELETE from t1 where a = 1; +--replace_column 9 0 12 NULL 13 NULL 14 NULL +SHOW TABLE STATUS; +ALTER TABLE t1 OPTIMIZE PARTITION p0; +--replace_column 12 NULL 13 NULL 14 NULL +SHOW TABLE STATUS; +DROP TABLE t1; + +# +# BUG 19502: ENABLE/DISABLE Keys don't work for partitioned tables +# +CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a); +ALTER TABLE t1 DISABLE KEYS; +ALTER TABLE t1 ENABLE KEYS; +DROP TABLE t1; + +# +# Bug 17455 Partitions: Wrong message and error when using Repair/Optimize +# table on partitioned table +# +create table t1 (a int) +engine=MEMORY +partition by key (a); + +REPAIR TABLE t1; +OPTIMIZE TABLE t1; + +drop table t1; + +# +# Bug 17310 Partitions: Bugs with archived partitioned tables +# +create database db99; +use db99; +create table t1 (a int not null) +engine=archive +partition by list (a) +(partition p0 values in (1), partition p1 values in (2)); +insert into t1 values (1), (2); +--error 0, 1005 +create index inx on t1 (a); +alter table t1 add partition (partition p2 values in (3)); +alter table t1 drop partition p2; +use test; +drop database db99; + +# +#BUG 17138 Problem with stored procedure and analyze partition +# +--disable_warnings +drop procedure if exists mysqltest_1; +--enable_warnings + +create table t1 (a int) +partition by list (a) +(partition p0 values in (0)); + +insert into t1 values (0); +delimiter //; + +create procedure mysqltest_1 () +begin + begin + declare continue handler for sqlexception begin end; + update ignore t1 set a = 1 where a = 0; + end; + prepare stmt1 from 'alter table t1'; + execute stmt1; +end// + +call mysqltest_1()// +delimiter ;// +drop table t1; +drop procedure mysqltest_1; + +# +# Bug 20583 Partitions: Crash using index_last +# +create table t1 (a int, index(a)) +partition by hash(a); +insert into t1 values (1),(2); +select * from t1 ORDER BY a DESC; +drop table t1; + +# +# Bug 21388: Bigint fails to find record +# +create table t1 (a bigint unsigned not null, primary key(a)) +engine = myisam +partition by key (a) +partitions 10; + +show create table t1; +insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), +(18446744073709551613), (18446744073709551612); +select * from t1; +select * from t1 where a = 18446744073709551615; +delete from t1 where a = 18446744073709551615; +select * from t1; +drop table t1; + +# +# Bug 24502 reorganize partition closes connection +# +CREATE TABLE t1 ( + num int(11) NOT NULL, cs int(11) NOT NULL) +PARTITION BY RANGE (num) SUBPARTITION BY HASH ( +cs) SUBPARTITIONS 2 (PARTITION p_X VALUES LESS THAN MAXVALUE); + +ALTER TABLE t1 +REORGANIZE PARTITION p_X INTO ( + PARTITION p_100 VALUES LESS THAN (100), + PARTITION p_X VALUES LESS THAN MAXVALUE + ); + +drop table t1; + +# +# Bug #24186 (nested query across partitions returns fewer records) +# + +CREATE TABLE t2 ( + taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + id int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (id,taken), + KEY taken (taken) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +INSERT INTO t2 VALUES +('2006-09-27 21:50:01',16421), +('2006-10-02 21:50:01',16421), +('2006-09-27 21:50:01',19092), +('2006-09-28 21:50:01',19092), +('2006-09-29 21:50:01',19092), +('2006-09-30 21:50:01',19092), +('2006-10-01 21:50:01',19092), +('2006-10-02 21:50:01',19092), +('2006-09-27 21:50:01',22589), +('2006-09-29 21:50:01',22589); + +CREATE TABLE t1 ( + id int(8) NOT NULL, + PRIMARY KEY (id) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +INSERT INTO t1 VALUES +(16421), +(19092), +(22589); + +CREATE TABLE t4 ( + taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + id int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (id,taken), + KEY taken (taken) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +PARTITION BY RANGE (to_days(taken)) +( +PARTITION p01 VALUES LESS THAN (732920) , +PARTITION p02 VALUES LESS THAN (732950) , +PARTITION p03 VALUES LESS THAN MAXVALUE ) ; + +INSERT INTO t4 select * from t2; + +set @f_date='2006-09-28'; +set @t_date='2006-10-02'; + +SELECT t1.id AS MyISAM_part +FROM t1 +WHERE t1.id IN ( + SELECT distinct id + FROM t4 + WHERE taken BETWEEN @f_date AND date_add(@t_date, INTERVAL 1 DAY)) +ORDER BY t1.id +; + +drop table t1, t2, t4; + +CREATE TABLE t1 ( + taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + id int(11) NOT NULL DEFAULT '0', + status varchar(20) NOT NULL DEFAULT '', + PRIMARY KEY (id,taken) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +PARTITION BY RANGE (to_days(taken)) +( +PARTITION p15 VALUES LESS THAN (732950) , +PARTITION p16 VALUES LESS THAN MAXVALUE ) ; + + +INSERT INTO t1 VALUES +('2006-09-27 21:50:01',22589,'Open'), +('2006-09-29 21:50:01',22589,'Verified'); + +DROP TABLE IF EXISTS t2; +CREATE TABLE t2 ( + id int(8) NOT NULL, + severity tinyint(4) NOT NULL DEFAULT '0', + priority tinyint(4) NOT NULL DEFAULT '0', + status varchar(20) DEFAULT NULL, + alien tinyint(4) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +INSERT INTO t2 VALUES +(22589,1,1,'Need Feedback',0); + +SELECT t2.id FROM t2 WHERE t2.id IN (SELECT id FROM t1 WHERE status = 'Verified'); + +drop table t1, t2; + +--echo End of 5.1 tests diff --git a/mysql-test/r/partition_windows.result b/mysql-test/r/partition_windows.result new file mode 100644 index 00000000000..3b2c070e9f2 --- /dev/null +++ b/mysql-test/r/partition_windows.result @@ -0,0 +1,1223 @@ +drop table if exists t1; +create table t1 (a int) +partition by key(a) +partitions 0.2+e1; +ERROR 42000: Only integers allowed as number here near '0.2+e1' at line 3 +create table t1 (a int) +partition by key(a) +partitions -1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 3 +create table t1 (a int) +partition by key(a) +partitions 1.5; +ERROR 42000: Only integers allowed as number here near '1.5' at line 3 +create table t1 (a int) +partition by key(a) +partitions 1e+300; +ERROR 42000: Only integers allowed as number here near '1e+300' at line 3 +create table t1 (a int) +partition by key (a) +(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); +ERROR 42000: Incorrect table name 'part-data' +create table t1 (a int) +partition by key (a) +(partition p0, +partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); +ERROR 42000: Incorrect table name 'part-data' +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); +create procedure pz() +alter table t1 engine = myisam; +call pz(); +call pz(); +drop procedure pz; +drop table t1; +create table t1 (a int) +engine = csv +partition by list (a) +(partition p0 values in (null)); +ERROR HY000: Engine cannot be used in partitioned tables +create table t1 (a bigint) +partition by range (a) +(partition p0 values less than (0xFFFFFFFFFFFFFFFF), +partition p1 values less than (10)); +ERROR 42000: VALUES value must be of same type as partition function near '), +partition p1 values less than (10))' at line 3 +create table t1 (a bigint) +partition by list (a) +(partition p0 values in (0xFFFFFFFFFFFFFFFF), +partition p1 values in (10)); +ERROR 42000: VALUES value must be of same type as partition function near '), +partition p1 values in (10))' at line 3 +create table t1 (a bigint unsigned) +partition by range (a) +(partition p0 values less than (100), +partition p1 values less than MAXVALUE); +insert into t1 values (1); +drop table t1; +create table t1 (a bigint unsigned) +partition by hash (a); +insert into t1 values (0xFFFFFFFFFFFFFFFD); +insert into t1 values (0xFFFFFFFFFFFFFFFE); +select * from t1 where (a + 1) < 10; +a +select * from t1 where (a + 1) > 10; +a +18446744073709551613 +18446744073709551614 +drop table t1; +create table t1 (a int) +engine = csv +partition by list (a) +(partition p0 values in (null)); +ERROR HY000: Engine cannot be used in partitioned tables +create table t1 (a int) +partition by key(a) +(partition p0 engine = MEMORY); +drop table t1; +create table t1 (a int) +partition by range (a) +subpartition by key (a) +(partition p0 values less than (1)); +alter table t1 add partition (partition p1 values less than (2)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) (PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (2) ENGINE = MyISAM) */ +alter table t1 reorganize partition p1 into (partition p1 values less than (3)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) (PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (3) ENGINE = MyISAM) */ +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a); +select count(*) from t1; +count(*) +0 +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL, + `b` int(11) NOT NULL, + `c` int(11) NOT NULL, + PRIMARY KEY (`a`,`b`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a, b); +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1, partition x2, partition x3); +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1 nodegroup 0, +partition x2 nodegroup 1, +partition x3 nodegroup 2); +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1 engine myisam, +partition x2 engine myisam, +partition x3 engine myisam); +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1 tablespace ts1, +partition x2 tablespace ts2, +partition x3 tablespace ts3); +CREATE TABLE t2 LIKE t1; +drop table t2; +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 3 +(partition x1 values in (1,2,9,4) tablespace ts1, +partition x2 values in (3, 11, 5, 7) tablespace ts2, +partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (b*a) +partitions 3 +(partition x1 values in (1,2,9,4) tablespace ts1, +partition x2 values in (3, 11, 5, 7) tablespace ts2, +partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); +drop table t1; +CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (b*a) +(partition x1 values in (1) tablespace ts1, +partition x2 values in (3, 11, 5, 7) tablespace ts2, +partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); +drop table t1; +CREATE TABLE t1 ( +a int not null) +partition by key(a); +LOCK TABLES t1 WRITE; +insert into t1 values (1); +insert into t1 values (2); +insert into t1 values (3); +insert into t1 values (4); +UNLOCK TABLES; +drop table t1; +CREATE TABLE t1 (a int, name VARCHAR(50), purchased DATE) +PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN (3), +PARTITION p1 VALUES LESS THAN (7), +PARTITION p2 VALUES LESS THAN (9), +PARTITION p3 VALUES LESS THAN (11)); +INSERT INTO t1 VALUES +(1, 'desk organiser', '2003-10-15'), +(2, 'CD player', '1993-11-05'), +(3, 'TV set', '1996-03-10'), +(4, 'bookcase', '1982-01-10'), +(5, 'exercise bike', '2004-05-09'), +(6, 'sofa', '1987-06-05'), +(7, 'popcorn maker', '2001-11-22'), +(8, 'acquarium', '1992-08-04'), +(9, 'study desk', '1984-09-16'), +(10, 'lava lamp', '1998-12-25'); +SELECT * from t1 ORDER BY a; +a name purchased +1 desk organiser 2003-10-15 +2 CD player 1993-11-05 +3 TV set 1996-03-10 +4 bookcase 1982-01-10 +5 exercise bike 2004-05-09 +6 sofa 1987-06-05 +7 popcorn maker 2001-11-22 +8 acquarium 1992-08-04 +9 study desk 1984-09-16 +10 lava lamp 1998-12-25 +ALTER TABLE t1 DROP PARTITION p0; +SELECT * from t1 ORDER BY a; +a name purchased +3 TV set 1996-03-10 +4 bookcase 1982-01-10 +5 exercise bike 2004-05-09 +6 sofa 1987-06-05 +7 popcorn maker 2001-11-22 +8 acquarium 1992-08-04 +9 study desk 1984-09-16 +10 lava lamp 1998-12-25 +drop table t1; +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (1,2,3), PARTITION p1 VALUES IN (4,5,6)); +insert into t1 values (1),(2),(3),(4),(5),(6); +select * from t1; +a +1 +2 +3 +4 +5 +6 +truncate t1; +select * from t1; +a +truncate t1; +select * from t1; +a +drop table t1; +CREATE TABLE t1 (a int, b int, primary key(a,b)) +PARTITION BY KEY(b,a) PARTITIONS 4; +insert into t1 values (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6); +select * from t1 where a = 4; +a b +4 4 +drop table t1; +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +PARTITIONS 1 +(PARTITION x1 VALUES IN (1) ENGINE=MEMORY); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION x1 VALUES IN (1) ENGINE = MEMORY) */ +drop table t1; +CREATE TABLE t1 (a int, unique(a)) +PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); +REPLACE t1 SET a = 4; +ERROR HY000: Table has no partition for value 4 +drop table t1; +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (2), PARTITION x2 VALUES IN (3)); +insert into t1 values (2), (3); +insert into t1 values (4); +ERROR HY000: Table has no partition for value 4 +insert into t1 values (1); +ERROR HY000: Table has no partition for value 1 +drop table t1; +CREATE TABLE t1 (a int) +PARTITION BY HASH(a) +PARTITIONS 5; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */ +drop table t1; +CREATE TABLE t1 (a int) +PARTITION BY RANGE (a) +(PARTITION x1 VALUES LESS THAN (2)); +insert into t1 values (1); +update t1 set a = 5; +ERROR HY000: Table has no partition for value 5 +drop table t1; +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +drop table t1; +CREATE TABLE `t1` ( +`id` int(11) default NULL +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; +SELECT * FROM t1; +id +drop table t1; +CREATE TABLE `t1` ( +`id` int(11) default NULL +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; +SELECT * FROM t1; +id +drop table t1; +create table t1 +(a int) +partition by range (a) +( partition p0 values less than(10), +partition p1 values less than (20), +partition p2 values less than (25)); +alter table t1 reorganize partition p2 into (partition p2 values less than (30)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM) */ +drop table t1; +CREATE TABLE t1 (a int, b int) +PARTITION BY RANGE (a) +(PARTITION x0 VALUES LESS THAN (2), +PARTITION x1 VALUES LESS THAN (4), +PARTITION x2 VALUES LESS THAN (6), +PARTITION x3 VALUES LESS THAN (8), +PARTITION x4 VALUES LESS THAN (10), +PARTITION x5 VALUES LESS THAN (12), +PARTITION x6 VALUES LESS THAN (14), +PARTITION x7 VALUES LESS THAN (16), +PARTITION x8 VALUES LESS THAN (18), +PARTITION x9 VALUES LESS THAN (20)); +ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO +(PARTITION x1 VALUES LESS THAN (6)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (6) ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN (8) ENGINE = MyISAM, PARTITION x4 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION x5 VALUES LESS THAN (12) ENGINE = MyISAM, PARTITION x6 VALUES LESS THAN (14) ENGINE = MyISAM, PARTITION x7 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION x8 VALUES LESS THAN (18) ENGINE = MyISAM, PARTITION x9 VALUES LESS THAN (20) ENGINE = MyISAM) */ +drop table t1; +create table t1 (a int not null, b int not null) partition by LIST (a+b) ( +partition p0 values in (12), +partition p1 values in (14) +); +insert into t1 values (10,1); +ERROR HY000: Table has no partition for value 11 +drop table t1; +create table t1 (f1 integer,f2 integer, f3 varchar(10), primary key(f1,f2)) +partition by range(f1) subpartition by hash(f2) subpartitions 2 +(partition p1 values less than (0), +partition p2 values less than (2), +partition p3 values less than (2147483647)); +insert into t1 values(10,10,'10'); +insert into t1 values(2,2,'2'); +select * from t1 where f1 = 2; +f1 f2 f3 +2 2 2 +drop table t1; +create table t1 (f1 integer,f2 integer, unique index(f1)) +partition by range(f1 div 2) +subpartition by hash(f1) subpartitions 2 +(partition partb values less than (2), +partition parte values less than (4), +partition partf values less than (10000)); +insert into t1 values(10,1); +select * from t1 where f1 = 10; +f1 f2 +10 1 +drop table t1; +set session storage_engine= 'memory'; +create table t1 (f_int1 int(11) default null) engine = memory +partition by range (f_int1) subpartition by hash (f_int1) +(partition part1 values less than (1000) +(subpartition subpart11 engine = memory)); +drop table t1; +set session storage_engine='myisam'; +create table t1 (f_int1 integer, f_int2 integer, primary key (f_int1)) +partition by hash(f_int1) partitions 2; +insert into t1 values (1,1),(2,2); +replace into t1 values (1,1),(2,2); +drop table t1; +create table t1 (s1 int, unique (s1)) partition by list (s1) (partition x1 VALUES in (10), partition x2 values in (20)); +alter table t1 add partition (partition x3 values in (30)); +drop table t1; +create table t1 (a int) +partition by key(a) +partitions 2 +(partition p0 engine=myisam, partition p1 engine=myisam); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +alter table t1; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +alter table t1 engine=myisam; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +alter table t1 engine=heap; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +alter table t1 remove partitioning; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +drop table t1; +create table t1 (a int) +engine=myisam +partition by key(a) +partitions 2 +(partition p0 engine=myisam, partition p1 engine=myisam); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +alter table t1 add column b int remove partitioning; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +alter table t1 +engine=myisam +partition by key(a) +(partition p0 engine=myisam, partition p1); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +alter table t1 +engine=heap +partition by key(a) +(partition p0, partition p1 engine=heap); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +alter table t1 engine=myisam, add column c int remove partitioning; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL, + `c` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +alter table t1 +engine=heap +partition by key (a) +(partition p0, partition p1); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL, + `c` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +alter table t1 +partition by key (a) +(partition p0, partition p1); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL, + `c` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +alter table t1 +engine=heap +partition by key (a) +(partition p0, partition p1); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL, + `c` int(11) DEFAULT NULL +) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +alter table t1 +partition by key(a) +(partition p0, partition p1 engine=heap); +ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL +alter table t1 +partition by key(a) +(partition p0 engine=heap, partition p1); +ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL +alter table t1 +engine=heap +partition by key (a) +(partition p0 engine=heap, partition p1 engine=myisam); +ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL +alter table t1 +partition by key (a) +(partition p0 engine=heap, partition p1 engine=myisam); +ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL +drop table t1; +CREATE TABLE t1 ( +f_int1 INTEGER, f_int2 INTEGER, +f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) +) +PARTITION BY RANGE(f_int1 DIV 2) +SUBPARTITION BY HASH(f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0), +PARTITION partb VALUES LESS THAN (5), +PARTITION parte VALUES LESS THAN (10), +PARTITION partf VALUES LESS THAN (2147483647)); +INSERT INTO t1 SET f_int1 = NULL , f_int2 = -20, f_char1 = CAST(-20 AS CHAR), +f_char2 = CAST(-20 AS CHAR), f_charbig = '#NULL#'; +SELECT * FROM t1 WHERE f_int1 IS NULL; +f_int1 f_int2 f_char1 f_char2 f_charbig +NULL -20 -20 -20 #NULL# +SELECT * FROM t1; +f_int1 f_int2 f_char1 f_char2 f_charbig +NULL -20 -20 -20 #NULL# +drop table t1; +CREATE TABLE t1 ( +f_int1 INTEGER, f_int2 INTEGER, +f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) ) +PARTITION BY LIST(MOD(f_int1,2)) +SUBPARTITION BY KEY(f_int1) +(PARTITION part1 VALUES IN (-1) (SUBPARTITION sp1, SUBPARTITION sp2), +PARTITION part2 VALUES IN (0) (SUBPARTITION sp3, SUBPARTITION sp5), +PARTITION part3 VALUES IN (1) (SUBPARTITION sp4, SUBPARTITION sp6)); +INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; +INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; +SELECT * FROM t1 WHERE f_int1 IS NULL; +f_int1 f_int2 f_char1 f_char2 f_charbig +drop table t1; +create procedure p () +begin +create table t1 (s1 mediumint,s2 mediumint) +partition by list (s2) +(partition p1 values in (0), +partition p2 values in (1)); +end// +call p()// +drop procedure p// +drop table t1; +create procedure p () +begin +create table t1 (a int not null,b int not null,c int not null,primary key (a,b)) +partition by range (a) +subpartition by hash (a+b) +(partition x1 values less than (1) +(subpartition x11, +subpartition x12), +partition x2 values less than (5) +(subpartition x21, +subpartition x22)); +end// +call p()// +drop procedure p// +drop table t1// +create table t1 (a int,b int,c int,key(a,b)) +partition by range (a) +partitions 3 +(partition x1 values less than (0) tablespace ts1, +partition x2 values less than (10) tablespace ts2, +partition x3 values less than maxvalue tablespace ts3); +insert into t1 values (NULL, 1, 1); +insert into t1 values (0, 1, 1); +insert into t1 values (12, 1, 1); +select partition_name, partition_description, table_rows +from information_schema.partitions where table_schema ='test'; +partition_name partition_description table_rows +x1 0 1 +x2 10 1 +x3 MAXVALUE 1 +drop table t1; +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11,12), +partition x234 values in (1 ,NULL, NULL)); +ERROR HY000: Multiple definition of same constant in list partitioning +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, NULL), +partition x234 values in (1 ,NULL)); +ERROR HY000: Multiple definition of same constant in list partitioning +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, 12), +partition x234 values in (5, 1)); +insert into t1 values (NULL,1,1); +ERROR HY000: Table has no partition for value NULL +drop table t1; +create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, 12), +partition x234 values in (NULL, 1)); +insert into t1 values (11,1,6); +insert into t1 values (NULL,1,1); +select partition_name, partition_description, table_rows +from information_schema.partitions where table_schema ='test'; +partition_name partition_description table_rows +x123 11,12 1 +x234 NULL,1 1 +drop table t1; +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); +alter table t1 rebuild partition; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 +drop table t1; +create table t1 (a int) +partition by list (a) +(partition p0 values in (5)); +insert into t1 values (0); +ERROR HY000: Table has no partition for value 0 +drop table t1; +create table t1 (a int) +partition by range (a) subpartition by hash (a) +(partition p0 values less than (100)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM) */ +alter table t1 add partition (partition p1 values less than (200) +(subpartition subpart21)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) (SUBPARTITION p0sp0 ENGINE = MyISAM), PARTITION p1 VALUES LESS THAN (200) (SUBPARTITION subpart21 ENGINE = MyISAM)) */ +drop table t1; +create table t1 (a int) +partition by key (a); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +alter table t1 add partition (partition p1); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +drop table t1; +create table t1 (a int, b int) +partition by range (a) +subpartition by hash(a) +(partition p0 values less than (0) (subpartition sp0), +partition p1 values less than (1)); +ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')' at line 5 +create table t1 (a int, b int) +partition by range (a) +subpartition by hash(a) +(partition p0 values less than (0), +partition p1 values less than (1) (subpartition sp0)); +ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '))' at line 5 +create table t1 (a int) +partition by hash (a) +(partition p0 (subpartition sp0)); +ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning +create table t1 (a int) +partition by range (a) +(partition p0 values less than (1)); +alter table t1 add partition (partition p1 values in (2)); +ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition +alter table t1 add partition (partition p1); +ERROR HY000: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition +drop table t1; +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); +alter table t1 add partition (partition p1 values less than (2)); +ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition +alter table t1 add partition (partition p1); +ERROR HY000: LIST PARTITIONING requires definition of VALUES IN for each partition +drop table t1; +create table t1 (a int) +partition by hash (a) +(partition p0); +alter table t1 add partition (partition p1 values less than (2)); +ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition +alter table t1 add partition (partition p1 values in (2)); +ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition +drop table t1; +create table t1 (a int) +partition by list (a) +(partition p0 values in (1)); +alter table t1 rebuild partition; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 +drop table t1; +create table t2 (s1 int not null auto_increment, primary key (s1)) partition by list (s1) (partition p1 values in (1),partition p2 values in (2),partition p3 values in (3),partition p4 values in (4)); +insert into t2 values (null),(null),(null); +select * from t2; +s1 +1 +2 +3 +select * from t2 where s1 < 2; +s1 +1 +update t2 set s1 = s1 + 1 order by s1 desc; +select * from t2 where s1 < 3; +s1 +2 +select * from t2 where s1 = 2; +s1 +2 +drop table t2; +create temporary table t1 (a int) partition by hash(a); +ERROR HY000: Cannot create temporary table with partitions +create table t1 (a int, b int) partition by list (a) +(partition p1 values in (1), partition p2 values in (2)); +alter table t1 add primary key (b); +ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p1 VALUES IN (1) ENGINE = MyISAM, PARTITION p2 VALUES IN (2) ENGINE = MyISAM) */ +drop table t1; +create table t1 (a int unsigned not null auto_increment primary key) +partition by key(a); +alter table t1 rename t2, add c char(10), comment "no comment"; +show create table t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `a` int(10) unsigned NOT NULL AUTO_INCREMENT, + `c` char(10) DEFAULT NULL, + PRIMARY KEY (`a`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='no comment' /*!50100 PARTITION BY KEY (a) */ +drop table t2; +create table t1 (f1 int) partition by hash (f1) as select 1; +drop table t1; +prepare stmt1 from 'create table t1 (s1 int) partition by hash (s1)'; +execute stmt1; +execute stmt1; +ERROR 42S01: Table 't1' already exists +drop table t1; +CREATE PROCEDURE test.p1(IN i INT) +BEGIN +DECLARE CONTINUE HANDLER FOR sqlexception BEGIN END; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (num INT,PRIMARY KEY(num)); +START TRANSACTION; +INSERT INTO t1 VALUES(i); +savepoint t1_save; +INSERT INTO t1 VALUES (14); +ROLLBACK to savepoint t1_save; +COMMIT; +END| +CALL test.p1(12); +Warnings: +Note 1051 Unknown table 't1' +Warning 1196 Some non-transactional changed tables couldn't be rolled back +CALL test.p1(13); +Warnings: +Warning 1196 Some non-transactional changed tables couldn't be rolled back +drop table t1; +drop procedure test.p1; +CREATE TABLE t1 (a int not null) +partition by key(a) +(partition p0 COMMENT='first partition'); +drop table t1; +CREATE TABLE t1 (`a b` int not null) +partition by key(`a b`); +drop table t1; +CREATE TABLE t1 (`a b` int not null) +partition by hash(`a b`); +drop table t1; +create table t1 (f1 integer) partition by range(f1) +(partition p1 values less than (0), partition p2 values less than (10)); +insert into t1 set f1 = null; +select * from t1 where f1 is null; +f1 +NULL +explain partitions select * from t1 where f1 is null; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 p1 system NULL NULL NULL NULL 1 +drop table t1; +create table t1 (f1 integer) partition by list(f1) +(partition p1 values in (1), partition p2 values in (null)); +insert into t1 set f1 = null; +insert into t1 set f1 = 1; +select * from t1 where f1 is null or f1 = 1; +f1 +1 +NULL +drop table t1; +create table t1 (f1 smallint) +partition by list (f1) (partition p0 values in (null)); +insert into t1 values (null); +select * from t1 where f1 is null; +f1 +NULL +select * from t1 where f1 < 1; +f1 +select * from t1 where f1 <= NULL; +f1 +select * from t1 where f1 < NULL; +f1 +select * from t1 where f1 >= NULL; +f1 +select * from t1 where f1 > NULL; +f1 +select * from t1 where f1 > 1; +f1 +drop table t1; +create table t1 (f1 smallint) +partition by range (f1) (partition p0 values less than (0)); +insert into t1 values (null); +select * from t1 where f1 is null; +f1 +NULL +drop table t1; +create table t1 (f1 integer) partition by list(f1) +( +partition p1 values in (1), +partition p2 values in (NULL), +partition p3 values in (2), +partition p4 values in (3), +partition p5 values in (4) +); +insert into t1 values (1),(2),(3),(4),(null); +select * from t1 where f1 < 3; +f1 +1 +2 +explain partitions select * from t1 where f1 < 3; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 p1,p3 ALL NULL NULL NULL NULL 2 Using where +select * from t1 where f1 is null; +f1 +NULL +explain partitions select * from t1 where f1 is null; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 p2 system NULL NULL NULL NULL 1 +drop table t1; +create table t1 (f1 int) partition by list(f1 div 2) +( +partition p1 values in (1), +partition p2 values in (NULL), +partition p3 values in (2), +partition p4 values in (3), +partition p5 values in (4) +); +insert into t1 values (2),(4),(6),(8),(null); +select * from t1 where f1 < 3; +f1 +2 +explain partitions select * from t1 where f1 < 3; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 p1,p2,p3,p4,p5 ALL NULL NULL NULL NULL 5 Using where +select * from t1 where f1 is null; +f1 +NULL +explain partitions select * from t1 where f1 is null; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 p2 system NULL NULL NULL NULL 1 +drop table t1; +create table t1 (a int) partition by LIST(a) ( +partition pn values in (NULL), +partition p0 values in (0), +partition p1 values in (1), +partition p2 values in (2) +); +insert into t1 values (NULL),(0),(1),(2); +select * from t1 where a is null or a < 2; +a +NULL +0 +1 +explain partitions select * from t1 where a is null or a < 2; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 pn,p0,p1 ALL NULL NULL NULL NULL 3 Using where +select * from t1 where a is null or a < 0 or a > 1; +a +NULL +2 +explain partitions select * from t1 where a is null or a < 0 or a > 1; +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 pn,p2 ALL NULL NULL NULL NULL 2 Using where +drop table t1; +CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20)) +ENGINE=MyISAM DEFAULT CHARSET=latin1 +PARTITION BY RANGE(id) +(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, +PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, +PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); +SHOW TABLE STATUS; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Dynamic 0 0 0 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned +DROP TABLE t1; +create table t1 (a bigint unsigned) +partition by list (a) +(partition p0 values in (0-1)); +ERROR HY000: Partition constant is out of partition function domain +create table t1 (a bigint unsigned) +partition by range (a) +(partition p0 values less than (10)); +insert into t1 values (0xFFFFFFFFFFFFFFFF); +ERROR HY000: Table has no partition for value 18446744073709551615 +drop table t1; +create table t1 (a int) +partition by list (a) +(partition `s1 s2` values in (0)); +drop table t1; +create table t1 (a int) +partition by list (a) +(partition `7` values in (0)); +drop table t1; +create table t1 (a int) +partition by list (a) +(partition `s1 s2 ` values in (0)); +ERROR HY000: Incorrect partition name +create table t1 (a int) +partition by list (a) +subpartition by hash (a) +(partition p1 values in (0) (subpartition `p1 p2 `)); +ERROR HY000: Incorrect partition name +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (NULL)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) */ +DROP TABLE t1; +CREATE TABLE t1 (a int) +PARTITION BY RANGE(a) +(PARTITION p0 VALUES LESS THAN (NULL)); +ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '))' at line 3 +create table t1 (s1 int auto_increment primary key) +partition by list (s1) +(partition p1 values in (1), +partition p2 values in (2), +partition p3 values in (3)); +insert into t1 values (null); +insert into t1 values (null); +insert into t1 values (null); +select auto_increment from information_schema.tables where table_name='t1'; +auto_increment +4 +select * from t1; +s1 +1 +2 +3 +drop table t1; +create table t1 (a int) engine=memory +partition by key(a); +insert into t1 values (1); +create index inx1 on t1(a); +drop table t1; +create table t1 (a int) +PARTITION BY KEY (a) +(PARTITION p0); +set session sql_mode='no_table_options'; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) /*!50100 PARTITION BY KEY (a) (PARTITION p0) */ +set session sql_mode=''; +drop table t1; +create table t1 (a int) +partition by key (a) +(partition p0 engine = MERGE); +ERROR HY000: Engine cannot be used in partitioned tables +create table t1 (a varchar(1)) +partition by key (a) +as select 'a'; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` varchar(1) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +drop table t1; +CREATE TABLE t1 (a int) ENGINE = MYISAM PARTITION BY KEY(a); +INSERT into t1 values (1), (2); +SHOW TABLE STATUS; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Fixed 2 7 14 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned +DELETE from t1 where a = 1; +SHOW TABLE STATUS; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Fixed 1 14 14 0 0 7 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned +ALTER TABLE t1 OPTIMIZE PARTITION p0; +SHOW TABLE STATUS; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Fixed 1 7 7 0 1024 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned +DROP TABLE t1; +CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a); +ALTER TABLE t1 DISABLE KEYS; +ALTER TABLE t1 ENABLE KEYS; +DROP TABLE t1; +create table t1 (a int) +engine=MEMORY +partition by key (a); +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair note The storage engine for the table doesn't support repair +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +drop table t1; +create database db99; +use db99; +create table t1 (a int not null) +engine=archive +partition by list (a) +(partition p0 values in (1), partition p1 values in (2)); +insert into t1 values (1), (2); +create index inx on t1 (a); +alter table t1 add partition (partition p2 values in (3)); +alter table t1 drop partition p2; +use test; +drop database db99; +drop procedure if exists mysqltest_1; +create table t1 (a int) +partition by list (a) +(partition p0 values in (0)); +insert into t1 values (0); +create procedure mysqltest_1 () +begin +begin +declare continue handler for sqlexception begin end; +update ignore t1 set a = 1 where a = 0; +end; +prepare stmt1 from 'alter table t1'; +execute stmt1; +end// +call mysqltest_1()// +drop table t1; +drop procedure mysqltest_1; +create table t1 (a int, index(a)) +partition by hash(a); +insert into t1 values (1),(2); +select * from t1 ORDER BY a DESC; +a +2 +1 +drop table t1; +create table t1 (a bigint unsigned not null, primary key(a)) +engine = myisam +partition by key (a) +partitions 10; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`a`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), +(18446744073709551613), (18446744073709551612); +select * from t1; +a +18446744073709551612 +18446744073709551613 +18446744073709551614 +18446744073709551615 +select * from t1 where a = 18446744073709551615; +a +18446744073709551615 +delete from t1 where a = 18446744073709551615; +select * from t1; +a +18446744073709551612 +18446744073709551613 +18446744073709551614 +drop table t1; +CREATE TABLE t1 ( +num int(11) NOT NULL, cs int(11) NOT NULL) +PARTITION BY RANGE (num) SUBPARTITION BY HASH ( +cs) SUBPARTITIONS 2 (PARTITION p_X VALUES LESS THAN MAXVALUE); +ALTER TABLE t1 +REORGANIZE PARTITION p_X INTO ( +PARTITION p_100 VALUES LESS THAN (100), +PARTITION p_X VALUES LESS THAN MAXVALUE +); +drop table t1; +CREATE TABLE t2 ( +taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', +id int(11) NOT NULL DEFAULT '0', +PRIMARY KEY (id,taken), +KEY taken (taken) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +INSERT INTO t2 VALUES +('2006-09-27 21:50:01',16421), +('2006-10-02 21:50:01',16421), +('2006-09-27 21:50:01',19092), +('2006-09-28 21:50:01',19092), +('2006-09-29 21:50:01',19092), +('2006-09-30 21:50:01',19092), +('2006-10-01 21:50:01',19092), +('2006-10-02 21:50:01',19092), +('2006-09-27 21:50:01',22589), +('2006-09-29 21:50:01',22589); +CREATE TABLE t1 ( +id int(8) NOT NULL, +PRIMARY KEY (id) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +INSERT INTO t1 VALUES +(16421), +(19092), +(22589); +CREATE TABLE t4 ( +taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', +id int(11) NOT NULL DEFAULT '0', +PRIMARY KEY (id,taken), +KEY taken (taken) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +PARTITION BY RANGE (to_days(taken)) +( +PARTITION p01 VALUES LESS THAN (732920) , +PARTITION p02 VALUES LESS THAN (732950) , +PARTITION p03 VALUES LESS THAN MAXVALUE ) ; +INSERT INTO t4 select * from t2; +set @f_date='2006-09-28'; +set @t_date='2006-10-02'; +SELECT t1.id AS MyISAM_part +FROM t1 +WHERE t1.id IN ( +SELECT distinct id +FROM t4 +WHERE taken BETWEEN @f_date AND date_add(@t_date, INTERVAL 1 DAY)) +ORDER BY t1.id +; +MyISAM_part +16421 +19092 +22589 +drop table t1, t2, t4; +CREATE TABLE t1 ( +taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', +id int(11) NOT NULL DEFAULT '0', +status varchar(20) NOT NULL DEFAULT '', +PRIMARY KEY (id,taken) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +PARTITION BY RANGE (to_days(taken)) +( +PARTITION p15 VALUES LESS THAN (732950) , +PARTITION p16 VALUES LESS THAN MAXVALUE ) ; +INSERT INTO t1 VALUES +('2006-09-27 21:50:01',22589,'Open'), +('2006-09-29 21:50:01',22589,'Verified'); +DROP TABLE IF EXISTS t2; +Warnings: +Note 1051 Unknown table 't2' +CREATE TABLE t2 ( +id int(8) NOT NULL, +severity tinyint(4) NOT NULL DEFAULT '0', +priority tinyint(4) NOT NULL DEFAULT '0', +status varchar(20) DEFAULT NULL, +alien tinyint(4) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +INSERT INTO t2 VALUES +(22589,1,1,'Need Feedback',0); +SELECT t2.id FROM t2 WHERE t2.id IN (SELECT id FROM t1 WHERE status = 'Verified'); +id +22589 +drop table t1, t2; +End of 5.1 tests +DROP TABLE IF EXISTS `example`; +CREATE TABLE `example` ( +`ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT, +`DESCRIPTION` varchar(30) NOT NULL, +`LEVEL` smallint(5) unsigned DEFAULT NULL, +PRIMARY KEY (`ID_EXAMPLE`) +) ENGINE = MYISAM +PARTITION BY HASH(ID_EXAMPLE)( +PARTITION p0 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p0Data', +PARTITION p1 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p1Data', +PARTITION p2 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p2Data', +PARTITION p3 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p3Data' +); +ERROR HY000: Can't create/write to file 'C:\build\5.1\data\partitiontest\p0Data\example#P#p0.MYD' (Errcode: 2) diff --git a/mysql-test/t/partition_not_windows.test b/mysql-test/t/partition_not_windows.test new file mode 100644 index 00000000000..35e78d4bd43 --- /dev/null +++ b/mysql-test/t/partition_not_windows.test @@ -0,0 +1,100 @@ +# Non-windows specific partition tests. +--source include/not_windows.inc + +--source include/partition.inc + +# The previous partition.test contained the following note: +# This test is disabled on Windows due to BUG#19107 +# All tests passed on Windows except the following which should be moved into +# include/partition.inc once the bug has been resolved. + +# +# Bug 20770 Partitions: DATA DIRECTORY clause change in reorganize +# doesn't remove old directory + +--disable_query_log +--exec mkdir $MYSQLTEST_VARDIR/master-data/tmpdata || true +eval SET @data_dir = 'DATA DIRECTORY = ''$MYSQLTEST_VARDIR/master-data/tmpdata'''; +let $data_directory = `select @data_dir`; + +--exec mkdir $MYSQLTEST_VARDIR/master-data/tmpinx || true +eval SET @inx_dir = 'INDEX DIRECTORY = ''$MYSQLTEST_VARDIR/master-data/tmpinx'''; +let $inx_directory = `select @inx_dir`; +--enable_query_log + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +eval create table t1 (a int) engine myisam +partition by range (a) +subpartition by hash (a) +(partition p0 VALUES LESS THAN (1) $data_directory $inx_directory + (SUBPARTITION subpart00, SUBPARTITION subpart01)); + +--echo Checking if file exists before alter +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart00.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart00.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart01.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p0#SP#subpart01.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p0#SP#subpart00.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p0#SP#subpart01.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p0#SP#subpart00.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p0#SP#subpart01.MYI + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +eval ALTER TABLE t1 REORGANIZE PARTITION p0 INTO +(partition p1 VALUES LESS THAN (1) $data_directory $inx_directory + (SUBPARTITION subpart10, SUBPARTITION subpart11), + partition p2 VALUES LESS THAN (2) $data_directory $inx_directory + (SUBPARTITION subpart20, SUBPARTITION subpart21)); + +--echo Checking if file exists after alter +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.frm +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1.par +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1#SP#subpart10.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1#SP#subpart10.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1#SP#subpart11.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p1#SP#subpart11.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart20.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart20.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart21.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/test/t1#P#p2#SP#subpart21.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p1#SP#subpart10.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p1#SP#subpart11.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p2#SP#subpart20.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/tmpdata/t1#P#p2#SP#subpart21.MYD +--file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p1#SP#subpart10.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p1#SP#subpart11.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p2#SP#subpart20.MYI +--file_exists $MYSQLTEST_VARDIR/master-data/tmpinx/t1#P#p2#SP#subpart21.MYI + +drop table t1; +--exec rmdir $MYSQLTEST_VARDIR/master-data/tmpdata || true +--exec rmdir $MYSQLTEST_VARDIR/master-data/tmpinx || true + +# End Windows specific test failures. + +# These tests contain non-Windows specific directory/file format. + +# +# Bug 25141: Crash Server on Partitioning command +# + +--disable_warnings +DROP TABLE IF EXISTS `example`; +--enable_warnings + +--disable_abort_on_error +CREATE TABLE `example` ( + `ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT, + `DESCRIPTION` varchar(30) NOT NULL, + `LEVEL` smallint(5) unsigned DEFAULT NULL, + PRIMARY KEY (`ID_EXAMPLE`) +) ENGINE = MYISAM +PARTITION BY HASH(ID_EXAMPLE)( +PARTITION p0 DATA DIRECTORY = '/build/5.1/data/partitiontest/p0Data', +PARTITION p1 DATA DIRECTORY = '/build/5.1/data/partitiontest/p1Data', +PARTITION p2 DATA DIRECTORY = '/build/5.1/data/partitiontest/p2Data', +PARTITION p3 DATA DIRECTORY = '/build/5.1/data/partitiontest/p3Data' +); +--enable_abort_on_error diff --git a/mysql-test/t/partition_windows.test b/mysql-test/t/partition_windows.test new file mode 100644 index 00000000000..ced2c759706 --- /dev/null +++ b/mysql-test/t/partition_windows.test @@ -0,0 +1,30 @@ +# Windows-specific partition tests +--source include/windows.inc + +--source include/partition.inc + +# These tests contain Windows specific directory/file format. + +# +# Bug 25141: Crash Server on Partitioning command +# + +--disable_warnings +DROP TABLE IF EXISTS `example`; +--enable_warnings + +--disable_abort_on_error +CREATE TABLE `example` ( + `ID_EXAMPLE` int(10) unsigned NOT NULL AUTO_INCREMENT, + `DESCRIPTION` varchar(30) NOT NULL, + `LEVEL` smallint(5) unsigned DEFAULT NULL, + PRIMARY KEY (`ID_EXAMPLE`) +) ENGINE = MYISAM +PARTITION BY HASH(ID_EXAMPLE)( +PARTITION p0 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p0Data', +PARTITION p1 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p1Data', +PARTITION p2 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p2Data', +PARTITION p3 DATA DIRECTORY = 'C:/build/5.1/data/partitiontest/p3Data' +); +--enable_abort_on_error + diff --git a/sql/sql_table.cc b/sql/sql_table.cc index bb3f293941e..5712ef39b00 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -182,8 +182,8 @@ uint build_table_filename(char *buff, size_t bufflen, const char *db, VOID(tablename_to_filename(table_name, tbbuff, sizeof(tbbuff))); VOID(tablename_to_filename(db, dbbuff, sizeof(dbbuff))); - length= strxnmov(buff, bufflen, mysql_data_home, "/", dbbuff, - "/", tbbuff, ext, NullS) - buff; + length= strxnmov(buff, bufflen, mysql_data_home, FN_ROOTDIR, dbbuff, + FN_ROOTDIR, tbbuff, ext, NullS) - buff; DBUG_PRINT("exit", ("buff: '%s'", buff)); DBUG_RETURN(length); } From 05f4e9ea05a66d6e835adb28126293ef6965f91f Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Tue, 10 Apr 2007 17:50:43 +0200 Subject: [PATCH 003/144] BUG#27701 Arguments to some compile-pentium* scripts were not properly passed to SETUP.sh. Besides the old way not working with some shells, single arguments that contained whitespace were also broken up. This patch tries to fix both errors. --- BUILD/compile-pentium-debug | 3 +- BUILD/compile-pentium-debug-max | 3 +- BUILD/compile-pentium-debug-max-no-ndb | 3 +- BUILD/compile-pentium64-debug | 3 +- BUILD/compile-pentium64-debug-max | 3 +- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 ++++++++++++++++++++++++++ 7 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/BUILD/compile-pentium-debug b/BUILD/compile-pentium-debug index 7957caead29..e31cb59a8a4 100755 --- a/BUILD/compile-pentium-debug +++ b/BUILD/compile-pentium-debug @@ -1,7 +1,8 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ --with-debug=full +set -- "$@" --with-debug=full +. "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags" c_warnings="$c_warnings $debug_extra_warnings" diff --git a/BUILD/compile-pentium-debug-max b/BUILD/compile-pentium-debug-max index a69513ac6bb..56e24617abb 100755 --- a/BUILD/compile-pentium-debug-max +++ b/BUILD/compile-pentium-debug-max @@ -1,7 +1,8 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ --with-debug=full +set -- "$@" --with-debug=full +. "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags $max_cflags" c_warnings="$c_warnings $debug_extra_warnings" diff --git a/BUILD/compile-pentium-debug-max-no-ndb b/BUILD/compile-pentium-debug-max-no-ndb index 26ec7eacc9d..92a388f9cb9 100755 --- a/BUILD/compile-pentium-debug-max-no-ndb +++ b/BUILD/compile-pentium-debug-max-no-ndb @@ -1,7 +1,8 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ --with-debug=full +set -- "$@" --with-debug=full +. "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags $max_cflags" c_warnings="$c_warnings $debug_extra_warnings" diff --git a/BUILD/compile-pentium64-debug b/BUILD/compile-pentium64-debug index 0299669f79a..1edc9827366 100755 --- a/BUILD/compile-pentium64-debug +++ b/BUILD/compile-pentium64-debug @@ -1,7 +1,8 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ --with-debug=full +set -- "$@" --with-debug=full +. "$path/SETUP.sh" extra_flags="$pentium64_cflags $debug_cflags" c_warnings="$c_warnings $debug_extra_warnings" diff --git a/BUILD/compile-pentium64-debug-max b/BUILD/compile-pentium64-debug-max index f0745c88c90..656825d8494 100755 --- a/BUILD/compile-pentium64-debug-max +++ b/BUILD/compile-pentium64-debug-max @@ -1,7 +1,8 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ --with-debug=full +set -- "$@" --with-debug=full +. "$path/SETUP.sh" extra_flags="$pentium64_cflags $debug_cflags $max_cflags" c_warnings="$c_warnings $debug_extra_warnings" diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests From bcbcacb8da52de9ed8db623ba790188b39930b8c Mon Sep 17 00:00:00 2001 From: "svoj@mysql.com/april.(none)" <> Date: Wed, 11 Apr 2007 01:40:35 +0500 Subject: [PATCH 004/144] =?UTF-8?q?BUG#24342=20-=20Incorrect=20results=20w?= =?UTF-8?q?ith=20query=20over=20MERGE=20table=20MERGE=20engine=20may=20ret?= =?UTF-8?q?urn=20incorrect=20values=20when=20several=20representations=20o?= =?UTF-8?q?f=20equal=20keys=20are=20present=20in=20the=20index.=20For=20ex?= =?UTF-8?q?ample=20"gro=C3=9F"=20and=20"gross"=20or=20"gross"=20and=20"gro?= =?UTF-8?q?ss=20"=20(trailing=20space),=20which=20are=20considered=20equal?= =?UTF-8?q?,=20but=20have=20different=20lengths.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The problem was that key length was not recalculated after key lookup. Only MERGE engine is affected. --- myisam/mi_rkey.c | 3 ++- myisam/myisamdef.h | 1 + myisammrg/myrg_rkey.c | 4 ++++ mysql-test/r/merge.result | 11 +++++++++++ mysql-test/t/merge.test | 13 +++++++++++++ 5 files changed, 31 insertions(+), 1 deletion(-) diff --git a/myisam/mi_rkey.c b/myisam/mi_rkey.c index b2d40288645..2933d694318 100644 --- a/myisam/mi_rkey.c +++ b/myisam/mi_rkey.c @@ -50,7 +50,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, key_buff=info->lastkey+info->s->base.max_key_length; pack_key_length= key_len; bmove(key_buff,key,key_len); - last_used_keyseg= 0; + last_used_keyseg= info->s->keyinfo[inx].seg + info->last_used_keyseg; } else { @@ -62,6 +62,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, key_len, &last_used_keyseg); /* Save packed_key_length for use by the MERGE engine. */ info->pack_key_length= pack_key_length; + info->last_used_keyseg= last_used_keyseg - info->s->keyinfo[inx].seg; DBUG_EXECUTE("key",_mi_print_key(DBUG_FILE, keyinfo->seg, key_buff, pack_key_length);); } diff --git a/myisam/myisamdef.h b/myisam/myisamdef.h index 6365f0e1b0c..6ed041e8b9d 100644 --- a/myisam/myisamdef.h +++ b/myisam/myisamdef.h @@ -263,6 +263,7 @@ struct st_myisam_info { enum ha_rkey_function last_key_func; /* CONTAIN, OVERLAP, etc */ uint save_lastkey_length; uint pack_key_length; /* For MYISAMMRG */ + uint16 last_used_keyseg; /* For MyISAMMRG */ int errkey; /* Got last error on this key */ int lock_type; /* How database was locked */ int tmp_lock_type; /* When locked by readinfo */ diff --git a/myisammrg/myrg_rkey.c b/myisammrg/myrg_rkey.c index f87b264081e..b72334ea7dd 100644 --- a/myisammrg/myrg_rkey.c +++ b/myisammrg/myrg_rkey.c @@ -41,12 +41,14 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key, { byte *key_buff; uint pack_key_length; + uint16 last_used_keyseg; MYRG_TABLE *table; MI_INFO *mi; int err; DBUG_ENTER("myrg_rkey"); LINT_INIT(key_buff); LINT_INIT(pack_key_length); + LINT_INIT(last_used_keyseg); if (_myrg_init_queue(info,inx,search_flag)) DBUG_RETURN(my_errno); @@ -61,10 +63,12 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key, /* Get the saved packed key and packed key length. */ key_buff=(byte*) mi->lastkey+mi->s->base.max_key_length; pack_key_length=mi->pack_key_length; + last_used_keyseg= mi->last_used_keyseg; } else { mi->once_flags|= USE_PACKED_KEYS; + mi->last_used_keyseg= last_used_keyseg; err=mi_rkey(mi,0,inx,key_buff,pack_key_length,search_flag); } info->last_used_table=table+1; diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result index 00d8aa3d586..b12e4eb2d3a 100644 --- a/mysql-test/r/merge.result +++ b/mysql-test/r/merge.result @@ -819,3 +819,14 @@ ALTER TABLE m1 ENGINE=MERGE UNION=(t1); SELECT * FROM m1; c1 c2 c3 c4 c5 c6 c7 c8 c9 DROP TABLE t1, m1; +CREATE TABLE t1 (a VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_german2_ci, +b INT, INDEX(a,b)); +CREATE TABLE t2 LIKE t1; +CREATE TABLE t3 LIKE t1; +ALTER TABLE t3 ENGINE=MERGE UNION=(t1,t2); +INSERT INTO t1 VALUES ('ss',1); +INSERT INTO t2 VALUES ('ss',2),(0xDF,2); +SELECT COUNT(*) FROM t3 WHERE a=0xDF AND b=2; +COUNT(*) +2 +DROP TABLE t1,t2,t3; diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test index 032e80ecc93..377160d0312 100644 --- a/mysql-test/t/merge.test +++ b/mysql-test/t/merge.test @@ -454,4 +454,17 @@ ALTER TABLE m1 ENGINE=MERGE UNION=(t1); SELECT * FROM m1; DROP TABLE t1, m1; +# +# BUG#24342 - Incorrect results with query over MERGE table +# +CREATE TABLE t1 (a VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_german2_ci, + b INT, INDEX(a,b)); +CREATE TABLE t2 LIKE t1; +CREATE TABLE t3 LIKE t1; +ALTER TABLE t3 ENGINE=MERGE UNION=(t1,t2); +INSERT INTO t1 VALUES ('ss',1); +INSERT INTO t2 VALUES ('ss',2),(0xDF,2); +SELECT COUNT(*) FROM t3 WHERE a=0xDF AND b=2; +DROP TABLE t1,t2,t3; + # End of 4.1 tests From 3c97d2d48afc7178453c0337ea498fce056a0fde Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Wed, 11 Apr 2007 14:12:00 +0200 Subject: [PATCH 005/144] BUG#27701 don't pass arguments to sourced script if they're not modified as this is either a no-op (if done correctly), a different no-op with some shells (if done the bash way, but with correct quoting) or breaks arguments with whitespace for some shells (if done the bash way, without quotes). --- BUILD/compile-pentium | 2 +- BUILD/compile-pentium-valgrind-max | 2 +- BUILD/compile-pentium64 | 2 +- BUILD/compile-pentium64-max | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BUILD/compile-pentium b/BUILD/compile-pentium index 38d1ff42baf..b8f8d028e1f 100755 --- a/BUILD/compile-pentium +++ b/BUILD/compile-pentium @@ -1,7 +1,7 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ +. "$path/SETUP.sh" extra_flags="$pentium_cflags $fast_cflags" extra_configs="$pentium_configs $static_link" diff --git a/BUILD/compile-pentium-valgrind-max b/BUILD/compile-pentium-valgrind-max index a2715e7c378..09cc162d2be 100755 --- a/BUILD/compile-pentium-valgrind-max +++ b/BUILD/compile-pentium-valgrind-max @@ -1,7 +1,7 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" "$@" +. "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags $valgrind_flags" extra_configs="$pentium_configs $debug_configs $max_configs" diff --git a/BUILD/compile-pentium64 b/BUILD/compile-pentium64 index bc6bbe4d089..3a8fad51fea 100755 --- a/BUILD/compile-pentium64 +++ b/BUILD/compile-pentium64 @@ -1,7 +1,7 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ +. "$path/SETUP.sh" extra_flags="$pentium64_cflags $fast_cflags" extra_configs="$pentium_configs $static_link" diff --git a/BUILD/compile-pentium64-max b/BUILD/compile-pentium64-max index 789136a84dc..9acd5e7c460 100755 --- a/BUILD/compile-pentium64-max +++ b/BUILD/compile-pentium64-max @@ -1,7 +1,7 @@ #! /bin/sh path=`dirname $0` -. "$path/SETUP.sh" $@ +. "$path/SETUP.sh" extra_flags="$pentium64_cflags $fast_cflags" extra_configs="$pentium_configs $max_configs $static_link" From a3c70abb4e29c22423163091a779add4d1595edd Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Thu, 12 Apr 2007 21:50:56 +0200 Subject: [PATCH 006/144] Header file "decimal.h" needs to be delivered with binary packages: Bug#27456 decimal.h is not installed with public include files --- include/Makefile.am | 4 +-- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/include/Makefile.am b/include/Makefile.am index 9cd2f6215f1..95a7a4803e0 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -22,7 +22,7 @@ HEADERS_ABI = mysql.h mysql_com.h mysql_time.h \ pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \ my_xml.h mysql_embed.h \ my_pthread.h my_no_pthread.h raid.h \ - errmsg.h my_global.h my_net.h \ + decimal.h errmsg.h my_global.h my_net.h \ my_getopt.h sslopt-longopts.h my_dir.h \ sslopt-vars.h sslopt-case.h sql_common.h keycache.h \ m_ctype.h $(HEADERS_GEN) @@ -33,7 +33,7 @@ noinst_HEADERS = config-win.h config-os2.h config-netware.h \ my_nosys.h my_alarm.h queues.h rijndael.h sha1.h \ my_aes.h my_tree.h hash.h thr_alarm.h \ thr_lock.h t_ctype.h violite.h md5.h base64.h \ - mysql_version.h.in my_handler.h my_time.h decimal.h \ + mysql_version.h.in my_handler.h my_time.h \ my_user.h my_libwrap.h # Remove built files and the symlinked directories diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests From 005d8c5284a84752b9abc7b99d153e6aee8f1977 Mon Sep 17 00:00:00 2001 From: "svoj@mysql.com/april.(none)" <> Date: Fri, 13 Apr 2007 02:31:34 +0500 Subject: [PATCH 007/144] BUG#25951 - ignore/use index does not work with fulltext IGNORE/USE/FORCE INDEX hints were honored when choosing FULLTEXT index. With this fix these hints are ignored. For regular indexes we may perform table scan instead of index lookup when IGNORE INDEX was specified. We cannot do this for FULLTEXT in NLQ mode. --- mysql-test/r/fulltext.result | 7 +++++++ mysql-test/t/fulltext.test | 10 ++++++++++ sql/item_func.cc | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index c1dd5f80d5c..3700ace4b19 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -447,3 +447,10 @@ a MATCH(a) AGAINST('test1 test') test1 0.68526661396027 DEALLOCATE PREPARE stmt; DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a)); +SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test'); +a +ALTER TABLE t1 DISABLE KEYS; +SELECT * FROM t1 WHERE MATCH(a) AGAINST('test'); +ERROR HY000: Can't find FULLTEXT index matching the column list +DROP TABLE t1; diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index d5ce6241490..1a9a6b578dc 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -369,4 +369,14 @@ EXECUTE stmt; DEALLOCATE PREPARE stmt; DROP TABLE t1; +# +# BUG#25951 - ignore/use index does not work with fulltext +# +CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a)); +SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test'); +ALTER TABLE t1 DISABLE KEYS; +--error 1191 +SELECT * FROM t1 WHERE MATCH(a) AGAINST('test'); +DROP TABLE t1; + # End of 4.1 tests diff --git a/sql/item_func.cc b/sql/item_func.cc index 88c3dfcdfc0..c6b2fa5cc3e 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3158,7 +3158,7 @@ bool Item_func_match::fix_index() for (keynr=0 ; keynr < table->keys ; keynr++) { if ((table->key_info[keynr].flags & HA_FULLTEXT) && - (table->keys_in_use_for_query.is_set(keynr))) + (table->keys_in_use.is_set(keynr))) { ft_to_key[fts]=keynr; ft_cnt[fts]=0; From ed81a81a9ef3370d3260c9aebb79036831b866ef Mon Sep 17 00:00:00 2001 From: "svoj@mysql.com/june.mysql.com" <> Date: Fri, 13 Apr 2007 12:38:27 +0500 Subject: [PATCH 008/144] BUG#27516 - divide by zero crash during optimize table When a table status is requested by statement like SHOW TABLE STATUS and there is another statement (e.g. DELETE) sets number of records to 0 concurrently, we may get division by zero error, which crashes a server. This is fixed by using thread local variable x->records instead of shared info->state->records when we check if it is zero and divide by it. --- myisam/mi_info.c | 6 ++--- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/myisam/mi_info.c b/myisam/mi_info.c index 0435269ed6d..b7de8e7b37d 100644 --- a/myisam/mi_info.c +++ b/myisam/mi_info.c @@ -57,9 +57,9 @@ int mi_status(MI_INFO *info, register MI_ISAMINFO *x, uint flag) x->keys = share->state.header.keys; x->check_time = share->state.check_time; - x->mean_reclength = info->state->records ? - (ulong) ((info->state->data_file_length-info->state->empty)/ - info->state->records) : (ulong) share->min_pack_length; + x->mean_reclength= x->records ? + (ulong) ((x->data_file_length - x->delete_length) / x->records) : + (ulong) share->min_pack_length; } if (flag & HA_STATUS_ERRKEY) { diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests From 8437fd62b2da4a7aff965a65481e1ef59c70ad36 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Tue, 17 Apr 2007 12:18:17 +0200 Subject: [PATCH 009/144] Let the "configure" options that control table handlers (NDB, InnoDB) or features ("embedded") also control the list of man pages installed, so that they correspond better to the binaries. This is the second version of this fix, including review comments. --- configure.in | 76 ++++++++++++++++++++--------- mysql-test/r/bdb_notembedded.result | 35 +++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++ 3 files changed, 127 insertions(+), 22 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/configure.in b/configure.in index 9b5abe39a6f..76352b06d62 100644 --- a/configure.in +++ b/configure.in @@ -2376,28 +2376,6 @@ AC_ARG_WITH(man, [with_man=yes] ) -if test X"$with_man" = Xyes -then - man_dirs="man" - if test X"$have_ndbcluster" = Xyes - then - man1_files=`ls $srcdir/man/*.1 | sed -e 's;^.*man/;;'` - man8_files=`ls $srcdir/man/*.8 | sed -e 's;^.*man/;;'` - else - man1_files=`ls $srcdir/man/*.1 | grep -v '/ndb' | sed -e 's;^.*man/;;'` - man8_files=`ls $srcdir/man/*.8 | grep -v '/ndb' | sed -e 's;^.*man/;;'` - fi - man1_files=`echo $man1_files` - man8_files=`echo $man8_files` -else - man_dirs="" - man1_files="" - man8_files="" -fi -AC_SUBST(man_dirs) -AC_SUBST(man1_files) -AC_SUBST(man8_files) - # Shall we build the bench code? AC_ARG_WITH(bench, [ --without-bench Skip building of the benchmark suite.], @@ -2532,6 +2510,60 @@ MYSQL_CHECK_BLACKHOLEDB MYSQL_CHECK_NDBCLUSTER MYSQL_CHECK_FEDERATED +# Include man pages, if desired, adapted to the configured parts. +if test X"$with_man" = Xyes +then + # First, create the list of all man pages present. + MANLISTFIL=manlist.$$ + TMPLISTFIL=`echo $MANLISTFIL | sed -e 's/manlist/tmplist/'` + if test -f $MANLISTFIL -o -f $TMPLISTFIL + then + echo "Temp file '$MANLISTFIL' or '$TMPLISTFIL' already exists in '`pwd`' - aborting" + exit 1 + fi + touch $MANLISTFIL $TMPLISTFIL + + ls $srcdir/man/*.[[18]] > $MANLISTFIL + + # Then, remove all those pages from the list which are specific to parts + # (table handlers, features, ...) which are not configured in this run. + AC_MSG_CHECKING("for man pages to remove") + MAN_DROP="dropping" + if test X"$have_ndbcluster" != Xyes + then + MAN_DROP="$MAN_DROP ndbcluster" + grep -v '/ndb' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL + fi + if test X"$with_embedded_server" != Xyes + then + MAN_DROP="$MAN_DROP embedded" + grep -v 'embedded' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL + fi + if test X"$have_innodb" != Xyes + then + MAN_DROP="$MAN_DROP innodb" + grep -v 'inno' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL + fi + AC_MSG_RESULT([$MAN_DROP]) + + # Finally, split the man pages into sections 1 and 8. + # Get rid of line breaks. + man1_files=`sed -n -e '/\.1$/s/^.*man\///p' <$MANLISTFIL` + man8_files=`sed -n -e '/\.8$/s/^.*man\///p' <$MANLISTFIL` + + man_dirs="man" + man1_files=`echo $man1_files` + man8_files=`echo $man8_files` + rm -f $MANLISTFIL +else + man_dirs="" + man1_files="" + man8_files="" +fi +AC_SUBST(man_dirs) +AC_SUBST(man1_files) +AC_SUBST(man8_files) + # If we have threads generate some library functions and test programs sql_server_dirs= server_scripts= diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests From d5b1c3aea2398f4b8a193e479571e9aaeba06505 Mon Sep 17 00:00:00 2001 From: "serg@janus.mylan" <> Date: Tue, 17 Apr 2007 12:32:01 +0200 Subject: [PATCH 010/144] reverted the fix for Bug#5507 --- mysql-test/r/truncate.result | 26 +++----------------------- mysql-test/t/truncate.test | 31 ++++++++----------------------- sql/sql_delete.cc | 9 +++------ sql/sql_lex.cc | 1 - 4 files changed, 14 insertions(+), 53 deletions(-) diff --git a/mysql-test/r/truncate.result b/mysql-test/r/truncate.result index 6c21db0e2b8..b194f9b7dc6 100644 --- a/mysql-test/r/truncate.result +++ b/mysql-test/r/truncate.result @@ -57,26 +57,6 @@ create table t1 (s1 int); insert into t1 (s1) values (1), (2), (3), (4), (5); create view v1 as select * from t1; truncate table v1; -select count(*) from t1; -count(*) -0 -insert into t1 (s1) values (1), (2), (3), (4), (5); -create view v2 as select * from t1 where s1 > 3; -truncate table v2; -select * from t1; -s1 -1 -2 -3 -select * from v2; -s1 -delete from t1; -create table t2 (s1 int, s2 int); -create view v3 as select a.s1, b.s2 from t1 a join t2 b on a.s1 = b.s1 where a.s1 > 3; -truncate table v3; -ERROR HY000: Can not delete from join view 'test.v3' -create view v4 as select * from t1 limit 1,1; -truncate table v4; -ERROR HY000: The target table v4 of the TRUNCATE is not updatable -drop view v1, v2, v3, v4; -drop table t1, t2; +ERROR 42S02: Table 'test.v1' doesn't exist +drop view v1; +drop table t1; diff --git a/mysql-test/t/truncate.test b/mysql-test/t/truncate.test index c52260124cb..ba5364bd324 100644 --- a/mysql-test/t/truncate.test +++ b/mysql-test/t/truncate.test @@ -54,33 +54,18 @@ drop table t1; # End of 4.1 tests # Test for Bug#5507 "TRUNCATE should work with views" +# +# when it'll be fixed, the error should become 1347 +# (test.v1' is not BASE TABLE) +# create table t1 (s1 int); - insert into t1 (s1) values (1), (2), (3), (4), (5); create view v1 as select * from t1; +--error 1146 truncate table v1; -select count(*) from t1; - -insert into t1 (s1) values (1), (2), (3), (4), (5); -create view v2 as select * from t1 where s1 > 3; -truncate table v2; -select * from t1; -select * from v2; -delete from t1; - -# The following should fail -create table t2 (s1 int, s2 int); -create view v3 as select a.s1, b.s2 from t1 a join t2 b on a.s1 = b.s1 where a.s1 > 3; ---error 1395 -truncate table v3; - -# The following should fail -create view v4 as select * from t1 limit 1,1; ---error 1288 -truncate table v4; - -drop view v1, v2, v3, v4; -drop table t1, t2; +drop view v1; +drop table t1; # End of 5.0 tests + diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index 6956e5cfe91..19f3135c594 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -369,8 +369,6 @@ bool mysql_prepare_delete(THD *thd, TABLE_LIST *table_list, Item **conds) { Item *fake_conds= 0; SELECT_LEX *select_lex= &thd->lex->select_lex; - const char *operation = thd->lex->sql_command == SQLCOM_TRUNCATE ? - "TRUNCATE" : "DELETE"; DBUG_ENTER("mysql_prepare_delete"); List all_fields; @@ -385,14 +383,14 @@ bool mysql_prepare_delete(THD *thd, TABLE_LIST *table_list, Item **conds) DBUG_RETURN(TRUE); if (!table_list->updatable || check_key_in_view(thd, table_list)) { - my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias, operation); + my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias, "DELETE"); DBUG_RETURN(TRUE); } { TABLE_LIST *duplicate; if ((duplicate= unique_table(thd, table_list, table_list->next_global, 0))) { - update_non_unique_table_error(table_list, operation, duplicate); + update_non_unique_table_error(table_list, "DELETE", duplicate); DBUG_RETURN(TRUE); } } @@ -897,8 +895,7 @@ bool mysql_truncate(THD *thd, TABLE_LIST *table_list, bool dont_send_ok) if (!dont_send_ok) { db_type table_type; - if (mysql_frm_type(thd, path, &table_type) == FRMTYPE_VIEW) - goto trunc_by_del; + mysql_frm_type(thd, path, &table_type); if (table_type == DB_TYPE_UNKNOWN) { my_error(ER_NO_SUCH_TABLE, MYF(0), diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 4be0aca3ea7..3be844b6761 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1834,7 +1834,6 @@ bool st_lex::can_use_merged() case SQLCOM_UPDATE_MULTI: case SQLCOM_DELETE: case SQLCOM_DELETE_MULTI: - case SQLCOM_TRUNCATE: case SQLCOM_INSERT: case SQLCOM_INSERT_SELECT: case SQLCOM_REPLACE: From e7788a9f1b7ef8007952636ae928a95bc3506b25 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Tue, 17 Apr 2007 14:41:07 +0200 Subject: [PATCH 011/144] Cleanup: The temporary file could be left around if nothing was excluded. --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 76352b06d62..0c2d20e3feb 100644 --- a/configure.in +++ b/configure.in @@ -2554,7 +2554,7 @@ then man_dirs="man" man1_files=`echo $man1_files` man8_files=`echo $man8_files` - rm -f $MANLISTFIL + rm -f $MANLISTFIL $TMPLISTFIL else man_dirs="" man1_files="" From a3f5321025daaaa932b2cadba153f4d832d2b1d0 Mon Sep 17 00:00:00 2001 From: "kent/mysqldev@mysql.com/production.mysql.com" <> Date: Tue, 17 Apr 2007 15:20:48 +0200 Subject: [PATCH 012/144] Bug#27783 mysql_install_db should be able to install again, preserving existing files. - Allow mysql_install_db to be run a second time in the same datadir to create and fill any missing system tables --- scripts/mysql_install_db.sh | 11 ----------- scripts/mysql_system_tables.sql | 5 +++++ scripts/mysql_system_tables_data.sql | 22 +++++++++++++++------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index c1a27eb0bc8..63995eb1575 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -135,17 +135,6 @@ else fi fi -# Check that no previous MySQL installation exist -if test -f "$ldata/mysql/db.frm" -then - echo "FATAL ERROR: Found already existing MySQL system tables" - echo "in $ldata." - echo "If you are upgrading from a previous MySQL version you" - echo "should run '$bindir/mysql_upgrade', " - echo "to upgrade all tables for this version of MySQL" - exit 1; -fi - # Find SQL scripts needed for bootstrap fill_help_tables="fill_help_tables.sql" create_system_tables="mysql_system_tables.sql" diff --git a/scripts/mysql_system_tables.sql b/scripts/mysql_system_tables.sql index 5f5aea20729..d9c870f1d73 100644 --- a/scripts/mysql_system_tables.sql +++ b/scripts/mysql_system_tables.sql @@ -6,12 +6,17 @@ set storage_engine=myisam; CREATE TABLE IF NOT EXISTS db ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Database privileges'; +-- Remember for later if db table already existed +set @had_db_table= @@warning_count != 0; CREATE TABLE IF NOT EXISTS host ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Host privileges; Merged with database privileges'; CREATE TABLE IF NOT EXISTS user ( Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Password char(41) character set latin1 collate latin1_bin DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_cipher BLOB NOT NULL, x509_issuer BLOB NOT NULL, x509_subject BLOB NOT NULL, max_questions int(11) unsigned DEFAULT 0 NOT NULL, max_updates int(11) unsigned DEFAULT 0 NOT NULL, max_connections int(11) unsigned DEFAULT 0 NOT NULL, max_user_connections int(11) unsigned DEFAULT 0 NOT NULL, PRIMARY KEY Host (Host,User) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Users and global privileges'; +-- Remember for later if user table already existed +set @had_user_table= @@warning_count != 0; + CREATE TABLE IF NOT EXISTS func ( name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User defined functions'; diff --git a/scripts/mysql_system_tables_data.sql b/scripts/mysql_system_tables_data.sql index a9c816f2896..5f0289ab197 100644 --- a/scripts/mysql_system_tables_data.sql +++ b/scripts/mysql_system_tables_data.sql @@ -2,12 +2,20 @@ -- The inital data for system tables of MySQL Server -- --- default grants for anyone to access database 'test' and 'test_%' -INSERT INTO db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N'); -INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N'); +-- Fill "db" table with default grants for anyone to +-- access database 'test' and 'test_%' if "db" table didn't exist +CREATE TEMPORARY TABLE tmp_db LIKE db; +INSERT INTO tmp_db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N'); +INSERT INTO tmp_db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N'); +INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0; +DROP TABLE tmp_db; --- default users allowing root access from local machine -INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); -REPLACE INTO user VALUES (@@hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); -REPLACE INTO user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); +-- Fill "users" table with default users allowing root access +-- from local machine if "users" table didn't exist before +CREATE TEMPORARY TABLE tmp_user LIKE user; +INSERT INTO tmp_user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); +REPLACE INTO tmp_user VALUES (@@hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); +REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); +INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0; +DROP TABLE tmp_user; From d22e71fe50fc60048a834f93fe9cae32ba44c579 Mon Sep 17 00:00:00 2001 From: "kent/mysqldev@mysql.com/production.mysql.com" <> Date: Tue, 17 Apr 2007 15:40:38 +0200 Subject: [PATCH 013/144] Dbdict.cpp: Bug #27710 Creating unique index fails during single user mode - enable indexes to be used always, if in single user, reject will happen before, and if it is kerlel doing stuff, it should always be allowed --- ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp index b8e2cfca41e..8f8e8fdfae3 100644 --- a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp +++ b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp @@ -6883,6 +6883,7 @@ Dbdict::createIndex_toCreateTable(Signal* signal, OpCreateIndexPtr opPtr) w.add(DictTabInfo::NoOfKeyAttr, indexPtr.p->noOfPrimkey); w.add(DictTabInfo::NoOfNullable, indexPtr.p->noOfNullAttr); w.add(DictTabInfo::KeyLength, indexPtr.p->tupKeyLength); + w.add(DictTabInfo::SingleUserMode, (Uint32)1); // write index key attributes AttributeRecordPtr aRecPtr; c_attributeRecordPool.getPtr(aRecPtr, tablePtr.p->firstAttribute); From ba8c9ab5a7d29747d05a19a88efa2b927e4c8eab Mon Sep 17 00:00:00 2001 From: "omer@linux.localdomain" <> Date: Tue, 17 Apr 2007 11:23:49 -0700 Subject: [PATCH 014/144] Added funcs_1 and funcs_2 to the test-bt option --- Makefile.am | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.am b/Makefile.am index ed54b630aea..cdced7ed247 100644 --- a/Makefile.am +++ b/Makefile.am @@ -152,6 +152,10 @@ test-bt: @PERL@ ./mysql-test-run.pl --force --comment=normal --report-features -cd mysql-test ; MTR_BUILD_THREAD=auto \ @PERL@ ./mysql-test-run.pl --force --comment=ps --ps-protocol + -cd mysql-test ; MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --force --comment=funcs1_ps --ps-protocol --suite=funcs_1 + -cd mysql-test ; MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2 test-bt-debug: -cd mysql-test ; MTR_BUILD_THREAD=auto \ From dc981fc2dcdddf3d337ad42830cf41069c0aebea Mon Sep 17 00:00:00 2001 From: "serg@janus.mylan" <> Date: Tue, 17 Apr 2007 21:15:15 +0200 Subject: [PATCH 015/144] added a necessary break --- sql/mysqld.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b70cf226803..5a6f1a01802 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -7857,14 +7857,13 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), myisam_concurrent_insert= 0; /* --skip-concurrent-insert */ break; case OPT_TC_HEURISTIC_RECOVER: - { if ((tc_heuristic_recover=find_type(argument, &tc_heuristic_recover_typelib, 2)) <=0) { fprintf(stderr, "Unknown option to tc-heuristic-recover: %s\n",argument); exit(1); } - } + break; case OPT_MYISAM_STATS_METHOD: { ulong method_conv; From 5fc30d25ea1f6273534fa721798e4b2ee359a990 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Wed, 18 Apr 2007 16:41:38 +0200 Subject: [PATCH 016/144] sql/ha_ndbcluster.cc Hex constants that exceed 32 bit need to be marked "LL" for the compile to work. --- sql/ha_ndbcluster.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 71050bc73e4..350133221ab 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -733,8 +733,8 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field, DBUG_DUMP("value", (char*)&bits, pack_len); #ifdef WORDS_BIGENDIAN /* store lsw first */ - bits = ((bits >> 32) & 0x00000000FFFFFFFF) - | ((bits << 32) & 0xFFFFFFFF00000000); + bits = ((bits >> 32) & 0x00000000FFFFFFFFLL) + | ((bits << 32) & 0xFFFFFFFF00000000LL); #endif DBUG_RETURN(ndb_op->setValue(fieldnr, (char*)&bits, pack_len) != 0); } @@ -2678,10 +2678,10 @@ void ha_ndbcluster::unpack_record(byte* buf) /* lsw is stored first */ Uint32 *buf= (Uint32 *)(*value).rec->aRef(); ((Field_bit *) *field)->store((((longlong)*buf) - & 0x000000000FFFFFFFF) + & 0x000000000FFFFFFFFLL) | ((((longlong)*(buf+1)) << 32) - & 0xFFFFFFFF00000000), + & 0xFFFFFFFF00000000LL), TRUE); #else ((Field_bit *) *field)->store((longlong) From 83e6352cc9cfae97b7779c34043ac40163d5daba Mon Sep 17 00:00:00 2001 From: "sergefp@mysql.com" <> Date: Thu, 19 Apr 2007 03:04:23 +0400 Subject: [PATCH 017/144] BUG#27939: Early NULLs filtering doesn't work for eq_ref access - Turn it on for JT_EQ_REF access method --- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++++ mysql-test/r/join.result | 28 +++++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++++++++++++++++ mysql-test/t/join.test | 23 +++++++++++++++++ sql/sql_select.cc | 5 ++-- 5 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result index af2d4bed592..c785c3be379 100644 --- a/mysql-test/r/join.result +++ b/mysql-test/r/join.result @@ -779,4 +779,32 @@ Field Type Null Key Default Extra Name varchar(50) YES NULL DROP VIEW v1; DROP TABLE t1,t2,tv1,tv2; +create table t1 (a int, b int); +insert into t1 values +(NULL, 1), +(NULL, 2), +(NULL, 3), +(NULL, 4); +create table t2 (a int not null, primary key(a)); +insert into t2 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t3 (a int not null, primary key(a)); +insert into t3 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +flush status; +select * from t1, t2, t3 where t3.a=t1.a and t2.a=t1.b; +a b a a +explain select * from t1, t2, t3 where t3.a=t1.a and t2.a=t1.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 +1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index +We expect rnd_next=5, and read_key must be 0 because of short-cutting: +show status like 'Handler_read%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 0 +Handler_read_next 0 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 5 +drop table t1, t2, t3; End of 5.0 tests. diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/mysql-test/t/join.test b/mysql-test/t/join.test index 99dd21e8ee2..a0fc7059179 100644 --- a/mysql-test/t/join.test +++ b/mysql-test/t/join.test @@ -610,4 +610,27 @@ DESCRIBE tv2; DROP VIEW v1; DROP TABLE t1,t2,tv1,tv2; + +# BUG#27939: Early NULLs filtering doesn't work for eq_ref access +create table t1 (a int, b int); +insert into t1 values + (NULL, 1), + (NULL, 2), + (NULL, 3), + (NULL, 4); + +create table t2 (a int not null, primary key(a)); +insert into t2 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); + +create table t3 (a int not null, primary key(a)); +insert into t3 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); + +flush status; +select * from t1, t2, t3 where t3.a=t1.a and t2.a=t1.b; +explain select * from t1, t2, t3 where t3.a=t1.a and t2.a=t1.b; +--echo We expect rnd_next=5, and read_key must be 0 because of short-cutting: +show status like 'Handler_read%'; +drop table t1, t2, t3; + + --echo End of 5.0 tests. diff --git a/sql/sql_select.cc b/sql/sql_select.cc index dc018dd43bb..36be506dfa5 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -5444,8 +5444,9 @@ static void add_not_null_conds(JOIN *join) for (uint i=join->const_tables ; i < join->tables ; i++) { JOIN_TAB *tab=join->join_tab+i; - if ((tab->type == JT_REF || tab->type == JT_REF_OR_NULL) && - !tab->table->maybe_null) + if ((tab->type == JT_REF || tab->type == JT_EQ_REF || + tab->type == JT_REF_OR_NULL) && + !tab->table->maybe_null) { for (uint keypart= 0; keypart < tab->ref.key_parts; keypart++) { From d55cddad9381aa2a7337d3ca2979db42eb35dc30 Mon Sep 17 00:00:00 2001 From: "svoj@mysql.com/june.mysql.com" <> Date: Thu, 19 Apr 2007 11:53:25 +0500 Subject: [PATCH 018/144] Fixed a warning on win64. --- myisam/mi_rkey.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/myisam/mi_rkey.c b/myisam/mi_rkey.c index 2933d694318..e34799da6ed 100644 --- a/myisam/mi_rkey.c +++ b/myisam/mi_rkey.c @@ -62,7 +62,8 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len, key_len, &last_used_keyseg); /* Save packed_key_length for use by the MERGE engine. */ info->pack_key_length= pack_key_length; - info->last_used_keyseg= last_used_keyseg - info->s->keyinfo[inx].seg; + info->last_used_keyseg= (uint16) (last_used_keyseg - + info->s->keyinfo[inx].seg); DBUG_EXECUTE("key",_mi_print_key(DBUG_FILE, keyinfo->seg, key_buff, pack_key_length);); } From 098adcb465e25d726c6411ddd1175bffb817e996 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Thu, 19 Apr 2007 15:48:17 +0200 Subject: [PATCH 019/144] Commented out buggy debugging code --- sql/ha_ndbcluster.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 71050bc73e4..e9ba854300d 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -2720,7 +2720,7 @@ void ha_ndbcluster::unpack_record(byte* buf) hidden_col->getName(), llstr(rec->u_64_value(), buff))); } - print_results(); + //print_results(); #endif DBUG_VOID_RETURN; } From b4d186efb784c79ef9de54b15da71a9c61a46aaf Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Thu, 19 Apr 2007 21:43:42 +0500 Subject: [PATCH 020/144] Bug #27123 (partition + on duplicate key update + varchar = Can't find record in table) key_restore function didn't work as intended in the case of VARCHAR or BLOB fields, stored the restored key in field->ptr instead of to_record. That produced the wrong key so search returned wrong result --- mysql-test/r/partition.result | 8 ++++++++ mysql-test/t/partition.test | 11 +++++++++++ sql/field.cc | 2 +- sql/field.h | 17 ++++++++++++++--- sql/ha_ndbcluster.cc | 8 ++------ sql/key.cc | 23 +++++++++++++++++------ 6 files changed, 53 insertions(+), 16 deletions(-) diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index 2e5fa4b9195..46b704dc7b7 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -1238,4 +1238,12 @@ t2 CREATE TABLE `t2` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (i) (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */ DROP TABLE t1, t2; set @@sql_mode=@org_mode; +create table t1 (c1 varchar(255),c2 tinyint,primary key(c1)) +partition by key (c1) partitions 10 ; +insert into t1 values ('aaa','1') on duplicate key update c2 = c2 + 1; +insert into t1 values ('aaa','1') on duplicate key update c2 = c2 + 1; +select * from t1; +c1 c2 +aaa 2 +drop table t1; End of 5.1 tests diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index 399f3c4a41d..d6421b0ca3d 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -1492,4 +1492,15 @@ show create table t2; DROP TABLE t1, t2; set @@sql_mode=@org_mode; +# +# Bug #27123 partition + on duplicate key update + varchar = Can't find record in +# +create table t1 (c1 varchar(255),c2 tinyint,primary key(c1)) + partition by key (c1) partitions 10 ; +insert into t1 values ('aaa','1') on duplicate key update c2 = c2 + 1; +insert into t1 values ('aaa','1') on duplicate key update c2 = c2 + 1; +select * from t1; +drop table t1; + + --echo End of 5.1 tests diff --git a/sql/field.cc b/sql/field.cc index a48a3ff7bcd..240c48bdf0c 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -6969,7 +6969,7 @@ Field_blob::Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, } -void Field_blob::store_length(uint32 number) +void Field_blob::store_length(char *ptr, uint packlength, uint32 number) { switch (packlength) { case 1: diff --git a/sql/field.h b/sql/field.h index 3d1ac7528c1..ac26ce13477 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1274,7 +1274,12 @@ public: } int reset(void) { bzero(ptr, packlength+sizeof(char*)); return 0; } void reset_fields() { bzero((char*) &value,sizeof(value)); } - void store_length(uint32 number); + static void store_length(char *ptr, uint packlength, uint32 number); + inline void store_length(uint32 number) + { + store_length(ptr, packlength, number); + } + inline uint32 get_length(uint row_offset=0) { return get_length(ptr+row_offset); } uint32 get_length(const char *ptr); @@ -1292,11 +1297,17 @@ public: memcpy(ptr,length,packlength); memcpy_fixed(ptr+packlength,&data,sizeof(char*)); } + void set_ptr_offset(my_ptrdiff_t ptr_diff, uint32 length,char *data) + { + char *ptr_ofs= ADD_TO_PTR(ptr,ptr_diff,char*); + store_length(ptr_ofs, packlength, length); + memcpy_fixed(ptr_ofs+packlength,&data,sizeof(char*)); + } inline void set_ptr(uint32 length,char *data) { - store_length(length); - memcpy_fixed(ptr+packlength,&data,sizeof(char*)); + set_ptr_offset(0, length, data); } + void get_key_image(char *buff,uint length, imagetype type); void set_key_image(char *buff,uint length); void sql_type(String &str) const; diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 5a0f27073d4..5f5e4d3ed51 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -853,9 +853,7 @@ int get_ndb_blobs_value(TABLE* table, NdbValue* value_array, i, offset, (long) buf, len, (int)ptrdiff)); DBUG_ASSERT(len == len64); // Ugly hack assumes only ptr needs to be changed - field_blob->ptr+= ptrdiff; - field_blob->set_ptr(len, buf); - field_blob->ptr-= ptrdiff; + field_blob->set_ptr_offset(ptrdiff, len, buf); } offset+= size; } @@ -864,9 +862,7 @@ int get_ndb_blobs_value(TABLE* table, NdbValue* value_array, // have to set length even in this case char *buf= buffer + offset; // or maybe NULL uint32 len= 0; - field_blob->ptr+= ptrdiff; - field_blob->set_ptr(len, buf); - field_blob->ptr-= ptrdiff; + field_blob->set_ptr_offset(ptrdiff, len, buf); DBUG_PRINT("info", ("[%u] isNull=%d", i, isNull)); } } diff --git a/sql/key.cc b/sql/key.cc index faa7bf1f04b..5054998bd99 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -221,23 +221,34 @@ void key_restore(byte *to_record, byte *from_key, KEY *key_info, } if (key_part->key_part_flag & HA_BLOB_PART) { + /* + This in fact never happens, as we have only partial BLOB + keys yet anyway, so it's difficult to find any sence to + restore the part of a record. + Maybe this branch is to be removed, but now we + have to ignore GCov compaining. + */ uint blob_length= uint2korr(from_key); + Field_blob *field= (Field_blob*) key_part->field; from_key+= HA_KEY_BLOB_LENGTH; key_length-= HA_KEY_BLOB_LENGTH; - ((Field_blob*) key_part->field)->set_ptr((ulong) blob_length, - (char*) from_key); + field->set_ptr_offset(to_record - field->table->record[0], + (ulong) blob_length, (char*) from_key); length= key_part->length; } else if (key_part->key_part_flag & HA_VAR_LENGTH_PART) { + Field *field= key_part->field; my_bitmap_map *old_map; + my_ptrdiff_t ptrdiff= to_record - field->table->record[0]; + field->move_field_offset(ptrdiff); key_length-= HA_KEY_BLOB_LENGTH; length= min(key_length, key_part->length); - old_map= dbug_tmp_use_all_columns(key_part->field->table, - key_part->field->table->write_set); - key_part->field->set_key_image((char *) from_key, length); - dbug_tmp_restore_column_map(key_part->field->table->write_set, old_map); + old_map= dbug_tmp_use_all_columns(field->table, field->table->write_set); + field->set_key_image((char *) from_key, length); + dbug_tmp_restore_column_map(field->table->write_set, old_map); from_key+= HA_KEY_BLOB_LENGTH; + field->move_field_offset(-ptrdiff); } else { From c31b50cd3069bae543ab1fcc9c679c6e965d102e Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Thu, 19 Apr 2007 18:58:32 +0200 Subject: [PATCH 021/144] BUG#27818 comedy of errors --- sql/share/errmsg.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index 03990bbad0e..bb2d9c25a77 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -5914,8 +5914,8 @@ ER_FOREIGN_DUPLICATE_KEY 23000 S1009 eng "Upholding foreign key constraints for table '%.192s', entry '%-.192s', key %d would lead to a duplicate entry" ger "Aufrechterhalten der Fremdschlüssel-Constraints für Tabelle '%.192s', Eintrag '%-.192s', Schlüssel %d würde zu einem doppelten Eintrag führen" ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE - eng "Column count of mysql.%s is wrong. Expected %d, found %d. Created with MySQL %d, now running %d. Please use scripts/mysql_fix_privilege_tables" - ger "Spaltenanzahl von mysql.%s falsch. %d erwartet, aber %d erhalten. Erzeugt mit MySQL %d, jetzt unter %d. Bitte benutzen Sie scripts/mysql_fix_privilege_tables, um den Fehler zu beheben" + eng "Column count of mysql.%s is wrong. Expected %d, found %d. Created with MySQL %d, now running %d. Please use mysql_upgrade to fix this error." + ger "Spaltenanzahl von mysql.%s falsch. %d erwartet, aber %d erhalten. Erzeugt mit MySQL %d, jetzt unter %d. Bitte benutzen Sie mysql_upgrade, um den Fehler zu beheben" ER_REMOVED_SPACES eng "Leading spaces are removed from name '%s'" ger "Führende Leerzeichen werden aus dem Namen '%s' entfernt" From cbcb418f76e10dca2dc0c009b82516585c1e790d Mon Sep 17 00:00:00 2001 From: "dkatz@damien-katzs-computer.local" <> Date: Thu, 19 Apr 2007 13:41:12 -0400 Subject: [PATCH 022/144] Bug #25761 Table is partially created when disk is full, causing database corruption --- mysys/my_copy.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mysys/my_copy.c b/mysys/my_copy.c index 6143700befc..ec642b4083c 100644 --- a/mysys/my_copy.c +++ b/mysys/my_copy.c @@ -111,6 +111,11 @@ int my_copy(const char *from, const char *to, myf MyFlags) err: if (from_file >= 0) VOID(my_close(from_file,MyFlags)); - if (to_file >= 0) VOID(my_close(to_file,MyFlags)); + if (to_file >= 0) + { + VOID(my_close(to_file, MyFlags)); + /* attempt to delete the to-file we've partially written */ + VOID(my_delete(to, MyFlags)); + } DBUG_RETURN(-1); } /* my_copy */ From ed037928a8b3bf154d338fe4a4b874fadf6da558 Mon Sep 17 00:00:00 2001 From: "kent/mysqldev@mysql.com/production.mysql.com" <> Date: Thu, 19 Apr 2007 22:56:04 +0200 Subject: [PATCH 023/144] mysql.sln: Enable 'mysys' build if target 'Enterprise' item_subselect.h: Fixed bug #27870. The bug that causes crashes manifests itself at some conditions when executing an equijoin query with WHERE condition containing a subquery predicate of the form join_attr NOT IN (SELECT ...). --- VC++Files/mysql.sln | 1 + sql/item_subselect.h | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/VC++Files/mysql.sln b/VC++Files/mysql.sln index 31b9232e2ec..f9b22b6dcc9 100644 --- a/VC++Files/mysql.sln +++ b/VC++Files/mysql.sln @@ -733,6 +733,7 @@ Global {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Debug 98.ActiveCfg = Debug 98|Win32 {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Debug 98.Build.0 = Debug 98|Win32 {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise.ActiveCfg = Release|Win32 + {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise.Build.0 = Release|Win32 {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise Debug.ActiveCfg = Debug|Win32 {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise Debug.Build.0 = Debug|Win32 {44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise GPL.ActiveCfg = Release|Win32 diff --git a/sql/item_subselect.h b/sql/item_subselect.h index 6b605e96432..118609671b8 100644 --- a/sql/item_subselect.h +++ b/sql/item_subselect.h @@ -276,7 +276,11 @@ public: { return pushed_cond_guards ? pushed_cond_guards + i : NULL; } - void set_cond_guard_var(int i, bool v) { pushed_cond_guards[i]= v; } + void set_cond_guard_var(int i, bool v) + { + if ( pushed_cond_guards) + pushed_cond_guards[i]= v; + } bool have_guarded_conds() { return test(pushed_cond_guards); } Item_func_not_all *upper_item; // point on NOT/NOP before ALL/SOME subquery From 5de73f45f93988351e620781ae6e631c3760a7fc Mon Sep 17 00:00:00 2001 From: "joerg@debian.(none)" <> Date: Fri, 20 Apr 2007 10:51:53 +0200 Subject: [PATCH 024/144] configure.in : Ensure that "icheck" is really the ABI checker, not some other tool (file system checker on Tru64). Patch originally supplied by Peter O'Gorman, slightly modified by me. Bug#27739 "build fails on Tru64 due to icheck test in configure" --- configure.in | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/configure.in b/configure.in index 0c2d20e3feb..a29329707af 100644 --- a/configure.in +++ b/configure.in @@ -459,6 +459,22 @@ AC_SUBST(MAKEINDEX) # icheck, used for ABI check AC_PATH_PROG(ICHECK, icheck, no) +# "icheck" is also the name of a file system check program on Tru64. +# Verify the program found is really the interface checker. +if test "x$ICHECK" != "xno" +then + AC_MSG_CHECKING(if $ICHECK works as expected) + echo "int foo;" > conftest.h + $ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null + if test -f "conftest.ic" + then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + ICHECK=no + fi + rm -f conftest.ic conftest.h +fi AC_SUBST(ICHECK) # Lock for PS From 8378813628467693026f4338a55b2a0720a1ba5d Mon Sep 17 00:00:00 2001 From: "kent/mysqldev@mysql.com/production.mysql.com" <> Date: Fri, 20 Apr 2007 11:53:53 +0200 Subject: [PATCH 025/144] testScanFilter.cpp: Corrected copyright header --- ndb/test/ndbapi/testScanFilter.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ndb/test/ndbapi/testScanFilter.cpp b/ndb/test/ndbapi/testScanFilter.cpp index e195c04bd93..5098d83745b 100644 --- a/ndb/test/ndbapi/testScanFilter.cpp +++ b/ndb/test/ndbapi/testScanFilter.cpp @@ -1,9 +1,8 @@ -/* Copyright (C) 2007, Justin He, MySQL AB +/* Copyright (C) 2007 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of From 53cee9f2bf175b47a167da17b9f248f4c92bb0aa Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 20 Apr 2007 12:37:32 +0200 Subject: [PATCH 026/144] Construction does not work on hpux aCC, so some refactoring --- ndb/include/ndbapi/Ndb.hpp | 13 +------------ ndb/src/ndbapi/NdbImpl.hpp | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/ndb/include/ndbapi/Ndb.hpp b/ndb/include/ndbapi/Ndb.hpp index 5af86cd09a8..b3c9acd4e20 100644 --- a/ndb/include/ndbapi/Ndb.hpp +++ b/ndb/include/ndbapi/Ndb.hpp @@ -1051,18 +1051,7 @@ class Ndb friend class NdbDictionaryImpl; friend class NdbDictInterface; friend class NdbBlob; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; - friend class Ndb_free_list_t; + friend class NdbImpl; #endif public: diff --git a/ndb/src/ndbapi/NdbImpl.hpp b/ndb/src/ndbapi/NdbImpl.hpp index ec386074692..dc0a057619f 100644 --- a/ndb/src/ndbapi/NdbImpl.hpp +++ b/ndb/src/ndbapi/NdbImpl.hpp @@ -89,6 +89,15 @@ public: return 0; } +/* + We need this friend accessor function to work around a HP compiler problem, + where template class friends are not working. +*/ + static inline void setNdbError(Ndb &ndb,int code){ + ndb.theError.code = code; + return; + } + /** * NOTE free lists must be _after_ theNdbObjectIdMap take * assure that destructors are run in correct order @@ -208,7 +217,7 @@ Ndb_free_list_t::fill(Ndb* ndb, Uint32 cnt) m_free_list = new T(ndb); if (m_free_list == 0) { - ndb->theError.code = 4000; + NdbImpl::setNdbError(*ndb, 4000); assert(false); return -1; } @@ -218,7 +227,7 @@ Ndb_free_list_t::fill(Ndb* ndb, Uint32 cnt) T* obj= new T(ndb); if(obj == 0) { - ndb->theError.code = 4000; + NdbImpl::setNdbError(*ndb, 4000); assert(false); return -1; } @@ -250,7 +259,7 @@ Ndb_free_list_t::seize(Ndb* ndb) } else { - ndb->theError.code = 4000; + NdbImpl::setNdbError(*ndb, 4000); assert(false); } return tmp; From 9050451afef8cb445e9bc4a8f83fb7fc493a6666 Mon Sep 17 00:00:00 2001 From: "kent@mysql.com/kent-amd64.(none)" <> Date: Fri, 20 Apr 2007 15:49:35 +0200 Subject: [PATCH 027/144] Makefile.am: Added the 'suite' directory to the source TAR and install --- mysql-test/Makefile.am | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index d48b8c7dfe4..3bd839bb1f0 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -33,7 +33,7 @@ endif benchdir_root= $(prefix) testdir = $(benchdir_root)/mysql-test EXTRA_SCRIPTS = mysql-test-run-shell.sh install_test_db.sh valgrind.supp $(PRESCRIPTS) -EXTRA_DIST = $(EXTRA_SCRIPTS) +EXTRA_DIST = $(EXTRA_SCRIPTS) suite GENSCRIPTS = mysql-test-run-shell mysql-test-run install_test_db mtr PRESCRIPTS = mysql-test-run.pl test_SCRIPTS = $(GENSCRIPTS) $(PRESCRIPTS) @@ -67,6 +67,7 @@ dist-hook: $(INSTALL_DATA) $(srcdir)/std_data/*.MY* $(distdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(distdir)/std_data $(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib + -rm -rf `find $(distdir)/suite -type d -name SCCS` install-data-local: $(mkinstalldirs) \ @@ -98,6 +99,12 @@ install-data-local: $(INSTALL_DATA) $(srcdir)/std_data/*.MY* $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib + for f in `(cd $(srcdir); find suite -type f | grep -v SCCS)`; \ + do \ + d=$(DESTDIR)$(testdir)/`dirname $$f`; \ + mkdir -p $$d ; \ + $(INSTALL_DATA) $(srcdir)$$f $$d ; \ + done uninstall-local: @RM@ -f -r $(DESTDIR)$(testdir) From 75c31f6bb9d257e3b3d19e9f4798f08af1df1158 Mon Sep 17 00:00:00 2001 From: "kent@mysql.com/kent-amd64.(none)" <> Date: Fri, 20 Apr 2007 15:52:49 +0200 Subject: [PATCH 028/144] Makefile.am: Typo --- mysql-test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 3bd839bb1f0..6c7207b0b2d 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -103,7 +103,7 @@ install-data-local: do \ d=$(DESTDIR)$(testdir)/`dirname $$f`; \ mkdir -p $$d ; \ - $(INSTALL_DATA) $(srcdir)$$f $$d ; \ + $(INSTALL_DATA) $(srcdir)/$$f $$d ; \ done uninstall-local: From bcaa5cc7e8aad20609944f47e7576ec63a7e8dab Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Fri, 20 Apr 2007 16:54:21 +0200 Subject: [PATCH 029/144] mysql-test/t/sp_trans_log.test : Disable it in embedded (test fails). --- mysql-test/t/sp_trans_log.test | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mysql-test/t/sp_trans_log.test b/mysql-test/t/sp_trans_log.test index cc3b2531bed..85e5aaffdef 100644 --- a/mysql-test/t/sp_trans_log.test +++ b/mysql-test/t/sp_trans_log.test @@ -1,3 +1,6 @@ +# Binlog-related tests should be disabled in the embedded server. +-- source include/not_embedded.inc + # part of sp_trans test that appeared to be sensitive to binlog format --source include/have_innodb.inc --source include/have_binlog_format_mixed_or_row.inc From 8df747b9c15bfaffb82cb3f92a9566812abd789a Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Sun, 22 Apr 2007 12:57:32 +0500 Subject: [PATCH 030/144] rpl_udf test enabled --- mysql-test/t/disabled.def | 1 - 1 file changed, 1 deletion(-) diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index ad2c7a6c08c..d1f8db97131 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -28,7 +28,6 @@ rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after C rpl_ndb_innodb2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly -rpl_udf : BUG#27564 2007-03-31 lars New test case for rpl of UDF shows valgrind failure synchronization : Bug#24529 Test 'synchronization' fails on Mac pushbuild; Also on Linux 64 bit. # the below testcase have been reworked to avoid the bug, test contains comment, keep bug open From 347a0bf7224b519d15e66843eb2212e37feeb300 Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Mon, 23 Apr 2007 08:58:15 +0200 Subject: [PATCH 031/144] ndb - Fix bug in new Hugo equal code (theStatus: 10) --- storage/ndb/test/src/HugoTransactions.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storage/ndb/test/src/HugoTransactions.cpp b/storage/ndb/test/src/HugoTransactions.cpp index c201e170faf..30f6fa39f93 100644 --- a/storage/ndb/test/src/HugoTransactions.cpp +++ b/storage/ndb/test/src/HugoTransactions.cpp @@ -1146,7 +1146,7 @@ HugoTransactions::pkInterpretedUpdateRecords(Ndb* pNdb, } // PKs - if (equalForRow(pOp, r) != 0) + if (equalForRow(pUpdOp, r) != 0) { closeTransaction(pNdb); return NDBT_FAILED; @@ -1714,7 +1714,7 @@ HugoTransactions::indexUpdateRecords(Ndb* pNdb, if(!ordered) { - if (equalForRow(pOp, r+b) != 0) + if (equalForRow(pUpdOp, r+b) != 0) { closeTransaction(pNdb); return NDBT_FAILED; From 5d4f9e22b16b91c029e98b65afe94f6b1fb49cc7 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Mon, 23 Apr 2007 11:25:33 +0200 Subject: [PATCH 032/144] Moved all code related to engine_condition_pushdown to a new class, ha_ndbcluster_cond. Added new files: sql/ha_ndbcluster_cond.h sql/ha_ndbcluster_cond.cc --- sql/Makefile.am | 5 +- sql/ha_ndbcluster.cc | 1486 ++----------------------------------- sql/ha_ndbcluster.h | 446 +---------- sql/ha_ndbcluster_cond.cc | 1427 +++++++++++++++++++++++++++++++++++ sql/ha_ndbcluster_cond.h | 469 ++++++++++++ 5 files changed, 1976 insertions(+), 1857 deletions(-) create mode 100644 sql/ha_ndbcluster_cond.cc create mode 100644 sql/ha_ndbcluster_cond.h diff --git a/sql/Makefile.am b/sql/Makefile.am index 4f84023724f..9be3bf93746 100644 --- a/sql/Makefile.am +++ b/sql/Makefile.am @@ -54,7 +54,8 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ sql_error.h field.h handler.h mysqld_suffix.h \ ha_myisammrg.h\ ha_heap.h ha_myisam.h ha_berkeley.h ha_innodb.h \ - ha_ndbcluster.h opt_range.h protocol.h \ + ha_ndbcluster.h ha_ndbcluster_cond.h \ + opt_range.h protocol.h \ sql_select.h structs.h table.h sql_udf.h hash_filo.h\ lex.h lex_symbol.h sql_acl.h sql_crypt.h \ log_event.h sql_repl.h slave.h \ @@ -88,7 +89,7 @@ mysqld_SOURCES = sql_lex.cc sql_handler.cc \ records.cc filesort.cc handler.cc \ ha_heap.cc ha_myisam.cc ha_myisammrg.cc \ ha_berkeley.cc ha_innodb.cc \ - ha_ndbcluster.cc \ + ha_ndbcluster.cc ha_ndbcluster_cond.cc \ sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \ sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \ sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \ diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index e9ba854300d..dd7aa45f303 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -29,7 +29,7 @@ #include #include "ha_ndbcluster.h" #include -#include +#include "ha_ndbcluster_cond.h" // options from from mysqld.cc extern my_bool opt_ndb_optimized_node_selection; @@ -2114,7 +2114,7 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key, DBUG_RETURN(res); } - if (!restart && generate_scan_filter(m_cond_stack, op)) + if (!restart && m_cond && m_cond->generate_scan_filter(op)) DBUG_RETURN(ndb_err(trans)); if (!restart && (res= define_read_attrs(buf, op))) @@ -2153,7 +2153,14 @@ int ha_ndbcluster::unique_index_scan(const KEY* key_info, parallelism)) ERR_RETURN(trans->getNdbError()); m_active_cursor= op; - if (generate_scan_filter_from_key(op, key_info, key, key_len, buf)) + if (!m_cond) + m_cond= new ha_ndbcluster_cond; + if (!m_cond) + { + my_errno= HA_ERR_OUT_OF_MEM; + DBUG_RETURN(my_errno); + } + if (m_cond->generate_scan_filter_from_key(op, key_info, key, key_len, buf)) DBUG_RETURN(ndb_err(trans)); if ((res= define_read_attrs(buf, op))) DBUG_RETURN(res); @@ -2186,7 +2193,7 @@ int ha_ndbcluster::full_table_scan(byte *buf) parallelism)) ERR_RETURN(trans->getNdbError()); m_active_cursor= op; - if (generate_scan_filter(m_cond_stack, op)) + if (m_cond && m_cond->generate_scan_filter(op)) DBUG_RETURN(ndb_err(trans)); if ((res= define_read_attrs(buf, op))) DBUG_RETURN(res); @@ -3449,7 +3456,10 @@ int ha_ndbcluster::extra(enum ha_extra_function operation) int ha_ndbcluster::reset() { DBUG_ENTER("ha_ndbcluster::reset"); - cond_clear(); + if (m_cond) + { + m_cond->cond_clear(); + } /* reset flags set by extra calls */ m_retrieve_all_fields= FALSE; @@ -4873,7 +4883,7 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg): m_force_send(TRUE), m_autoincrement_prefetch((ha_rows) 32), m_transaction_on(TRUE), - m_cond_stack(NULL), + m_cond(NULL), m_multi_cursor(NULL) { int i; @@ -4920,9 +4930,13 @@ ha_ndbcluster::~ha_ndbcluster() } DBUG_ASSERT(m_active_trans == NULL); - // Discard the condition stack - DBUG_PRINT("info", ("Clearing condition stack")); - cond_clear(); + // Discard any generated condition + DBUG_PRINT("info", ("Deleting generated condition")); + if (m_cond) + { + delete m_cond; + m_cond= NULL; + } DBUG_VOID_RETURN; } @@ -6510,7 +6524,7 @@ ha_ndbcluster::read_multi_range_first(KEY_MULTI_RANGE **found_range_p, else if ((scanOp= m_active_trans->getNdbIndexScanOperation(idx, tab)) &&!scanOp->readTuples(lm, 0, parallelism, sorted, FALSE, TRUE, need_pk, TRUE) - &&!generate_scan_filter(m_cond_stack, scanOp) + &&!(m_cond && m_cond->generate_scan_filter(scanOp)) &&!define_read_attrs(end_of_buffer-reclength, scanOp)) { m_multi_cursor= scanOp; @@ -6969,1412 +6983,6 @@ next: DBUG_RETURN(NULL); } -/* - Condition pushdown -*/ -/* - Push a condition to ndbcluster storage engine for evaluation - during table and index scans. The conditions will be stored on a stack - for possibly storing several conditions. The stack can be popped - by calling cond_pop, handler::extra(HA_EXTRA_RESET) (handler::reset()) - will clear the stack. - The current implementation supports arbitrary AND/OR nested conditions - with comparisons between columns and constants (including constant - expressions and function calls) and the following comparison operators: - =, !=, >, >=, <, <=, "is null", and "is not null". - - RETURN - NULL The condition was supported and will be evaluated for each - row found during the scan - cond The condition was not supported and all rows will be returned from - the scan for evaluation (and thus not saved on stack) -*/ -const -COND* -ha_ndbcluster::cond_push(const COND *cond) -{ - DBUG_ENTER("cond_push"); - Ndb_cond_stack *ndb_cond = new Ndb_cond_stack(); - if (ndb_cond == NULL) - { - my_errno= HA_ERR_OUT_OF_MEM; - DBUG_RETURN(NULL); - } - DBUG_EXECUTE("where",print_where((COND *)cond, m_tabname);); - if (m_cond_stack) - ndb_cond->next= m_cond_stack; - else - ndb_cond->next= NULL; - m_cond_stack= ndb_cond; - - if (serialize_cond(cond, ndb_cond)) - { - DBUG_RETURN(NULL); - } - else - { - cond_pop(); - } - DBUG_RETURN(cond); -} - -/* - Pop the top condition from the condition stack of the handler instance. -*/ -void -ha_ndbcluster::cond_pop() -{ - Ndb_cond_stack *ndb_cond_stack= m_cond_stack; - if (ndb_cond_stack) - { - m_cond_stack= ndb_cond_stack->next; - delete ndb_cond_stack; - } -} - -/* - Clear the condition stack -*/ -void -ha_ndbcluster::cond_clear() -{ - DBUG_ENTER("cond_clear"); - while (m_cond_stack) - cond_pop(); - - DBUG_VOID_RETURN; -} - -/* - Serialize the item tree into a linked list represented by Ndb_cond - for fast generation of NbdScanFilter. Adds information such as - position of fields that is not directly available in the Item tree. - Also checks if condition is supported. -*/ -void ndb_serialize_cond(const Item *item, void *arg) -{ - Ndb_cond_traverse_context *context= (Ndb_cond_traverse_context *) arg; - DBUG_ENTER("ndb_serialize_cond"); - - // Check if we are skipping arguments to a function to be evaluated - if (context->skip) - { - DBUG_PRINT("info", ("Skiping argument %d", context->skip)); - context->skip--; - switch (item->type()) { - case Item::FUNC_ITEM: - { - Item_func *func_item= (Item_func *) item; - context->skip+= func_item->argument_count(); - break; - } - case Item::INT_ITEM: - case Item::REAL_ITEM: - case Item::STRING_ITEM: - case Item::VARBIN_ITEM: - case Item::DECIMAL_ITEM: - break; - default: - context->supported= FALSE; - break; - } - - DBUG_VOID_RETURN; - } - - if (context->supported) - { - Ndb_rewrite_context *rewrite_context2= context->rewrite_stack; - const Item_func *rewrite_func_item; - // Check if we are rewriting some unsupported function call - if (rewrite_context2 && - (rewrite_func_item= rewrite_context2->func_item) && - rewrite_context2->count++ == 0) - { - switch (rewrite_func_item->functype()) { - case Item_func::BETWEEN: - /* - Rewrite - | BETWEEN | AND | - to | > | AND - | < | - or actually in prefix format - BEGIN(AND) GT(|, |), - LT(|, |), END() - */ - case Item_func::IN_FUNC: - { - /* - Rewrite | IN(|, |,..) - to | = | OR - = | ... - or actually in prefix format - BEGIN(OR) EQ(|, ), - EQ(|, |), ... END() - Each part of the disjunction is added for each call - to ndb_serialize_cond and end of rewrite statement - is wrapped in end of ndb_serialize_cond - */ - if (context->expecting(item->type())) - { - // This is the | item, save it in the rewrite context - rewrite_context2->left_hand_item= item; - if (item->type() == Item::FUNC_ITEM) - { - Item_func *func_item= (Item_func *) item; - if (func_item->functype() == Item_func::UNKNOWN_FUNC && - func_item->const_item()) - { - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - } - else - { - DBUG_PRINT("info", ("Found unsupported functional expression in BETWEEN|IN")); - context->supported= FALSE; - DBUG_VOID_RETURN; - - } - } - } - else - { - // Non-supported BETWEEN|IN expression - DBUG_PRINT("info", ("Found unexpected item of type %u in BETWEEN|IN", - item->type())); - context->supported= FALSE; - DBUG_VOID_RETURN; - } - break; - } - default: - context->supported= FALSE; - break; - } - DBUG_VOID_RETURN; - } - else - { - Ndb_cond_stack *ndb_stack= context->stack_ptr; - Ndb_cond *prev_cond= context->cond_ptr; - Ndb_cond *curr_cond= context->cond_ptr= new Ndb_cond(); - if (!ndb_stack->ndb_cond) - ndb_stack->ndb_cond= curr_cond; - curr_cond->prev= prev_cond; - if (prev_cond) prev_cond->next= curr_cond; - // Check if we are rewriting some unsupported function call - if (context->rewrite_stack) - { - Ndb_rewrite_context *rewrite_context= context->rewrite_stack; - const Item_func *func_item= rewrite_context->func_item; - switch (func_item->functype()) { - case Item_func::BETWEEN: - { - /* - Rewrite - | BETWEEN | AND | - to | > | AND - | < | - or actually in prefix format - BEGIN(AND) GT(|, |), - LT(|, |), END() - */ - if (rewrite_context->count == 2) - { - // Lower limit of BETWEEN - DBUG_PRINT("info", ("GE_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::GE_FUNC, 2); - } - else if (rewrite_context->count == 3) - { - // Upper limit of BETWEEN - DBUG_PRINT("info", ("LE_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::LE_FUNC, 2); - } - else - { - // Illegal BETWEEN expression - DBUG_PRINT("info", ("Illegal BETWEEN expression")); - context->supported= FALSE; - DBUG_VOID_RETURN; - } - break; - } - case Item_func::IN_FUNC: - { - /* - Rewrite | IN(|, |,..) - to | = | OR - = | ... - or actually in prefix format - BEGIN(OR) EQ(|, ), - EQ(|, |), ... END() - Each part of the disjunction is added for each call - to ndb_serialize_cond and end of rewrite statement - is wrapped in end of ndb_serialize_cond - */ - DBUG_PRINT("info", ("EQ_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::EQ_FUNC, 2); - break; - } - default: - context->supported= FALSE; - } - // Handle left hand | - context->rewrite_stack= NULL; // Disable rewrite mode - context->expect_only(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - context->expect(Item::INT_ITEM); - context->expect(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FUNC_ITEM); - ndb_serialize_cond(rewrite_context->left_hand_item, arg); - context->skip= 0; // Any FUNC_ITEM expression has already been parsed - context->rewrite_stack= rewrite_context; // Enable rewrite mode - if (!context->supported) - DBUG_VOID_RETURN; - - prev_cond= context->cond_ptr; - curr_cond= context->cond_ptr= new Ndb_cond(); - prev_cond->next= curr_cond; - } - - // Check for end of AND/OR expression - if (!item) - { - // End marker for condition group - DBUG_PRINT("info", ("End of condition group")); - curr_cond->ndb_item= new Ndb_item(NDB_END_COND); - } - else - { - switch (item->type()) { - case Item::FIELD_ITEM: - { - Item_field *field_item= (Item_field *) item; - Field *field= field_item->field; - enum_field_types type= field->type(); - /* - Check that the field is part of the table of the handler - instance and that we expect a field with of this result type. - */ - if (context->table->s == field->table->s) - { - const NDBTAB *tab= (const NDBTAB *) context->ndb_table; - DBUG_PRINT("info", ("FIELD_ITEM")); - DBUG_PRINT("info", ("table %s", tab->getName())); - DBUG_PRINT("info", ("column %s", field->field_name)); - DBUG_PRINT("info", ("type %d", field->type())); - DBUG_PRINT("info", ("result type %d", field->result_type())); - - // Check that we are expecting a field and with the correct - // result type - if (context->expecting(Item::FIELD_ITEM) && - context->expecting_field_type(field->type()) && - (context->expecting_field_result(field->result_type()) || - // Date and year can be written as string or int - ((type == MYSQL_TYPE_TIME || - type == MYSQL_TYPE_DATE || - type == MYSQL_TYPE_YEAR || - type == MYSQL_TYPE_DATETIME) - ? (context->expecting_field_result(STRING_RESULT) || - context->expecting_field_result(INT_RESULT)) - : true)) && - // Bit fields no yet supported in scan filter - type != MYSQL_TYPE_BIT && - // No BLOB support in scan filter - type != MYSQL_TYPE_TINY_BLOB && - type != MYSQL_TYPE_MEDIUM_BLOB && - type != MYSQL_TYPE_LONG_BLOB && - type != MYSQL_TYPE_BLOB) - { - const NDBCOL *col= tab->getColumn(field->field_name); - DBUG_ASSERT(col); - curr_cond->ndb_item= new Ndb_item(field, col->getColumnNo()); - context->dont_expect(Item::FIELD_ITEM); - context->expect_no_field_result(); - if (! context->expecting_nothing()) - { - // We have not seen second argument yet - if (type == MYSQL_TYPE_TIME || - type == MYSQL_TYPE_DATE || - type == MYSQL_TYPE_YEAR || - type == MYSQL_TYPE_DATETIME) - { - context->expect_only(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - } - else - switch (field->result_type()) { - case STRING_RESULT: - // Expect char string or binary string - context->expect_only(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect_collation(field_item->collation.collation); - break; - case REAL_RESULT: - context->expect_only(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::INT_ITEM); - break; - case INT_RESULT: - context->expect_only(Item::INT_ITEM); - context->expect(Item::VARBIN_ITEM); - break; - case DECIMAL_RESULT: - context->expect_only(Item::DECIMAL_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::INT_ITEM); - break; - default: - break; - } - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - // Check that field and string constant collations are the same - if ((field->result_type() == STRING_RESULT) && - !context->expecting_collation(item->collation.collation) - && type != MYSQL_TYPE_TIME - && type != MYSQL_TYPE_DATE - && type != MYSQL_TYPE_YEAR - && type != MYSQL_TYPE_DATETIME) - { - DBUG_PRINT("info", ("Found non-matching collation %s", - item->collation.collation->name)); - context->supported= FALSE; - } - } - break; - } - else - { - DBUG_PRINT("info", ("Was not expecting field of type %u(%u)", - field->result_type(), type)); - context->supported= FALSE; - } - } - else - { - DBUG_PRINT("info", ("Was not expecting field from table %s(%s)", - context->table->s->table_name, - field->table->s->table_name)); - context->supported= FALSE; - } - break; - } - case Item::FUNC_ITEM: - { - Item_func *func_item= (Item_func *) item; - // Check that we expect a function or functional expression here - if (context->expecting(Item::FUNC_ITEM) || - func_item->functype() == Item_func::UNKNOWN_FUNC) - context->expect_nothing(); - else - { - // Did not expect function here - context->supported= FALSE; - break; - } - - switch (func_item->functype()) { - case Item_func::EQ_FUNC: - { - DBUG_PRINT("info", ("EQ_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::NE_FUNC: - { - DBUG_PRINT("info", ("NE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::LT_FUNC: - { - DBUG_PRINT("info", ("LT_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::LE_FUNC: - { - DBUG_PRINT("info", ("LE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::GE_FUNC: - { - DBUG_PRINT("info", ("GE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::GT_FUNC: - { - DBUG_PRINT("info", ("GT_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::LIKE_FUNC: - { - DBUG_PRINT("info", ("LIKE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_only_field_type(MYSQL_TYPE_STRING); - context->expect_field_type(MYSQL_TYPE_VAR_STRING); - context->expect_field_type(MYSQL_TYPE_VARCHAR); - context->expect_field_result(STRING_RESULT); - context->expect(Item::FUNC_ITEM); - break; - } - case Item_func::ISNULL_FUNC: - { - DBUG_PRINT("info", ("ISNULL_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::ISNOTNULL_FUNC: - { - DBUG_PRINT("info", ("ISNOTNULL_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::NOT_FUNC: - { - DBUG_PRINT("info", ("NOT_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - break; - } - case Item_func::BETWEEN: - { - DBUG_PRINT("info", ("BETWEEN, rewriting using AND")); - Item_func_between *between_func= (Item_func_between *) func_item; - Ndb_rewrite_context *rewrite_context= - new Ndb_rewrite_context(func_item); - rewrite_context->next= context->rewrite_stack; - context->rewrite_stack= rewrite_context; - if (between_func->negated) - { - DBUG_PRINT("info", ("NOT_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::NOT_FUNC, 1); - prev_cond= curr_cond; - curr_cond= context->cond_ptr= new Ndb_cond(); - curr_cond->prev= prev_cond; - prev_cond->next= curr_cond; - } - DBUG_PRINT("info", ("COND_AND_FUNC")); - curr_cond->ndb_item= - new Ndb_item(Item_func::COND_AND_FUNC, - func_item->argument_count() - 1); - context->expect_only(Item::FIELD_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FUNC_ITEM); - break; - } - case Item_func::IN_FUNC: - { - DBUG_PRINT("info", ("IN_FUNC, rewriting using OR")); - Item_func_in *in_func= (Item_func_in *) func_item; - Ndb_rewrite_context *rewrite_context= - new Ndb_rewrite_context(func_item); - rewrite_context->next= context->rewrite_stack; - context->rewrite_stack= rewrite_context; - if (in_func->negated) - { - DBUG_PRINT("info", ("NOT_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::NOT_FUNC, 1); - prev_cond= curr_cond; - curr_cond= context->cond_ptr= new Ndb_cond(); - curr_cond->prev= prev_cond; - prev_cond->next= curr_cond; - } - DBUG_PRINT("info", ("COND_OR_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::COND_OR_FUNC, - func_item->argument_count() - 1); - context->expect_only(Item::FIELD_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FUNC_ITEM); - break; - } - case Item_func::UNKNOWN_FUNC: - { - DBUG_PRINT("info", ("UNKNOWN_FUNC %s", - func_item->const_item()?"const":"")); - DBUG_PRINT("info", ("result type %d", func_item->result_type())); - if (func_item->const_item()) - { - switch (func_item->result_type()) { - case STRING_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::STRING_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(STRING_RESULT); - context->expect_collation(func_item->collation.collation); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - // Check that string result have correct collation - if (!context->expecting_collation(item->collation.collation)) - { - DBUG_PRINT("info", ("Found non-matching collation %s", - item->collation.collation->name)); - context->supported= FALSE; - } - } - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - case REAL_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::REAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(REAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - case INT_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::INT_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(INT_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - case DECIMAL_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::DECIMAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(DECIMAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - default: - break; - } - } - else - // Function does not return constant expression - context->supported= FALSE; - break; - } - default: - { - DBUG_PRINT("info", ("Found func_item of type %d", - func_item->functype())); - context->supported= FALSE; - } - } - break; - } - case Item::STRING_ITEM: - DBUG_PRINT("info", ("STRING_ITEM")); - if (context->expecting(Item::STRING_ITEM)) - { -#ifndef DBUG_OFF - char buff[256]; - String str(buff,(uint32) sizeof(buff), system_charset_info); - str.length(0); - Item_string *string_item= (Item_string *) item; - DBUG_PRINT("info", ("value \"%s\"", - string_item->val_str(&str)->ptr())); -#endif - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::STRING_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(STRING_RESULT); - context->expect_collation(item->collation.collation); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - // Check that we are comparing with a field with same collation - if (!context->expecting_collation(item->collation.collation)) - { - DBUG_PRINT("info", ("Found non-matching collation %s", - item->collation.collation->name)); - context->supported= FALSE; - } - } - } - else - context->supported= FALSE; - break; - case Item::INT_ITEM: - DBUG_PRINT("info", ("INT_ITEM")); - if (context->expecting(Item::INT_ITEM)) - { - DBUG_PRINT("info", ("value %ld", - (long) ((Item_int*) item)->value)); - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::INT_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(INT_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(DECIMAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::REAL_ITEM: - DBUG_PRINT("info", ("REAL_ITEM")); - if (context->expecting(Item::REAL_ITEM)) - { - DBUG_PRINT("info", ("value %f", ((Item_float *) item)->value)); - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::REAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(REAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::VARBIN_ITEM: - DBUG_PRINT("info", ("VARBIN_ITEM")); - if (context->expecting(Item::VARBIN_ITEM)) - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::VARBIN_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(STRING_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::DECIMAL_ITEM: - DBUG_PRINT("info", ("DECIMAL_ITEM")); - if (context->expecting(Item::DECIMAL_ITEM)) - { - DBUG_PRINT("info", ("value %f", - ((Item_decimal*) item)->val_real())); - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::DECIMAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(REAL_RESULT); - context->expect_field_result(DECIMAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::COND_ITEM: - { - Item_cond *cond_item= (Item_cond *) item; - - if (context->expecting(Item::COND_ITEM)) - { - switch (cond_item->functype()) { - case Item_func::COND_AND_FUNC: - DBUG_PRINT("info", ("COND_AND_FUNC")); - curr_cond->ndb_item= new Ndb_item(cond_item->functype(), - cond_item); - break; - case Item_func::COND_OR_FUNC: - DBUG_PRINT("info", ("COND_OR_FUNC")); - curr_cond->ndb_item= new Ndb_item(cond_item->functype(), - cond_item); - break; - default: - DBUG_PRINT("info", ("COND_ITEM %d", cond_item->functype())); - context->supported= FALSE; - break; - } - } - else - { - /* Did not expect condition */ - context->supported= FALSE; - } - break; - } - default: - { - DBUG_PRINT("info", ("Found item of type %d", item->type())); - context->supported= FALSE; - } - } - } - if (context->supported && context->rewrite_stack) - { - Ndb_rewrite_context *rewrite_context= context->rewrite_stack; - if (rewrite_context->count == - rewrite_context->func_item->argument_count()) - { - // Rewrite is done, wrap an END() at the en - DBUG_PRINT("info", ("End of condition group")); - prev_cond= curr_cond; - curr_cond= context->cond_ptr= new Ndb_cond(); - curr_cond->prev= prev_cond; - prev_cond->next= curr_cond; - curr_cond->ndb_item= new Ndb_item(NDB_END_COND); - // Pop rewrite stack - context->rewrite_stack= rewrite_context->next; - rewrite_context->next= NULL; - delete(rewrite_context); - } - } - } - } - - DBUG_VOID_RETURN; -} - -bool -ha_ndbcluster::serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond) -{ - DBUG_ENTER("serialize_cond"); - Item *item= (Item *) cond; - Ndb_cond_traverse_context context(table, (void *)m_table, ndb_cond); - // Expect a logical expression - context.expect(Item::FUNC_ITEM); - context.expect(Item::COND_ITEM); - item->traverse_cond(&ndb_serialize_cond, (void *) &context, Item::PREFIX); - DBUG_PRINT("info", ("The pushed condition is %ssupported", (context.supported)?"":"not ")); - - DBUG_RETURN(context.supported); -} - -int -ha_ndbcluster::build_scan_filter_predicate(Ndb_cond * &cond, - NdbScanFilter *filter, - bool negated) -{ - DBUG_ENTER("build_scan_filter_predicate"); - switch (cond->ndb_item->type) { - case NDB_FUNCTION: - { - if (!cond->next) - break; - Ndb_item *a= cond->next->ndb_item; - Ndb_item *b, *field, *value= NULL; - LINT_INIT(field); - - switch (cond->ndb_item->argument_count()) { - case 1: - field= - (a->type == NDB_FIELD)? a : NULL; - break; - case 2: - if (!cond->next->next) - break; - b= cond->next->next->ndb_item; - value= - (a->type == NDB_VALUE)? a - : (b->type == NDB_VALUE)? b - : NULL; - field= - (a->type == NDB_FIELD)? a - : (b->type == NDB_FIELD)? b - : NULL; - break; - default: - break; - } - switch ((negated) ? - Ndb_item::negate(cond->ndb_item->qualification.function_type) - : cond->ndb_item->qualification.function_type) { - case NDB_EQ_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating EQ filter")); - if (filter->cmp(NdbScanFilter::COND_EQ, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_NE_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating NE filter")); - if (filter->cmp(NdbScanFilter::COND_NE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_LT_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating LT filter")); - if (filter->cmp(NdbScanFilter::COND_LT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating GT filter")); - if (filter->cmp(NdbScanFilter::COND_GT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_LE_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating LE filter")); - if (filter->cmp(NdbScanFilter::COND_LE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating GE filter")); - if (filter->cmp(NdbScanFilter::COND_GE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_GE_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating GE filter")); - if (filter->cmp(NdbScanFilter::COND_GE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating LE filter")); - if (filter->cmp(NdbScanFilter::COND_LE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_GT_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating GT filter")); - if (filter->cmp(NdbScanFilter::COND_GT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating LT filter")); - if (filter->cmp(NdbScanFilter::COND_LT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_LIKE_FUNC: - { - if (!value || !field) break; - if ((value->qualification.value_type != Item::STRING_ITEM) && - (value->qualification.value_type != Item::VARBIN_ITEM)) - break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating LIKE filter: like(%d,%s,%d)", - field->get_field_no(), value->get_val(), - value->pack_length())); - if (filter->cmp(NdbScanFilter::COND_LIKE, - field->get_field_no(), - value->get_val(), - value->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_NOTLIKE_FUNC: - { - if (!value || !field) break; - if ((value->qualification.value_type != Item::STRING_ITEM) && - (value->qualification.value_type != Item::VARBIN_ITEM)) - break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating NOTLIKE filter: notlike(%d,%s,%d)", - field->get_field_no(), value->get_val(), - value->pack_length())); - if (filter->cmp(NdbScanFilter::COND_NOT_LIKE, - field->get_field_no(), - value->get_val(), - value->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_ISNULL_FUNC: - if (!field) - break; - DBUG_PRINT("info", ("Generating ISNULL filter")); - if (filter->isnull(field->get_field_no()) == -1) - DBUG_RETURN(1); - cond= cond->next->next; - DBUG_RETURN(0); - case NDB_ISNOTNULL_FUNC: - { - if (!field) - break; - DBUG_PRINT("info", ("Generating ISNOTNULL filter")); - if (filter->isnotnull(field->get_field_no()) == -1) - DBUG_RETURN(1); - cond= cond->next->next; - DBUG_RETURN(0); - } - default: - break; - } - break; - } - default: - break; - } - DBUG_PRINT("info", ("Found illegal condition")); - DBUG_RETURN(1); -} - - -int -ha_ndbcluster::build_scan_filter_group(Ndb_cond* &cond, NdbScanFilter *filter) -{ - uint level=0; - bool negated= FALSE; - DBUG_ENTER("build_scan_filter_group"); - - do - { - if (!cond) - DBUG_RETURN(1); - switch (cond->ndb_item->type) { - case NDB_FUNCTION: - { - switch (cond->ndb_item->qualification.function_type) { - case NDB_COND_AND_FUNC: - { - level++; - DBUG_PRINT("info", ("Generating %s group %u", (negated)?"NAND":"AND", - level)); - if ((negated) ? filter->begin(NdbScanFilter::NAND) - : filter->begin(NdbScanFilter::AND) == -1) - DBUG_RETURN(1); - negated= FALSE; - cond= cond->next; - break; - } - case NDB_COND_OR_FUNC: - { - level++; - DBUG_PRINT("info", ("Generating %s group %u", (negated)?"NOR":"OR", - level)); - if ((negated) ? filter->begin(NdbScanFilter::NOR) - : filter->begin(NdbScanFilter::OR) == -1) - DBUG_RETURN(1); - negated= FALSE; - cond= cond->next; - break; - } - case NDB_NOT_FUNC: - { - DBUG_PRINT("info", ("Generating negated query")); - cond= cond->next; - negated= TRUE; - break; - } - default: - if (build_scan_filter_predicate(cond, filter, negated)) - DBUG_RETURN(1); - negated= FALSE; - break; - } - break; - } - case NDB_END_COND: - DBUG_PRINT("info", ("End of group %u", level)); - level--; - if (cond) cond= cond->next; - if (filter->end() == -1) - DBUG_RETURN(1); - if (!negated) - break; - // else fall through (NOT END is an illegal condition) - default: - { - DBUG_PRINT("info", ("Illegal scan filter")); - } - } - } while (level > 0 || negated); - - DBUG_RETURN(0); -} - - -int -ha_ndbcluster::build_scan_filter(Ndb_cond * &cond, NdbScanFilter *filter) -{ - bool simple_cond= TRUE; - DBUG_ENTER("build_scan_filter"); - - switch (cond->ndb_item->type) { - case NDB_FUNCTION: - switch (cond->ndb_item->qualification.function_type) { - case NDB_COND_AND_FUNC: - case NDB_COND_OR_FUNC: - simple_cond= FALSE; - break; - default: - break; - } - break; - default: - break; - } - if (simple_cond && filter->begin() == -1) - DBUG_RETURN(1); - if (build_scan_filter_group(cond, filter)) - DBUG_RETURN(1); - if (simple_cond && filter->end() == -1) - DBUG_RETURN(1); - - DBUG_RETURN(0); -} - -int -ha_ndbcluster::generate_scan_filter(Ndb_cond_stack *ndb_cond_stack, - NdbScanOperation *op) -{ - DBUG_ENTER("generate_scan_filter"); - - if (ndb_cond_stack) - { - NdbScanFilter filter(op); - - DBUG_RETURN(generate_scan_filter_from_cond(ndb_cond_stack, filter)); - } - else - { - DBUG_PRINT("info", ("Empty stack")); - } - - DBUG_RETURN(0); -} - - -int -ha_ndbcluster::generate_scan_filter_from_cond(Ndb_cond_stack *ndb_cond_stack, - NdbScanFilter& filter) -{ - bool multiple_cond= FALSE; - DBUG_ENTER("generate_scan_filter_from_cond"); - - // Wrap an AND group around multiple conditions - if (ndb_cond_stack->next) - { - multiple_cond= TRUE; - if (filter.begin() == -1) - DBUG_RETURN(1); - } - for (Ndb_cond_stack *stack= ndb_cond_stack; - (stack); - stack= stack->next) - { - Ndb_cond *cond= stack->ndb_cond; - - if (build_scan_filter(cond, &filter)) - { - DBUG_PRINT("info", ("build_scan_filter failed")); - DBUG_RETURN(1); - } - } - if (multiple_cond && filter.end() == -1) - DBUG_RETURN(1); - - DBUG_RETURN(0); -} - - -int ha_ndbcluster::generate_scan_filter_from_key(NdbScanOperation *op, - const KEY* key_info, - const byte *key, - uint key_len, - byte *buf) -{ - KEY_PART_INFO* key_part= key_info->key_part; - KEY_PART_INFO* end= key_part+key_info->key_parts; - NdbScanFilter filter(op); - int res; - DBUG_ENTER("generate_scan_filter_from_key"); - - filter.begin(NdbScanFilter::AND); - for (; key_part != end; key_part++) - { - Field* field= key_part->field; - uint32 pack_len= field->pack_length(); - const byte* ptr= key; - DBUG_PRINT("info", ("Filtering value for %s", field->field_name)); - DBUG_DUMP("key", (char*)ptr, pack_len); - if (key_part->null_bit) - { - DBUG_PRINT("info", ("Generating ISNULL filter")); - if (filter.isnull(key_part->fieldnr-1) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating EQ filter")); - if (filter.cmp(NdbScanFilter::COND_EQ, - key_part->fieldnr-1, - ptr, - pack_len) == -1) - DBUG_RETURN(1); - } - key += key_part->store_length; - } - // Add any pushed condition - if (m_cond_stack && - (res= generate_scan_filter_from_cond(m_cond_stack, filter))) - DBUG_RETURN(res); - - if (filter.end() == -1) - DBUG_RETURN(1); - - DBUG_RETURN(0); -} - int ndbcluster_show_status(THD* thd) { @@ -8422,4 +7030,50 @@ ndbcluster_show_status(THD* thd) DBUG_RETURN(FALSE); } +/* + Condition pushdown +*/ +/* + Push a condition to ndbcluster storage engine for evaluation + during table and index scans. The conditions will be stored on a stack + for possibly storing several conditions. The stack can be popped + by calling cond_pop, handler::extra(HA_EXTRA_RESET) (handler::reset()) + will clear the stack. + The current implementation supports arbitrary AND/OR nested conditions + with comparisons between columns and constants (including constant + expressions and function calls) and the following comparison operators: + =, !=, >, >=, <, <=, "is null", and "is not null". + + RETURN + NULL The condition was supported and will be evaluated for each + row found during the scan + cond The condition was not supported and all rows will be returned from + the scan for evaluation (and thus not saved on stack) +*/ +const +COND* +ha_ndbcluster::cond_push(const COND *cond) +{ + DBUG_ENTER("cond_push"); + if (!m_cond) + m_cond= new ha_ndbcluster_cond; + if (!m_cond) + { + my_errno= HA_ERR_OUT_OF_MEM; + DBUG_RETURN(NULL); + } + DBUG_EXECUTE("where",print_where((COND *)cond, m_tabname);); + DBUG_RETURN(m_cond->cond_push(cond, table, (NDBTAB *)m_table)); +} + +/* + Pop the top condition from the condition stack of the handler instance. +*/ +void +ha_ndbcluster::cond_pop() +{ + if (m_cond) + m_cond->cond_pop(); +} + #endif /* HAVE_NDBCLUSTER_DB */ diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index 3495f35e10f..3904d3da416 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -27,15 +27,15 @@ #include #define NDB_HIDDEN_PRIMARY_KEY_LENGTH 8 - -class Ndb; // Forward declaration -class NdbOperation; // Forward declaration -class NdbTransaction; // Forward declaration -class NdbRecAttr; // Forward declaration +/* Forward declarations */ +class Ndb; +class NdbOperation; +class NdbTransaction; +class NdbRecAttr; class NdbScanOperation; -class NdbScanFilter; class NdbIndexScanOperation; class NdbBlob; +class ha_ndbcluster_cond; // connectstring to cluster if given by mysqld extern const char *ndbcluster_connectstring; @@ -67,417 +67,6 @@ typedef struct st_ndbcluster_share { ulonglong commit_count; } NDB_SHARE; -typedef enum ndb_item_type { - NDB_VALUE = 0, // Qualified more with Item::Type - NDB_FIELD = 1, // Qualified from table definition - NDB_FUNCTION = 2,// Qualified from Item_func::Functype - NDB_END_COND = 3 // End marker for condition group -} NDB_ITEM_TYPE; - -typedef enum ndb_func_type { - NDB_EQ_FUNC = 0, - NDB_NE_FUNC = 1, - NDB_LT_FUNC = 2, - NDB_LE_FUNC = 3, - NDB_GT_FUNC = 4, - NDB_GE_FUNC = 5, - NDB_ISNULL_FUNC = 6, - NDB_ISNOTNULL_FUNC = 7, - NDB_LIKE_FUNC = 8, - NDB_NOTLIKE_FUNC = 9, - NDB_NOT_FUNC = 10, - NDB_UNKNOWN_FUNC = 11, - NDB_COND_AND_FUNC = 12, - NDB_COND_OR_FUNC = 13, - NDB_UNSUPPORTED_FUNC = 14 -} NDB_FUNC_TYPE; - -typedef union ndb_item_qualification { - Item::Type value_type; - enum_field_types field_type; // Instead of Item::FIELD_ITEM - NDB_FUNC_TYPE function_type; // Instead of Item::FUNC_ITEM -} NDB_ITEM_QUALIFICATION; - -typedef struct ndb_item_field_value { - Field* field; - int column_no; -} NDB_ITEM_FIELD_VALUE; - -typedef union ndb_item_value { - const Item *item; - NDB_ITEM_FIELD_VALUE *field_value; - uint arg_count; -} NDB_ITEM_VALUE; - -struct negated_function_mapping -{ - NDB_FUNC_TYPE pos_fun; - NDB_FUNC_TYPE neg_fun; -}; - -/* - Define what functions can be negated in condition pushdown. - Note, these HAVE to be in the same order as in definition enum -*/ -static const negated_function_mapping neg_map[]= -{ - {NDB_EQ_FUNC, NDB_NE_FUNC}, - {NDB_NE_FUNC, NDB_EQ_FUNC}, - {NDB_LT_FUNC, NDB_GE_FUNC}, - {NDB_LE_FUNC, NDB_GT_FUNC}, - {NDB_GT_FUNC, NDB_LE_FUNC}, - {NDB_GE_FUNC, NDB_LT_FUNC}, - {NDB_ISNULL_FUNC, NDB_ISNOTNULL_FUNC}, - {NDB_ISNOTNULL_FUNC, NDB_ISNULL_FUNC}, - {NDB_LIKE_FUNC, NDB_NOTLIKE_FUNC}, - {NDB_NOTLIKE_FUNC, NDB_LIKE_FUNC}, - {NDB_NOT_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_UNKNOWN_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_COND_AND_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_COND_OR_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_UNSUPPORTED_FUNC, NDB_UNSUPPORTED_FUNC} -}; - -/* - This class is the construction element for serialization of Item tree - in condition pushdown. - An instance of Ndb_Item represents a constant, table field reference, - unary or binary comparison predicate, and start/end of AND/OR. - Instances of Ndb_Item are stored in a linked list implemented by Ndb_cond - class. - The order of elements produced by Ndb_cond::next corresponds to - breadth-first traversal of the Item (i.e. expression) tree in prefix order. - AND and OR have arbitrary arity, so the end of AND/OR group is marked with - Ndb_item with type == NDB_END_COND. - NOT items represent negated conditions and generate NAND/NOR groups. -*/ -class Ndb_item { - public: - Ndb_item(NDB_ITEM_TYPE item_type) : type(item_type) {}; - Ndb_item(NDB_ITEM_TYPE item_type, - NDB_ITEM_QUALIFICATION item_qualification, - const Item *item_value) - : type(item_type), qualification(item_qualification) - { - switch(item_type) { - case(NDB_VALUE): - value.item= item_value; - break; - case(NDB_FIELD): { - NDB_ITEM_FIELD_VALUE *field_value= new NDB_ITEM_FIELD_VALUE(); - Item_field *field_item= (Item_field *) item_value; - field_value->field= field_item->field; - field_value->column_no= -1; // Will be fetched at scan filter generation - value.field_value= field_value; - break; - } - case(NDB_FUNCTION): - value.item= item_value; - value.arg_count= ((Item_func *) item_value)->argument_count(); - break; - case(NDB_END_COND): - break; - } - }; - Ndb_item(Field *field, int column_no) : type(NDB_FIELD) - { - NDB_ITEM_FIELD_VALUE *field_value= new NDB_ITEM_FIELD_VALUE(); - qualification.field_type= field->type(); - field_value->field= field; - field_value->column_no= column_no; - value.field_value= field_value; - }; - Ndb_item(Item_func::Functype func_type, const Item *item_value) - : type(NDB_FUNCTION) - { - qualification.function_type= item_func_to_ndb_func(func_type); - value.item= item_value; - value.arg_count= ((Item_func *) item_value)->argument_count(); - }; - Ndb_item(Item_func::Functype func_type, uint no_args) - : type(NDB_FUNCTION) - { - qualification.function_type= item_func_to_ndb_func(func_type); - value.arg_count= no_args; - }; - ~Ndb_item() - { - if (type == NDB_FIELD) - { - delete value.field_value; - value.field_value= NULL; - } - }; - - uint32 pack_length() - { - switch(type) { - case(NDB_VALUE): - if(qualification.value_type == Item::STRING_ITEM) - return value.item->str_value.length(); - break; - case(NDB_FIELD): - return value.field_value->field->pack_length(); - default: - break; - } - - return 0; - }; - - Field * get_field() { return value.field_value->field; }; - - int get_field_no() { return value.field_value->column_no; }; - - int argument_count() - { - return value.arg_count; - }; - - const char* get_val() - { - switch(type) { - case(NDB_VALUE): - if(qualification.value_type == Item::STRING_ITEM) - return value.item->str_value.ptr(); - break; - case(NDB_FIELD): - return value.field_value->field->ptr; - default: - break; - } - - return NULL; - }; - - void save_in_field(Ndb_item *field_item) - { - Field *field = field_item->value.field_value->field; - const Item *item= value.item; - - if (item && field) - ((Item *)item)->save_in_field(field, false); - }; - - static NDB_FUNC_TYPE item_func_to_ndb_func(Item_func::Functype fun) - { - switch (fun) { - case (Item_func::EQ_FUNC): { return NDB_EQ_FUNC; } - case (Item_func::NE_FUNC): { return NDB_NE_FUNC; } - case (Item_func::LT_FUNC): { return NDB_LT_FUNC; } - case (Item_func::LE_FUNC): { return NDB_LE_FUNC; } - case (Item_func::GT_FUNC): { return NDB_GT_FUNC; } - case (Item_func::GE_FUNC): { return NDB_GE_FUNC; } - case (Item_func::ISNULL_FUNC): { return NDB_ISNULL_FUNC; } - case (Item_func::ISNOTNULL_FUNC): { return NDB_ISNOTNULL_FUNC; } - case (Item_func::LIKE_FUNC): { return NDB_LIKE_FUNC; } - case (Item_func::NOT_FUNC): { return NDB_NOT_FUNC; } - case (Item_func::UNKNOWN_FUNC): { return NDB_UNKNOWN_FUNC; } - case (Item_func::COND_AND_FUNC): { return NDB_COND_AND_FUNC; } - case (Item_func::COND_OR_FUNC): { return NDB_COND_OR_FUNC; } - default: { return NDB_UNSUPPORTED_FUNC; } - } - }; - - static NDB_FUNC_TYPE negate(NDB_FUNC_TYPE fun) - { - uint i= (uint) fun; - DBUG_ASSERT(fun == neg_map[i].pos_fun); - return neg_map[i].neg_fun; - }; - - NDB_ITEM_TYPE type; - NDB_ITEM_QUALIFICATION qualification; - private: - NDB_ITEM_VALUE value; -}; - -/* - This class implements a linked list used for storing a - serialization of the Item tree for condition pushdown. - */ -class Ndb_cond -{ - public: - Ndb_cond() : ndb_item(NULL), next(NULL), prev(NULL) {}; - ~Ndb_cond() - { - if (ndb_item) delete ndb_item; - ndb_item= NULL; - if (next) delete next; - next= prev= NULL; - }; - Ndb_item *ndb_item; - Ndb_cond *next; - Ndb_cond *prev; -}; - -/* - This class implements a stack for storing several conditions - for pushdown (represented as serialized Item trees using Ndb_cond). - The current implementation only pushes one condition, but is - prepared for handling several (C1 AND C2 ...) if the logic for - pushing conditions is extended in sql_select. -*/ -class Ndb_cond_stack -{ - public: - Ndb_cond_stack() : ndb_cond(NULL), next(NULL) {}; - ~Ndb_cond_stack() - { - if (ndb_cond) delete ndb_cond; - ndb_cond= NULL; - if (next) delete next; - next= NULL; - }; - Ndb_cond *ndb_cond; - Ndb_cond_stack *next; -}; - -class Ndb_rewrite_context -{ -public: - Ndb_rewrite_context(Item_func *func) - : func_item(func), left_hand_item(NULL), count(0) {}; - ~Ndb_rewrite_context() - { - if (next) delete next; - } - const Item_func *func_item; - const Item *left_hand_item; - uint count; - Ndb_rewrite_context *next; -}; - -/* - This class is used for storing the context when traversing - the Item tree. It stores a reference to the table the condition - is defined on, the serialized representation being generated, - if the condition found is supported, and information what is - expected next in the tree inorder for the condition to be supported. -*/ -class Ndb_cond_traverse_context -{ - public: - Ndb_cond_traverse_context(TABLE *tab, void* ndb_tab, Ndb_cond_stack* stack) - : table(tab), ndb_table(ndb_tab), - supported(TRUE), stack_ptr(stack), cond_ptr(NULL), - skip(0), collation(NULL), rewrite_stack(NULL) - { - // Allocate type checking bitmaps - bitmap_init(&expect_mask, 0, 512, FALSE); - bitmap_init(&expect_field_type_mask, 0, 512, FALSE); - bitmap_init(&expect_field_result_mask, 0, 512, FALSE); - - if (stack) - cond_ptr= stack->ndb_cond; - }; - ~Ndb_cond_traverse_context() - { - bitmap_free(&expect_mask); - bitmap_free(&expect_field_type_mask); - bitmap_free(&expect_field_result_mask); - if (rewrite_stack) delete rewrite_stack; - } - void expect(Item::Type type) - { - bitmap_set_bit(&expect_mask, (uint) type); - if (type == Item::FIELD_ITEM) expect_all_field_types(); - }; - void dont_expect(Item::Type type) - { - bitmap_clear_bit(&expect_mask, (uint) type); - }; - bool expecting(Item::Type type) - { - return bitmap_is_set(&expect_mask, (uint) type); - }; - void expect_nothing() - { - bitmap_clear_all(&expect_mask); - }; - bool expecting_nothing() - { - return bitmap_is_clear_all(&expect_mask); - } - void expect_only(Item::Type type) - { - expect_nothing(); - expect(type); - }; - - void expect_field_type(enum_field_types type) - { - bitmap_set_bit(&expect_field_type_mask, (uint) type); - }; - void expect_all_field_types() - { - bitmap_set_all(&expect_field_type_mask); - }; - bool expecting_field_type(enum_field_types type) - { - return bitmap_is_set(&expect_field_type_mask, (uint) type); - }; - void expect_no_field_type() - { - bitmap_clear_all(&expect_field_type_mask); - }; - bool expecting_no_field_type() - { - return bitmap_is_clear_all(&expect_field_type_mask); - } - void expect_only_field_type(enum_field_types result) - { - expect_no_field_type(); - expect_field_type(result); - }; - - void expect_field_result(Item_result result) - { - bitmap_set_bit(&expect_field_result_mask, (uint) result); - }; - bool expecting_field_result(Item_result result) - { - return bitmap_is_set(&expect_field_result_mask, (uint) result); - }; - void expect_no_field_result() - { - bitmap_clear_all(&expect_field_result_mask); - }; - bool expecting_no_field_result() - { - return bitmap_is_clear_all(&expect_field_result_mask); - } - void expect_only_field_result(Item_result result) - { - expect_no_field_result(); - expect_field_result(result); - }; - void expect_collation(CHARSET_INFO* col) - { - collation= col; - }; - bool expecting_collation(CHARSET_INFO* col) - { - bool matching= (!collation) ? true : (collation == col); - collation= NULL; - - return matching; - }; - - TABLE* table; - void* ndb_table; - bool supported; - Ndb_cond_stack* stack_ptr; - Ndb_cond* cond_ptr; - MY_BITMAP expect_mask; - MY_BITMAP expect_field_type_mask; - MY_BITMAP expect_field_result_mask; - uint skip; - CHARSET_INFO* collation; - Ndb_rewrite_context *rewrite_stack; -}; - typedef enum ndb_query_state_bits { NDB_QUERY_NORMAL = 0, NDB_QUERY_MULTI_READ_RANGE = 1 @@ -721,27 +310,6 @@ bool uses_blob_value(bool all_fields); void no_uncommitted_rows_init(THD *); void no_uncommitted_rows_reset(THD *); - /* - Condition pushdown - */ - void cond_clear(); - bool serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond); - int build_scan_filter_predicate(Ndb_cond* &cond, - NdbScanFilter* filter, - bool negated= false); - int build_scan_filter_group(Ndb_cond* &cond, - NdbScanFilter* filter); - int build_scan_filter(Ndb_cond* &cond, NdbScanFilter* filter); - int generate_scan_filter(Ndb_cond_stack* cond_stack, - NdbScanOperation* op); - int generate_scan_filter_from_cond(Ndb_cond_stack* cond_stack, - NdbScanFilter& filter); - int generate_scan_filter_from_key(NdbScanOperation* op, - const KEY* key_info, - const byte *key, - uint key_len, - byte *buf); - friend int execute_commit(ha_ndbcluster*, NdbTransaction*); friend int execute_no_commit(ha_ndbcluster*, NdbTransaction*, bool); friend int execute_no_commit_ie(ha_ndbcluster*, NdbTransaction*, bool); @@ -791,7 +359,7 @@ bool uses_blob_value(bool all_fields); bool m_transaction_on; void release_completed_operations(NdbTransaction*, bool); - Ndb_cond_stack *m_cond_stack; + ha_ndbcluster_cond *m_cond; bool m_disable_multi_read; byte *m_multi_range_result_ptr; KEY_MULTI_RANGE *m_multi_ranges; diff --git a/sql/ha_ndbcluster_cond.cc b/sql/ha_ndbcluster_cond.cc new file mode 100644 index 00000000000..a284bc13308 --- /dev/null +++ b/sql/ha_ndbcluster_cond.cc @@ -0,0 +1,1427 @@ +/* Copyright (C) 2000-2003 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* + This file defines the NDB Cluster handler: the interface between MySQL and + NDB Cluster +*/ + +#ifdef USE_PRAGMA_IMPLEMENTATION +#pragma implementation // gcc: Class implementation +#endif + +#include "mysql_priv.h" + +#ifdef HAVE_NDBCLUSTER_DB +#include +#include "ha_ndbcluster_cond.h" + +// Typedefs for long names +typedef NdbDictionary::Column NDBCOL; +typedef NdbDictionary::Table NDBTAB; + +/* + Serialize the item tree into a linked list represented by Ndb_cond + for fast generation of NbdScanFilter. Adds information such as + position of fields that is not directly available in the Item tree. + Also checks if condition is supported. +*/ +void ndb_serialize_cond(const Item *item, void *arg) +{ + Ndb_cond_traverse_context *context= (Ndb_cond_traverse_context *) arg; + DBUG_ENTER("ndb_serialize_cond"); + + // Check if we are skipping arguments to a function to be evaluated + if (context->skip) + { + DBUG_PRINT("info", ("Skiping argument %d", context->skip)); + context->skip--; + switch (item->type()) { + case Item::FUNC_ITEM: + { + Item_func *func_item= (Item_func *) item; + context->skip+= func_item->argument_count(); + break; + } + case Item::INT_ITEM: + case Item::REAL_ITEM: + case Item::STRING_ITEM: + case Item::VARBIN_ITEM: + case Item::DECIMAL_ITEM: + break; + default: + context->supported= FALSE; + break; + } + + DBUG_VOID_RETURN; + } + + if (context->supported) + { + Ndb_rewrite_context *rewrite_context2= context->rewrite_stack; + const Item_func *rewrite_func_item; + // Check if we are rewriting some unsupported function call + if (rewrite_context2 && + (rewrite_func_item= rewrite_context2->func_item) && + rewrite_context2->count++ == 0) + { + switch (rewrite_func_item->functype()) { + case Item_func::BETWEEN: + /* + Rewrite + | BETWEEN | AND | + to | > | AND + | < | + or actually in prefix format + BEGIN(AND) GT(|, |), + LT(|, |), END() + */ + case Item_func::IN_FUNC: + { + /* + Rewrite | IN(|, |,..) + to | = | OR + = | ... + or actually in prefix format + BEGIN(OR) EQ(|, ), + EQ(|, |), ... END() + Each part of the disjunction is added for each call + to ndb_serialize_cond and end of rewrite statement + is wrapped in end of ndb_serialize_cond + */ + if (context->expecting(item->type())) + { + // This is the | item, save it in the rewrite context + rewrite_context2->left_hand_item= item; + if (item->type() == Item::FUNC_ITEM) + { + Item_func *func_item= (Item_func *) item; + if (func_item->functype() == Item_func::UNKNOWN_FUNC && + func_item->const_item()) + { + // Skip any arguments since we will evaluate function instead + DBUG_PRINT("info", ("Skip until end of arguments marker")); + context->skip= func_item->argument_count(); + } + else + { + DBUG_PRINT("info", ("Found unsupported functional expression in BETWEEN|IN")); + context->supported= FALSE; + DBUG_VOID_RETURN; + + } + } + } + else + { + // Non-supported BETWEEN|IN expression + DBUG_PRINT("info", ("Found unexpected item of type %u in BETWEEN|IN", + item->type())); + context->supported= FALSE; + DBUG_VOID_RETURN; + } + break; + } + default: + context->supported= FALSE; + break; + } + DBUG_VOID_RETURN; + } + else + { + Ndb_cond_stack *ndb_stack= context->stack_ptr; + Ndb_cond *prev_cond= context->cond_ptr; + Ndb_cond *curr_cond= context->cond_ptr= new Ndb_cond(); + if (!ndb_stack->ndb_cond) + ndb_stack->ndb_cond= curr_cond; + curr_cond->prev= prev_cond; + if (prev_cond) prev_cond->next= curr_cond; + // Check if we are rewriting some unsupported function call + if (context->rewrite_stack) + { + Ndb_rewrite_context *rewrite_context= context->rewrite_stack; + const Item_func *func_item= rewrite_context->func_item; + switch (func_item->functype()) { + case Item_func::BETWEEN: + { + /* + Rewrite + | BETWEEN | AND | + to | > | AND + | < | + or actually in prefix format + BEGIN(AND) GT(|, |), + LT(|, |), END() + */ + if (rewrite_context->count == 2) + { + // Lower limit of BETWEEN + DBUG_PRINT("info", ("GE_FUNC")); + curr_cond->ndb_item= new Ndb_item(Item_func::GE_FUNC, 2); + } + else if (rewrite_context->count == 3) + { + // Upper limit of BETWEEN + DBUG_PRINT("info", ("LE_FUNC")); + curr_cond->ndb_item= new Ndb_item(Item_func::LE_FUNC, 2); + } + else + { + // Illegal BETWEEN expression + DBUG_PRINT("info", ("Illegal BETWEEN expression")); + context->supported= FALSE; + DBUG_VOID_RETURN; + } + break; + } + case Item_func::IN_FUNC: + { + /* + Rewrite | IN(|, |,..) + to | = | OR + = | ... + or actually in prefix format + BEGIN(OR) EQ(|, ), + EQ(|, |), ... END() + Each part of the disjunction is added for each call + to ndb_serialize_cond and end of rewrite statement + is wrapped in end of ndb_serialize_cond + */ + DBUG_PRINT("info", ("EQ_FUNC")); + curr_cond->ndb_item= new Ndb_item(Item_func::EQ_FUNC, 2); + break; + } + default: + context->supported= FALSE; + } + // Handle left hand | + context->rewrite_stack= NULL; // Disable rewrite mode + context->expect_only(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + context->expect(Item::INT_ITEM); + context->expect(Item::STRING_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FUNC_ITEM); + ndb_serialize_cond(rewrite_context->left_hand_item, arg); + context->skip= 0; // Any FUNC_ITEM expression has already been parsed + context->rewrite_stack= rewrite_context; // Enable rewrite mode + if (!context->supported) + DBUG_VOID_RETURN; + + prev_cond= context->cond_ptr; + curr_cond= context->cond_ptr= new Ndb_cond(); + prev_cond->next= curr_cond; + } + + // Check for end of AND/OR expression + if (!item) + { + // End marker for condition group + DBUG_PRINT("info", ("End of condition group")); + curr_cond->ndb_item= new Ndb_item(NDB_END_COND); + } + else + { + switch (item->type()) { + case Item::FIELD_ITEM: + { + Item_field *field_item= (Item_field *) item; + Field *field= field_item->field; + enum_field_types type= field->type(); + /* + Check that the field is part of the table of the handler + instance and that we expect a field with of this result type. + */ + if (context->table->s == field->table->s) + { + const NDBTAB *tab= (const NDBTAB *) context->ndb_table; + DBUG_PRINT("info", ("FIELD_ITEM")); + DBUG_PRINT("info", ("table %s", tab->getName())); + DBUG_PRINT("info", ("column %s", field->field_name)); + DBUG_PRINT("info", ("type %d", field->type())); + DBUG_PRINT("info", ("result type %d", field->result_type())); + + // Check that we are expecting a field and with the correct + // result type + if (context->expecting(Item::FIELD_ITEM) && + context->expecting_field_type(field->type()) && + (context->expecting_field_result(field->result_type()) || + // Date and year can be written as string or int + ((type == MYSQL_TYPE_TIME || + type == MYSQL_TYPE_DATE || + type == MYSQL_TYPE_YEAR || + type == MYSQL_TYPE_DATETIME) + ? (context->expecting_field_result(STRING_RESULT) || + context->expecting_field_result(INT_RESULT)) + : true)) && + // Bit fields no yet supported in scan filter + type != MYSQL_TYPE_BIT && + // No BLOB support in scan filter + type != MYSQL_TYPE_TINY_BLOB && + type != MYSQL_TYPE_MEDIUM_BLOB && + type != MYSQL_TYPE_LONG_BLOB && + type != MYSQL_TYPE_BLOB) + { + const NDBCOL *col= tab->getColumn(field->field_name); + DBUG_ASSERT(col); + curr_cond->ndb_item= new Ndb_item(field, col->getColumnNo()); + context->dont_expect(Item::FIELD_ITEM); + context->expect_no_field_result(); + if (! context->expecting_nothing()) + { + // We have not seen second argument yet + if (type == MYSQL_TYPE_TIME || + type == MYSQL_TYPE_DATE || + type == MYSQL_TYPE_YEAR || + type == MYSQL_TYPE_DATETIME) + { + context->expect_only(Item::STRING_ITEM); + context->expect(Item::INT_ITEM); + } + else + switch (field->result_type()) { + case STRING_RESULT: + // Expect char string or binary string + context->expect_only(Item::STRING_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect_collation(field_item->collation.collation); + break; + case REAL_RESULT: + context->expect_only(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::INT_ITEM); + break; + case INT_RESULT: + context->expect_only(Item::INT_ITEM); + context->expect(Item::VARBIN_ITEM); + break; + case DECIMAL_RESULT: + context->expect_only(Item::DECIMAL_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::INT_ITEM); + break; + default: + break; + } + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + // Check that field and string constant collations are the same + if ((field->result_type() == STRING_RESULT) && + !context->expecting_collation(item->collation.collation) + && type != MYSQL_TYPE_TIME + && type != MYSQL_TYPE_DATE + && type != MYSQL_TYPE_YEAR + && type != MYSQL_TYPE_DATETIME) + { + DBUG_PRINT("info", ("Found non-matching collation %s", + item->collation.collation->name)); + context->supported= FALSE; + } + } + break; + } + else + { + DBUG_PRINT("info", ("Was not expecting field of type %u(%u)", + field->result_type(), type)); + context->supported= FALSE; + } + } + else + { + DBUG_PRINT("info", ("Was not expecting field from table %s(%s)", + context->table->s->table_name, + field->table->s->table_name)); + context->supported= FALSE; + } + break; + } + case Item::FUNC_ITEM: + { + Item_func *func_item= (Item_func *) item; + // Check that we expect a function or functional expression here + if (context->expecting(Item::FUNC_ITEM) || + func_item->functype() == Item_func::UNKNOWN_FUNC) + context->expect_nothing(); + else + { + // Did not expect function here + context->supported= FALSE; + break; + } + + switch (func_item->functype()) { + case Item_func::EQ_FUNC: + { + DBUG_PRINT("info", ("EQ_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::NE_FUNC: + { + DBUG_PRINT("info", ("NE_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::LT_FUNC: + { + DBUG_PRINT("info", ("LT_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::LE_FUNC: + { + DBUG_PRINT("info", ("LE_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::GE_FUNC: + { + DBUG_PRINT("info", ("GE_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::GT_FUNC: + { + DBUG_PRINT("info", ("GT_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::REAL_ITEM); + context->expect(Item::DECIMAL_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::LIKE_FUNC: + { + DBUG_PRINT("info", ("LIKE_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::STRING_ITEM); + context->expect(Item::FIELD_ITEM); + context->expect_only_field_type(MYSQL_TYPE_STRING); + context->expect_field_type(MYSQL_TYPE_VAR_STRING); + context->expect_field_type(MYSQL_TYPE_VARCHAR); + context->expect_field_result(STRING_RESULT); + context->expect(Item::FUNC_ITEM); + break; + } + case Item_func::ISNULL_FUNC: + { + DBUG_PRINT("info", ("ISNULL_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::ISNOTNULL_FUNC: + { + DBUG_PRINT("info", ("ISNOTNULL_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::FIELD_ITEM); + context->expect_field_result(STRING_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(INT_RESULT); + context->expect_field_result(DECIMAL_RESULT); + break; + } + case Item_func::NOT_FUNC: + { + DBUG_PRINT("info", ("NOT_FUNC")); + curr_cond->ndb_item= new Ndb_item(func_item->functype(), + func_item); + context->expect(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + break; + } + case Item_func::BETWEEN: + { + DBUG_PRINT("info", ("BETWEEN, rewriting using AND")); + Item_func_between *between_func= (Item_func_between *) func_item; + Ndb_rewrite_context *rewrite_context= + new Ndb_rewrite_context(func_item); + rewrite_context->next= context->rewrite_stack; + context->rewrite_stack= rewrite_context; + if (between_func->negated) + { + DBUG_PRINT("info", ("NOT_FUNC")); + curr_cond->ndb_item= new Ndb_item(Item_func::NOT_FUNC, 1); + prev_cond= curr_cond; + curr_cond= context->cond_ptr= new Ndb_cond(); + curr_cond->prev= prev_cond; + prev_cond->next= curr_cond; + } + DBUG_PRINT("info", ("COND_AND_FUNC")); + curr_cond->ndb_item= + new Ndb_item(Item_func::COND_AND_FUNC, + func_item->argument_count() - 1); + context->expect_only(Item::FIELD_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::STRING_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FUNC_ITEM); + break; + } + case Item_func::IN_FUNC: + { + DBUG_PRINT("info", ("IN_FUNC, rewriting using OR")); + Item_func_in *in_func= (Item_func_in *) func_item; + Ndb_rewrite_context *rewrite_context= + new Ndb_rewrite_context(func_item); + rewrite_context->next= context->rewrite_stack; + context->rewrite_stack= rewrite_context; + if (in_func->negated) + { + DBUG_PRINT("info", ("NOT_FUNC")); + curr_cond->ndb_item= new Ndb_item(Item_func::NOT_FUNC, 1); + prev_cond= curr_cond; + curr_cond= context->cond_ptr= new Ndb_cond(); + curr_cond->prev= prev_cond; + prev_cond->next= curr_cond; + } + DBUG_PRINT("info", ("COND_OR_FUNC")); + curr_cond->ndb_item= new Ndb_item(Item_func::COND_OR_FUNC, + func_item->argument_count() - 1); + context->expect_only(Item::FIELD_ITEM); + context->expect(Item::INT_ITEM); + context->expect(Item::STRING_ITEM); + context->expect(Item::VARBIN_ITEM); + context->expect(Item::FUNC_ITEM); + break; + } + case Item_func::UNKNOWN_FUNC: + { + DBUG_PRINT("info", ("UNKNOWN_FUNC %s", + func_item->const_item()?"const":"")); + DBUG_PRINT("info", ("result type %d", func_item->result_type())); + if (func_item->const_item()) + { + switch (func_item->result_type()) { + case STRING_RESULT: + { + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::STRING_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(STRING_RESULT); + context->expect_collation(func_item->collation.collation); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + // Check that string result have correct collation + if (!context->expecting_collation(item->collation.collation)) + { + DBUG_PRINT("info", ("Found non-matching collation %s", + item->collation.collation->name)); + context->supported= FALSE; + } + } + // Skip any arguments since we will evaluate function instead + DBUG_PRINT("info", ("Skip until end of arguments marker")); + context->skip= func_item->argument_count(); + break; + } + case REAL_RESULT: + { + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::REAL_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(REAL_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + + // Skip any arguments since we will evaluate function instead + DBUG_PRINT("info", ("Skip until end of arguments marker")); + context->skip= func_item->argument_count(); + break; + } + case INT_RESULT: + { + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::INT_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(INT_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + + // Skip any arguments since we will evaluate function instead + DBUG_PRINT("info", ("Skip until end of arguments marker")); + context->skip= func_item->argument_count(); + break; + } + case DECIMAL_RESULT: + { + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::DECIMAL_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(DECIMAL_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + // Skip any arguments since we will evaluate function instead + DBUG_PRINT("info", ("Skip until end of arguments marker")); + context->skip= func_item->argument_count(); + break; + } + default: + break; + } + } + else + // Function does not return constant expression + context->supported= FALSE; + break; + } + default: + { + DBUG_PRINT("info", ("Found func_item of type %d", + func_item->functype())); + context->supported= FALSE; + } + } + break; + } + case Item::STRING_ITEM: + DBUG_PRINT("info", ("STRING_ITEM")); + if (context->expecting(Item::STRING_ITEM)) + { +#ifndef DBUG_OFF + char buff[256]; + String str(buff,(uint32) sizeof(buff), system_charset_info); + str.length(0); + Item_string *string_item= (Item_string *) item; + DBUG_PRINT("info", ("value \"%s\"", + string_item->val_str(&str)->ptr())); +#endif + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::STRING_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(STRING_RESULT); + context->expect_collation(item->collation.collation); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + // Check that we are comparing with a field with same collation + if (!context->expecting_collation(item->collation.collation)) + { + DBUG_PRINT("info", ("Found non-matching collation %s", + item->collation.collation->name)); + context->supported= FALSE; + } + } + } + else + context->supported= FALSE; + break; + case Item::INT_ITEM: + DBUG_PRINT("info", ("INT_ITEM")); + if (context->expecting(Item::INT_ITEM)) + { + DBUG_PRINT("info", ("value %ld", + (long) ((Item_int*) item)->value)); + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::INT_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(INT_RESULT); + context->expect_field_result(REAL_RESULT); + context->expect_field_result(DECIMAL_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + } + else + context->supported= FALSE; + break; + case Item::REAL_ITEM: + DBUG_PRINT("info", ("REAL_ITEM")); + if (context->expecting(Item::REAL_ITEM)) + { + DBUG_PRINT("info", ("value %f", ((Item_float *) item)->value)); + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::REAL_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(REAL_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + } + else + context->supported= FALSE; + break; + case Item::VARBIN_ITEM: + DBUG_PRINT("info", ("VARBIN_ITEM")); + if (context->expecting(Item::VARBIN_ITEM)) + { + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::VARBIN_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(STRING_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + } + else + context->supported= FALSE; + break; + case Item::DECIMAL_ITEM: + DBUG_PRINT("info", ("DECIMAL_ITEM")); + if (context->expecting(Item::DECIMAL_ITEM)) + { + DBUG_PRINT("info", ("value %f", + ((Item_decimal*) item)->val_real())); + NDB_ITEM_QUALIFICATION q; + q.value_type= Item::DECIMAL_ITEM; + curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); + if (! context->expecting_no_field_result()) + { + // We have not seen the field argument yet + context->expect_only(Item::FIELD_ITEM); + context->expect_only_field_result(REAL_RESULT); + context->expect_field_result(DECIMAL_RESULT); + } + else + { + // Expect another logical expression + context->expect_only(Item::FUNC_ITEM); + context->expect(Item::COND_ITEM); + } + } + else + context->supported= FALSE; + break; + case Item::COND_ITEM: + { + Item_cond *cond_item= (Item_cond *) item; + + if (context->expecting(Item::COND_ITEM)) + { + switch (cond_item->functype()) { + case Item_func::COND_AND_FUNC: + DBUG_PRINT("info", ("COND_AND_FUNC")); + curr_cond->ndb_item= new Ndb_item(cond_item->functype(), + cond_item); + break; + case Item_func::COND_OR_FUNC: + DBUG_PRINT("info", ("COND_OR_FUNC")); + curr_cond->ndb_item= new Ndb_item(cond_item->functype(), + cond_item); + break; + default: + DBUG_PRINT("info", ("COND_ITEM %d", cond_item->functype())); + context->supported= FALSE; + break; + } + } + else + { + /* Did not expect condition */ + context->supported= FALSE; + } + break; + } + default: + { + DBUG_PRINT("info", ("Found item of type %d", item->type())); + context->supported= FALSE; + } + } + } + if (context->supported && context->rewrite_stack) + { + Ndb_rewrite_context *rewrite_context= context->rewrite_stack; + if (rewrite_context->count == + rewrite_context->func_item->argument_count()) + { + // Rewrite is done, wrap an END() at the en + DBUG_PRINT("info", ("End of condition group")); + prev_cond= curr_cond; + curr_cond= context->cond_ptr= new Ndb_cond(); + curr_cond->prev= prev_cond; + prev_cond->next= curr_cond; + curr_cond->ndb_item= new Ndb_item(NDB_END_COND); + // Pop rewrite stack + context->rewrite_stack= rewrite_context->next; + rewrite_context->next= NULL; + delete(rewrite_context); + } + } + } + } + + DBUG_VOID_RETURN; +} + +/* + Push a condition + */ +const +COND* +ha_ndbcluster_cond::cond_push(const COND *cond, + TABLE *table, NDBTAB *ndb_table) +{ + DBUG_ENTER("cond_push"); + Ndb_cond_stack *ndb_cond = new Ndb_cond_stack(); + if (ndb_cond == NULL) + { + my_errno= HA_ERR_OUT_OF_MEM; + DBUG_RETURN(NULL); + } + if (m_cond_stack) + ndb_cond->next= m_cond_stack; + else + ndb_cond->next= NULL; + m_cond_stack= ndb_cond; + + if (serialize_cond(cond, ndb_cond, table, ndb_table)) + { + DBUG_RETURN(NULL); + } + else + { + cond_pop(); + } + DBUG_RETURN(cond); +} + +/* + Pop the top condition from the condition stack +*/ +void +ha_ndbcluster_cond::cond_pop() +{ + Ndb_cond_stack *ndb_cond_stack= m_cond_stack; + if (ndb_cond_stack) + { + m_cond_stack= ndb_cond_stack->next; + ndb_cond_stack->next= NULL; + delete ndb_cond_stack; + } +} + +/* + Clear the condition stack +*/ +void +ha_ndbcluster_cond::cond_clear() +{ + DBUG_ENTER("cond_clear"); + while (m_cond_stack) + cond_pop(); + + DBUG_VOID_RETURN; +} + +bool +ha_ndbcluster_cond::serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond, + TABLE *table, NDBTAB *ndb_table) +{ + DBUG_ENTER("serialize_cond"); + Item *item= (Item *) cond; + Ndb_cond_traverse_context context(table, (void *)ndb_table, + ndb_cond); + // Expect a logical expression + context.expect(Item::FUNC_ITEM); + context.expect(Item::COND_ITEM); + item->traverse_cond(&ndb_serialize_cond, (void *) &context, Item::PREFIX); + DBUG_PRINT("info", ("The pushed condition is %ssupported", (context.supported)?"":"not ")); + + DBUG_RETURN(context.supported); +} + +int +ha_ndbcluster_cond::build_scan_filter_predicate(Ndb_cond * &cond, + NdbScanFilter *filter, + bool negated) +{ + DBUG_ENTER("build_scan_filter_predicate"); + switch (cond->ndb_item->type) { + case NDB_FUNCTION: + { + if (!cond->next) + break; + Ndb_item *a= cond->next->ndb_item; + Ndb_item *b, *field, *value= NULL; + LINT_INIT(field); + + switch (cond->ndb_item->argument_count()) { + case 1: + field= + (a->type == NDB_FIELD)? a : NULL; + break; + case 2: + if (!cond->next->next) + break; + b= cond->next->next->ndb_item; + value= + (a->type == NDB_VALUE)? a + : (b->type == NDB_VALUE)? b + : NULL; + field= + (a->type == NDB_FIELD)? a + : (b->type == NDB_FIELD)? b + : NULL; + break; + default: + break; + } + switch ((negated) ? + Ndb_item::negate(cond->ndb_item->qualification.function_type) + : cond->ndb_item->qualification.function_type) { + case NDB_EQ_FUNC: + { + if (!value || !field) break; + // Save value in right format for the field type + value->save_in_field(field); + DBUG_PRINT("info", ("Generating EQ filter")); + if (filter->cmp(NdbScanFilter::COND_EQ, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_NE_FUNC: + { + if (!value || !field) break; + // Save value in right format for the field type + value->save_in_field(field); + DBUG_PRINT("info", ("Generating NE filter")); + if (filter->cmp(NdbScanFilter::COND_NE, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_LT_FUNC: + { + if (!value || !field) break; + // Save value in right format for the field type + value->save_in_field(field); + if (a == field) + { + DBUG_PRINT("info", ("Generating LT filter")); + if (filter->cmp(NdbScanFilter::COND_LT, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + else + { + DBUG_PRINT("info", ("Generating GT filter")); + if (filter->cmp(NdbScanFilter::COND_GT, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_LE_FUNC: + { + if (!value || !field) break; + // Save value in right format for the field type + value->save_in_field(field); + if (a == field) + { + DBUG_PRINT("info", ("Generating LE filter")); + if (filter->cmp(NdbScanFilter::COND_LE, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + else + { + DBUG_PRINT("info", ("Generating GE filter")); + if (filter->cmp(NdbScanFilter::COND_GE, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_GE_FUNC: + { + if (!value || !field) break; + // Save value in right format for the field type + value->save_in_field(field); + if (a == field) + { + DBUG_PRINT("info", ("Generating GE filter")); + if (filter->cmp(NdbScanFilter::COND_GE, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + else + { + DBUG_PRINT("info", ("Generating LE filter")); + if (filter->cmp(NdbScanFilter::COND_LE, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_GT_FUNC: + { + if (!value || !field) break; + // Save value in right format for the field type + value->save_in_field(field); + if (a == field) + { + DBUG_PRINT("info", ("Generating GT filter")); + if (filter->cmp(NdbScanFilter::COND_GT, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + else + { + DBUG_PRINT("info", ("Generating LT filter")); + if (filter->cmp(NdbScanFilter::COND_LT, + field->get_field_no(), + field->get_val(), + field->pack_length()) == -1) + DBUG_RETURN(1); + } + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_LIKE_FUNC: + { + if (!value || !field) break; + if ((value->qualification.value_type != Item::STRING_ITEM) && + (value->qualification.value_type != Item::VARBIN_ITEM)) + break; + // Save value in right format for the field type + value->save_in_field(field); + DBUG_PRINT("info", ("Generating LIKE filter: like(%d,%s,%d)", + field->get_field_no(), value->get_val(), + value->pack_length())); + if (filter->cmp(NdbScanFilter::COND_LIKE, + field->get_field_no(), + value->get_val(), + value->pack_length()) == -1) + DBUG_RETURN(1); + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_NOTLIKE_FUNC: + { + if (!value || !field) break; + if ((value->qualification.value_type != Item::STRING_ITEM) && + (value->qualification.value_type != Item::VARBIN_ITEM)) + break; + // Save value in right format for the field type + value->save_in_field(field); + DBUG_PRINT("info", ("Generating NOTLIKE filter: notlike(%d,%s,%d)", + field->get_field_no(), value->get_val(), + value->pack_length())); + if (filter->cmp(NdbScanFilter::COND_NOT_LIKE, + field->get_field_no(), + value->get_val(), + value->pack_length()) == -1) + DBUG_RETURN(1); + cond= cond->next->next->next; + DBUG_RETURN(0); + } + case NDB_ISNULL_FUNC: + if (!field) + break; + DBUG_PRINT("info", ("Generating ISNULL filter")); + if (filter->isnull(field->get_field_no()) == -1) + DBUG_RETURN(1); + cond= cond->next->next; + DBUG_RETURN(0); + case NDB_ISNOTNULL_FUNC: + { + if (!field) + break; + DBUG_PRINT("info", ("Generating ISNOTNULL filter")); + if (filter->isnotnull(field->get_field_no()) == -1) + DBUG_RETURN(1); + cond= cond->next->next; + DBUG_RETURN(0); + } + default: + break; + } + break; + } + default: + break; + } + DBUG_PRINT("info", ("Found illegal condition")); + DBUG_RETURN(1); +} + + +int +ha_ndbcluster_cond::build_scan_filter_group(Ndb_cond* &cond, + NdbScanFilter *filter) +{ + uint level=0; + bool negated= FALSE; + DBUG_ENTER("build_scan_filter_group"); + + do + { + if (!cond) + DBUG_RETURN(1); + switch (cond->ndb_item->type) { + case NDB_FUNCTION: + { + switch (cond->ndb_item->qualification.function_type) { + case NDB_COND_AND_FUNC: + { + level++; + DBUG_PRINT("info", ("Generating %s group %u", (negated)?"NAND":"AND", + level)); + if ((negated) ? filter->begin(NdbScanFilter::NAND) + : filter->begin(NdbScanFilter::AND) == -1) + DBUG_RETURN(1); + negated= FALSE; + cond= cond->next; + break; + } + case NDB_COND_OR_FUNC: + { + level++; + DBUG_PRINT("info", ("Generating %s group %u", (negated)?"NOR":"OR", + level)); + if ((negated) ? filter->begin(NdbScanFilter::NOR) + : filter->begin(NdbScanFilter::OR) == -1) + DBUG_RETURN(1); + negated= FALSE; + cond= cond->next; + break; + } + case NDB_NOT_FUNC: + { + DBUG_PRINT("info", ("Generating negated query")); + cond= cond->next; + negated= TRUE; + break; + } + default: + if (build_scan_filter_predicate(cond, filter, negated)) + DBUG_RETURN(1); + negated= FALSE; + break; + } + break; + } + case NDB_END_COND: + DBUG_PRINT("info", ("End of group %u", level)); + level--; + if (cond) cond= cond->next; + if (filter->end() == -1) + DBUG_RETURN(1); + if (!negated) + break; + // else fall through (NOT END is an illegal condition) + default: + { + DBUG_PRINT("info", ("Illegal scan filter")); + } + } + } while (level > 0 || negated); + + DBUG_RETURN(0); +} + + +int +ha_ndbcluster_cond::build_scan_filter(Ndb_cond * &cond, NdbScanFilter *filter) +{ + bool simple_cond= TRUE; + DBUG_ENTER("build_scan_filter"); + + switch (cond->ndb_item->type) { + case NDB_FUNCTION: + switch (cond->ndb_item->qualification.function_type) { + case NDB_COND_AND_FUNC: + case NDB_COND_OR_FUNC: + simple_cond= FALSE; + break; + default: + break; + } + break; + default: + break; + } + if (simple_cond && filter->begin() == -1) + DBUG_RETURN(1); + if (build_scan_filter_group(cond, filter)) + DBUG_RETURN(1); + if (simple_cond && filter->end() == -1) + DBUG_RETURN(1); + + DBUG_RETURN(0); +} + +int +ha_ndbcluster_cond::generate_scan_filter(NdbScanOperation *op) +{ + DBUG_ENTER("generate_scan_filter"); + + if (m_cond_stack) + { + NdbScanFilter filter(op); + + DBUG_RETURN(generate_scan_filter_from_cond(filter)); + } + else + { + DBUG_PRINT("info", ("Empty stack")); + } + + DBUG_RETURN(0); +} + + +int +ha_ndbcluster_cond::generate_scan_filter_from_cond(NdbScanFilter& filter) +{ + bool multiple_cond= FALSE; + DBUG_ENTER("generate_scan_filter_from_cond"); + + // Wrap an AND group around multiple conditions + if (m_cond_stack->next) + { + multiple_cond= TRUE; + if (filter.begin() == -1) + DBUG_RETURN(1); + } + for (Ndb_cond_stack *stack= m_cond_stack; + (stack); + stack= stack->next) + { + Ndb_cond *cond= stack->ndb_cond; + + if (build_scan_filter(cond, &filter)) + { + DBUG_PRINT("info", ("build_scan_filter failed")); + DBUG_RETURN(1); + } + } + if (multiple_cond && filter.end() == -1) + DBUG_RETURN(1); + + DBUG_RETURN(0); +} + + +int ha_ndbcluster_cond::generate_scan_filter_from_key(NdbScanOperation *op, + const KEY* key_info, + const byte *key, + uint key_len, + byte *buf) +{ + KEY_PART_INFO* key_part= key_info->key_part; + KEY_PART_INFO* end= key_part+key_info->key_parts; + NdbScanFilter filter(op); + int res; + DBUG_ENTER("generate_scan_filter_from_key"); + + filter.begin(NdbScanFilter::AND); + for (; key_part != end; key_part++) + { + Field* field= key_part->field; + uint32 pack_len= field->pack_length(); + const byte* ptr= key; + DBUG_PRINT("info", ("Filtering value for %s", field->field_name)); + DBUG_DUMP("key", (char*)ptr, pack_len); + if (key_part->null_bit) + { + DBUG_PRINT("info", ("Generating ISNULL filter")); + if (filter.isnull(key_part->fieldnr-1) == -1) + DBUG_RETURN(1); + } + else + { + DBUG_PRINT("info", ("Generating EQ filter")); + if (filter.cmp(NdbScanFilter::COND_EQ, + key_part->fieldnr-1, + ptr, + pack_len) == -1) + DBUG_RETURN(1); + } + key += key_part->store_length; + } + // Add any pushed condition + if (m_cond_stack && + (res= generate_scan_filter_from_cond(filter))) + DBUG_RETURN(res); + + if (filter.end() == -1) + DBUG_RETURN(1); + + DBUG_RETURN(0); +} + +#endif /* HAVE_NDBCLUSTER_DB */ diff --git a/sql/ha_ndbcluster_cond.h b/sql/ha_ndbcluster_cond.h new file mode 100644 index 00000000000..5afa817fade --- /dev/null +++ b/sql/ha_ndbcluster_cond.h @@ -0,0 +1,469 @@ +/* Copyright (C) 2000-2007 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +/* + This file defines the data structures used by engine condition pushdown in + the NDB Cluster handler +*/ + +#ifdef USE_PRAGMA_INTERFACE +#pragma interface /* gcc class implementation */ +#endif + +typedef enum ndb_item_type { + NDB_VALUE = 0, // Qualified more with Item::Type + NDB_FIELD = 1, // Qualified from table definition + NDB_FUNCTION = 2,// Qualified from Item_func::Functype + NDB_END_COND = 3 // End marker for condition group +} NDB_ITEM_TYPE; + +typedef enum ndb_func_type { + NDB_EQ_FUNC = 0, + NDB_NE_FUNC = 1, + NDB_LT_FUNC = 2, + NDB_LE_FUNC = 3, + NDB_GT_FUNC = 4, + NDB_GE_FUNC = 5, + NDB_ISNULL_FUNC = 6, + NDB_ISNOTNULL_FUNC = 7, + NDB_LIKE_FUNC = 8, + NDB_NOTLIKE_FUNC = 9, + NDB_NOT_FUNC = 10, + NDB_UNKNOWN_FUNC = 11, + NDB_COND_AND_FUNC = 12, + NDB_COND_OR_FUNC = 13, + NDB_UNSUPPORTED_FUNC = 14 +} NDB_FUNC_TYPE; + +typedef union ndb_item_qualification { + Item::Type value_type; + enum_field_types field_type; // Instead of Item::FIELD_ITEM + NDB_FUNC_TYPE function_type; // Instead of Item::FUNC_ITEM +} NDB_ITEM_QUALIFICATION; + +typedef struct ndb_item_field_value { + Field* field; + int column_no; +} NDB_ITEM_FIELD_VALUE; + +typedef union ndb_item_value { + const Item *item; + NDB_ITEM_FIELD_VALUE *field_value; + uint arg_count; +} NDB_ITEM_VALUE; + +struct negated_function_mapping +{ + NDB_FUNC_TYPE pos_fun; + NDB_FUNC_TYPE neg_fun; +}; + +/* + Define what functions can be negated in condition pushdown. + Note, these HAVE to be in the same order as in definition enum +*/ +static const negated_function_mapping neg_map[]= +{ + {NDB_EQ_FUNC, NDB_NE_FUNC}, + {NDB_NE_FUNC, NDB_EQ_FUNC}, + {NDB_LT_FUNC, NDB_GE_FUNC}, + {NDB_LE_FUNC, NDB_GT_FUNC}, + {NDB_GT_FUNC, NDB_LE_FUNC}, + {NDB_GE_FUNC, NDB_LT_FUNC}, + {NDB_ISNULL_FUNC, NDB_ISNOTNULL_FUNC}, + {NDB_ISNOTNULL_FUNC, NDB_ISNULL_FUNC}, + {NDB_LIKE_FUNC, NDB_NOTLIKE_FUNC}, + {NDB_NOTLIKE_FUNC, NDB_LIKE_FUNC}, + {NDB_NOT_FUNC, NDB_UNSUPPORTED_FUNC}, + {NDB_UNKNOWN_FUNC, NDB_UNSUPPORTED_FUNC}, + {NDB_COND_AND_FUNC, NDB_UNSUPPORTED_FUNC}, + {NDB_COND_OR_FUNC, NDB_UNSUPPORTED_FUNC}, + {NDB_UNSUPPORTED_FUNC, NDB_UNSUPPORTED_FUNC} +}; + +/* + This class is the construction element for serialization of Item tree + in condition pushdown. + An instance of Ndb_Item represents a constant, table field reference, + unary or binary comparison predicate, and start/end of AND/OR. + Instances of Ndb_Item are stored in a linked list implemented by Ndb_cond + class. + The order of elements produced by Ndb_cond::next corresponds to + breadth-first traversal of the Item (i.e. expression) tree in prefix order. + AND and OR have arbitrary arity, so the end of AND/OR group is marked with + Ndb_item with type == NDB_END_COND. + NOT items represent negated conditions and generate NAND/NOR groups. +*/ +class Ndb_item : public Sql_alloc +{ +public: + Ndb_item(NDB_ITEM_TYPE item_type) : type(item_type) {}; + Ndb_item(NDB_ITEM_TYPE item_type, + NDB_ITEM_QUALIFICATION item_qualification, + const Item *item_value) + : type(item_type), qualification(item_qualification) + { + switch(item_type) { + case(NDB_VALUE): + value.item= item_value; + break; + case(NDB_FIELD): { + NDB_ITEM_FIELD_VALUE *field_value= new NDB_ITEM_FIELD_VALUE(); + Item_field *field_item= (Item_field *) item_value; + field_value->field= field_item->field; + field_value->column_no= -1; // Will be fetched at scan filter generation + value.field_value= field_value; + break; + } + case(NDB_FUNCTION): + value.item= item_value; + value.arg_count= ((Item_func *) item_value)->argument_count(); + break; + case(NDB_END_COND): + break; + } + }; + Ndb_item(Field *field, int column_no) : type(NDB_FIELD) + { + NDB_ITEM_FIELD_VALUE *field_value= new NDB_ITEM_FIELD_VALUE(); + qualification.field_type= field->type(); + field_value->field= field; + field_value->column_no= column_no; + value.field_value= field_value; + }; + Ndb_item(Item_func::Functype func_type, const Item *item_value) + : type(NDB_FUNCTION) + { + qualification.function_type= item_func_to_ndb_func(func_type); + value.item= item_value; + value.arg_count= ((Item_func *) item_value)->argument_count(); + }; + Ndb_item(Item_func::Functype func_type, uint no_args) + : type(NDB_FUNCTION) + { + qualification.function_type= item_func_to_ndb_func(func_type); + value.arg_count= no_args; + }; + ~Ndb_item() + { + if (type == NDB_FIELD) + { + delete value.field_value; + value.field_value= NULL; + } + }; + + uint32 pack_length() + { + switch(type) { + case(NDB_VALUE): + if(qualification.value_type == Item::STRING_ITEM) + return value.item->str_value.length(); + break; + case(NDB_FIELD): + return value.field_value->field->pack_length(); + default: + break; + } + + return 0; + }; + + Field * get_field() { return value.field_value->field; }; + + int get_field_no() { return value.field_value->column_no; }; + + int argument_count() + { + return value.arg_count; + }; + + const char* get_val() + { + switch(type) { + case(NDB_VALUE): + if(qualification.value_type == Item::STRING_ITEM) + return value.item->str_value.ptr(); + break; + case(NDB_FIELD): + return value.field_value->field->ptr; + default: + break; + } + + return NULL; + }; + + void save_in_field(Ndb_item *field_item) + { + Field *field = field_item->value.field_value->field; + const Item *item= value.item; + + if (item && field) + ((Item *)item)->save_in_field(field, false); + }; + + static NDB_FUNC_TYPE item_func_to_ndb_func(Item_func::Functype fun) + { + switch (fun) { + case (Item_func::EQ_FUNC): { return NDB_EQ_FUNC; } + case (Item_func::NE_FUNC): { return NDB_NE_FUNC; } + case (Item_func::LT_FUNC): { return NDB_LT_FUNC; } + case (Item_func::LE_FUNC): { return NDB_LE_FUNC; } + case (Item_func::GT_FUNC): { return NDB_GT_FUNC; } + case (Item_func::GE_FUNC): { return NDB_GE_FUNC; } + case (Item_func::ISNULL_FUNC): { return NDB_ISNULL_FUNC; } + case (Item_func::ISNOTNULL_FUNC): { return NDB_ISNOTNULL_FUNC; } + case (Item_func::LIKE_FUNC): { return NDB_LIKE_FUNC; } + case (Item_func::NOT_FUNC): { return NDB_NOT_FUNC; } + case (Item_func::UNKNOWN_FUNC): { return NDB_UNKNOWN_FUNC; } + case (Item_func::COND_AND_FUNC): { return NDB_COND_AND_FUNC; } + case (Item_func::COND_OR_FUNC): { return NDB_COND_OR_FUNC; } + default: { return NDB_UNSUPPORTED_FUNC; } + } + }; + + static NDB_FUNC_TYPE negate(NDB_FUNC_TYPE fun) + { + uint i= (uint) fun; + DBUG_ASSERT(fun == neg_map[i].pos_fun); + return neg_map[i].neg_fun; + }; + + NDB_ITEM_TYPE type; + NDB_ITEM_QUALIFICATION qualification; + private: + NDB_ITEM_VALUE value; +}; + +/* + This class implements a linked list used for storing a + serialization of the Item tree for condition pushdown. + */ +class Ndb_cond : public Sql_alloc +{ + public: + Ndb_cond() : ndb_item(NULL), next(NULL), prev(NULL) {}; + ~Ndb_cond() + { + if (ndb_item) delete ndb_item; + ndb_item= NULL; + if (next) delete next; + next= prev= NULL; + }; + Ndb_item *ndb_item; + Ndb_cond *next; + Ndb_cond *prev; +}; + +/* + This class implements a stack for storing several conditions + for pushdown (represented as serialized Item trees using Ndb_cond). + The current implementation only pushes one condition, but is + prepared for handling several (C1 AND C2 ...) if the logic for + pushing conditions is extended in sql_select. +*/ +class Ndb_cond_stack : public Sql_alloc +{ + public: + Ndb_cond_stack() : ndb_cond(NULL), next(NULL) {}; + ~Ndb_cond_stack() + { + if (ndb_cond) delete ndb_cond; + ndb_cond= NULL; + if (next) delete next; + next= NULL; + }; + Ndb_cond *ndb_cond; + Ndb_cond_stack *next; +}; + +class Ndb_rewrite_context : public Sql_alloc +{ +public: + Ndb_rewrite_context(Item_func *func) + : func_item(func), left_hand_item(NULL), count(0) {}; + ~Ndb_rewrite_context() + { + if (next) delete next; + } + const Item_func *func_item; + const Item *left_hand_item; + uint count; + Ndb_rewrite_context *next; +}; + +/* + This class is used for storing the context when traversing + the Item tree. It stores a reference to the table the condition + is defined on, the serialized representation being generated, + if the condition found is supported, and information what is + expected next in the tree inorder for the condition to be supported. +*/ +class Ndb_cond_traverse_context : public Sql_alloc +{ + public: + Ndb_cond_traverse_context(TABLE *tab, void* ndb_tab, Ndb_cond_stack* stack) + : table(tab), ndb_table(ndb_tab), + supported(TRUE), stack_ptr(stack), cond_ptr(NULL), + skip(0), collation(NULL), rewrite_stack(NULL) + { + // Allocate type checking bitmaps + bitmap_init(&expect_mask, 0, 512, FALSE); + bitmap_init(&expect_field_type_mask, 0, 512, FALSE); + bitmap_init(&expect_field_result_mask, 0, 512, FALSE); + + if (stack) + cond_ptr= stack->ndb_cond; + }; + ~Ndb_cond_traverse_context() + { + bitmap_free(&expect_mask); + bitmap_free(&expect_field_type_mask); + bitmap_free(&expect_field_result_mask); + if (rewrite_stack) delete rewrite_stack; + } + void expect(Item::Type type) + { + bitmap_set_bit(&expect_mask, (uint) type); + if (type == Item::FIELD_ITEM) expect_all_field_types(); + }; + void dont_expect(Item::Type type) + { + bitmap_clear_bit(&expect_mask, (uint) type); + }; + bool expecting(Item::Type type) + { + return bitmap_is_set(&expect_mask, (uint) type); + }; + void expect_nothing() + { + bitmap_clear_all(&expect_mask); + }; + bool expecting_nothing() + { + return bitmap_is_clear_all(&expect_mask); + } + void expect_only(Item::Type type) + { + expect_nothing(); + expect(type); + }; + + void expect_field_type(enum_field_types type) + { + bitmap_set_bit(&expect_field_type_mask, (uint) type); + }; + void expect_all_field_types() + { + bitmap_set_all(&expect_field_type_mask); + }; + bool expecting_field_type(enum_field_types type) + { + return bitmap_is_set(&expect_field_type_mask, (uint) type); + }; + void expect_no_field_type() + { + bitmap_clear_all(&expect_field_type_mask); + }; + bool expecting_no_field_type() + { + return bitmap_is_clear_all(&expect_field_type_mask); + } + void expect_only_field_type(enum_field_types result) + { + expect_no_field_type(); + expect_field_type(result); + }; + + void expect_field_result(Item_result result) + { + bitmap_set_bit(&expect_field_result_mask, (uint) result); + }; + bool expecting_field_result(Item_result result) + { + return bitmap_is_set(&expect_field_result_mask, (uint) result); + }; + void expect_no_field_result() + { + bitmap_clear_all(&expect_field_result_mask); + }; + bool expecting_no_field_result() + { + return bitmap_is_clear_all(&expect_field_result_mask); + } + void expect_only_field_result(Item_result result) + { + expect_no_field_result(); + expect_field_result(result); + }; + void expect_collation(CHARSET_INFO* col) + { + collation= col; + }; + bool expecting_collation(CHARSET_INFO* col) + { + bool matching= (!collation) ? true : (collation == col); + collation= NULL; + + return matching; + }; + + TABLE* table; + void* ndb_table; + bool supported; + Ndb_cond_stack* stack_ptr; + Ndb_cond* cond_ptr; + MY_BITMAP expect_mask; + MY_BITMAP expect_field_type_mask; + MY_BITMAP expect_field_result_mask; + uint skip; + CHARSET_INFO* collation; + Ndb_rewrite_context *rewrite_stack; +}; + +class ha_ndbcluster; + +class ha_ndbcluster_cond +{ +public: + ha_ndbcluster_cond() + : m_cond_stack(NULL) + {} + ~ha_ndbcluster_cond() + { if (m_cond_stack) delete m_cond_stack; } + const COND *cond_push(const COND *cond, + TABLE *table, NdbDictionary::Table *ndb_table); + void cond_pop(); + void cond_clear(); + int generate_scan_filter(NdbScanOperation* op); + int generate_scan_filter_from_cond(NdbScanFilter& filter); + int generate_scan_filter_from_key(NdbScanOperation* op, + const KEY* key_info, + const byte *key, + uint key_len, + byte *buf); +private: + bool serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond, + TABLE *table, NdbDictionary::Table *ndb_table); + int build_scan_filter_predicate(Ndb_cond* &cond, + NdbScanFilter* filter, + bool negated= false); + int build_scan_filter_group(Ndb_cond* &cond, + NdbScanFilter* filter); + int build_scan_filter(Ndb_cond* &cond, NdbScanFilter* filter); + + Ndb_cond_stack *m_cond_stack; +}; From 4ce556cdde07b211f4c489461e3532c06b5e76c3 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Mon, 23 Apr 2007 11:27:13 +0200 Subject: [PATCH 033/144] Changed descriptive comment --- sql/ha_ndbcluster_cond.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sql/ha_ndbcluster_cond.cc b/sql/ha_ndbcluster_cond.cc index a284bc13308..43843de80df 100644 --- a/sql/ha_ndbcluster_cond.cc +++ b/sql/ha_ndbcluster_cond.cc @@ -15,8 +15,7 @@ */ /* - This file defines the NDB Cluster handler: the interface between MySQL and - NDB Cluster + This file defines the NDB Cluster handler engine_condition_pushdown */ #ifdef USE_PRAGMA_IMPLEMENTATION From 91fb8b646fb81f0b0f267cf505374e715f3109d3 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Mon, 23 Apr 2007 12:12:44 +0200 Subject: [PATCH 034/144] Changed void* to const NdbDictionary::Table* --- sql/ha_ndbcluster_cond.cc | 9 ++++----- sql/ha_ndbcluster_cond.h | 9 +++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sql/ha_ndbcluster_cond.cc b/sql/ha_ndbcluster_cond.cc index 43843de80df..88a14e10ab3 100644 --- a/sql/ha_ndbcluster_cond.cc +++ b/sql/ha_ndbcluster_cond.cc @@ -251,7 +251,7 @@ void ndb_serialize_cond(const Item *item, void *arg) */ if (context->table->s == field->table->s) { - const NDBTAB *tab= (const NDBTAB *) context->ndb_table; + const NDBTAB *tab= context->ndb_table; DBUG_PRINT("info", ("FIELD_ITEM")); DBUG_PRINT("info", ("table %s", tab->getName())); DBUG_PRINT("info", ("column %s", field->field_name)); @@ -907,7 +907,7 @@ void ndb_serialize_cond(const Item *item, void *arg) const COND* ha_ndbcluster_cond::cond_push(const COND *cond, - TABLE *table, NDBTAB *ndb_table) + TABLE *table, const NDBTAB *ndb_table) { DBUG_ENTER("cond_push"); Ndb_cond_stack *ndb_cond = new Ndb_cond_stack(); @@ -963,12 +963,11 @@ ha_ndbcluster_cond::cond_clear() bool ha_ndbcluster_cond::serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond, - TABLE *table, NDBTAB *ndb_table) + TABLE *table, const NDBTAB *ndb_table) { DBUG_ENTER("serialize_cond"); Item *item= (Item *) cond; - Ndb_cond_traverse_context context(table, (void *)ndb_table, - ndb_cond); + Ndb_cond_traverse_context context(table, ndb_table, ndb_cond); // Expect a logical expression context.expect(Item::FUNC_ITEM); context.expect(Item::COND_ITEM); diff --git a/sql/ha_ndbcluster_cond.h b/sql/ha_ndbcluster_cond.h index 5afa817fade..d4e68de6635 100644 --- a/sql/ha_ndbcluster_cond.h +++ b/sql/ha_ndbcluster_cond.h @@ -315,7 +315,8 @@ public: class Ndb_cond_traverse_context : public Sql_alloc { public: - Ndb_cond_traverse_context(TABLE *tab, void* ndb_tab, Ndb_cond_stack* stack) + Ndb_cond_traverse_context(TABLE *tab, const NdbDictionary::Table *ndb_tab, + Ndb_cond_stack* stack) : table(tab), ndb_table(ndb_tab), supported(TRUE), stack_ptr(stack), cond_ptr(NULL), skip(0), collation(NULL), rewrite_stack(NULL) @@ -422,7 +423,7 @@ class Ndb_cond_traverse_context : public Sql_alloc }; TABLE* table; - void* ndb_table; + const NdbDictionary::Table *ndb_table; bool supported; Ndb_cond_stack* stack_ptr; Ndb_cond* cond_ptr; @@ -445,7 +446,7 @@ public: ~ha_ndbcluster_cond() { if (m_cond_stack) delete m_cond_stack; } const COND *cond_push(const COND *cond, - TABLE *table, NdbDictionary::Table *ndb_table); + TABLE *table, const NdbDictionary::Table *ndb_table); void cond_pop(); void cond_clear(); int generate_scan_filter(NdbScanOperation* op); @@ -457,7 +458,7 @@ public: byte *buf); private: bool serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond, - TABLE *table, NdbDictionary::Table *ndb_table); + TABLE *table, const NdbDictionary::Table *ndb_table); int build_scan_filter_predicate(Ndb_cond* &cond, NdbScanFilter* filter, bool negated= false); From 429371f9d5963d506efa078232e5b76da6108549 Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Mon, 23 Apr 2007 14:16:49 +0300 Subject: [PATCH 035/144] - addendum of the fix for bug 27786: applied the new function is_union() to places in the code that check the same condition. - 5.0->5.1 merge fixes --- mysql-test/r/subselect3.result | 8 ++++---- sql/item_subselect.cc | 6 +++--- sql/sql_derived.cc | 4 +--- sql/sql_parse.cc | 2 +- sql/sql_select.cc | 11 ++++++----- sql/sql_union.cc | 19 +++++++++---------- sql/sql_view.cc | 2 +- sql/sql_yacc.yy | 2 +- 8 files changed, 26 insertions(+), 28 deletions(-) diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 981f59e9787..657d95b7ee3 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -698,10 +698,10 @@ INSERT INTO t1 VALUES (1), (NULL), (4); INSERT INTO t2 VALUES (3), (1),(2), (5), (4), (7), (6); EXPLAIN EXTENDED SELECT a FROM t1, t2 WHERE a=b AND (b NOT IN (SELECT a FROM t1)); -id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where -1 PRIMARY t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index -2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where +1 PRIMARY t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 100.00 Using index +2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` join `test`.`t2` where ((`test`.`t2`.`b` = `test`.`t1`.`a`) and (not((`test`.`t1`.`a`,(select 1 AS `Not_used` from `test`.`t1` where (((`test`.`t2`.`b`) = `test`.`t1`.`a`) or isnull(`test`.`t1`.`a`)) having (`test`.`t1`.`a`)))))) SELECT a FROM t1, t2 WHERE a=b AND (b NOT IN (SELECT a FROM t1)); diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index 79b09967a9d..812d3c222c0 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -82,7 +82,7 @@ void Item_subselect::init(st_select_lex *select_lex, parsing_place= (outer_select->in_sum_expr ? NO_MATTER : outer_select->parsing_place); - if (select_lex->next_select()) + if (unit->is_union()) engine= new subselect_union_engine(unit, result, this); else engine= new subselect_single_select_engine(select_lex, result, this); @@ -412,7 +412,7 @@ Item_singlerow_subselect::select_transformer(JOIN *join) SELECT_LEX *select_lex= join->select_lex; Query_arena *arena= thd->stmt_arena; - if (!select_lex->master_unit()->first_select()->next_select() && + if (!select_lex->master_unit()->is_union() && !select_lex->table_list.elements && select_lex->item_list.elements == 1 && !select_lex->item_list.head()->with_sum_func && @@ -1147,7 +1147,7 @@ Item_in_subselect::single_value_transformer(JOIN *join, else { bool tmp; - if (select_lex->master_unit()->first_select()->next_select()) + if (select_lex->master_unit()->is_union()) { /* comparison functions can't be changed during fix_fields() diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index 89bd7958c86..ea7545fe5cb 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -236,9 +236,7 @@ bool mysql_derived_filling(THD *thd, LEX *lex, TABLE_LIST *orig_table_list) SELECT_LEX *first_select= unit->first_select(); select_union *derived_result= orig_table_list->derived_result; SELECT_LEX *save_current_select= lex->current_select; - bool is_union= first_select->next_select() && - first_select->next_select()->linkage == UNION_TYPE; - if (is_union) + if (unit->is_union()) { // execute union without clean up res= unit->exec(); diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 9d02053ec00..31cf9e18959 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5893,7 +5893,7 @@ bool st_select_lex_unit::add_fake_select_lex(THD *thd_arg) fake_select_lex->context.resolve_in_select_list= TRUE; fake_select_lex->context.select_lex= fake_select_lex; - if (!first_sl->next_select()) + if (!is_union()) { /* This works only for diff --git a/sql/sql_select.cc b/sql/sql_select.cc index da2c8e96b0f..14423c949e5 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -231,7 +231,8 @@ bool handle_select(THD *thd, LEX *lex, select_result *result, register SELECT_LEX *select_lex = &lex->select_lex; DBUG_ENTER("handle_select"); - if (select_lex->next_select() || select_lex->master_unit()->fake_select_lex) + if (select_lex->master_unit()->is_union() || + select_lex->master_unit()->fake_select_lex) res= mysql_union(thd, lex, result, &lex->unit, setup_tables_done_option); else { @@ -442,7 +443,7 @@ JOIN::prepare(Item ***rref_pointer_array, select_lex= select_lex_arg; select_lex->join= this; join_list= &select_lex->top_join_list; - union_part= (unit_arg->first_select()->next_select() != 0); + union_part= unit_arg->is_union(); thd->lex->current_select->is_item_list_lookup= 1; /* @@ -1191,7 +1192,7 @@ JOIN::optimize() if (!group_list && !order && unit->item && unit->item->substype() == Item_subselect::IN_SUBS && tables == 1 && conds && - !unit->first_select()->next_select()) + !unit->is_union()) { if (!having) { @@ -3165,7 +3166,7 @@ add_key_fields(JOIN *join, KEY_FIELD **key_fields, uint *and_level, if (!join->group_list && !join->order && join->unit->item && join->unit->item->substype() == Item_subselect::IN_SUBS && - !join->unit->first_select()->next_select()) + !join->unit->is_union()) { KEY_FIELD *save= *key_fields; add_key_fields(join, key_fields, and_level, cond_arg, usable_tables, @@ -15523,7 +15524,7 @@ bool mysql_explain_union(THD *thd, SELECT_LEX_UNIT *unit, select_result *result) "UNION"))); sl->options|= SELECT_DESCRIBE; } - if (first->next_select()) + if (unit->is_union()) { unit->fake_select_lex->select_number= UINT_MAX; // jost for initialization unit->fake_select_lex->type= "UNION RESULT"; diff --git a/sql/sql_union.cc b/sql/sql_union.cc index bc81679a7fd..2a1db422058 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -165,7 +165,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, SELECT_LEX *lex_select_save= thd_arg->lex->current_select; SELECT_LEX *sl, *first_sl= first_select(); select_result *tmp_result; - bool is_union; + bool is_union_select; TABLE *empty_table= 0; DBUG_ENTER("st_select_lex_unit::prepare"); @@ -203,11 +203,11 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, thd_arg->lex->current_select= sl= first_sl; found_rows_for_union= first_sl->options & OPTION_FOUND_ROWS; - is_union= first_sl->next_select() || fake_select_lex; + is_union_select= is_union() || fake_select_lex; /* Global option */ - if (is_union) + if (is_union_select) { if (!(tmp_result= union_result= new select_union)) goto err; @@ -238,7 +238,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, thd_arg->lex->current_select= sl; - can_skip_order_by= is_union && !(sl->braces && sl->explicit_limit); + can_skip_order_by= is_union_select && !(sl->braces && sl->explicit_limit); saved_error= join->prepare(&sl->ref_pointer_array, (TABLE_LIST*) sl->table_list.first, @@ -251,7 +251,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, (ORDER*) 0 : (ORDER *)sl->order_list.first, (ORDER*) sl->group_list.first, sl->having, - (is_union ? (ORDER*) 0 : + (is_union_select ? (ORDER*) 0 : (ORDER*) thd_arg->lex->proc_list.first), sl, this); /* There are no * in the statement anymore (for PS) */ @@ -264,7 +264,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, Use items list of underlaid select for derived tables to preserve information about fields lengths and exact types */ - if (!is_union) + if (!is_union_select) types= first_sl->item_list; else if (sl == first_sl) { @@ -307,7 +307,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, } } - if (is_union) + if (is_union_select) { /* Check that it was possible to aggregate @@ -639,7 +639,7 @@ void st_select_lex_unit::reinit_exec_mechanism() { prepared= optimized= executed= 0; #ifndef DBUG_OFF - if (first_select()->next_select()) + if (is_union()) { List_iterator_fast it(item_list); Item *field; @@ -706,7 +706,6 @@ bool st_select_lex_unit::change_result(select_subselect *new_result, List *st_select_lex_unit::get_unit_column_types() { SELECT_LEX *sl= first_select(); - bool is_union= test(sl->next_select()); bool is_procedure= test(sl->join->procedure); if (is_procedure) @@ -717,7 +716,7 @@ List *st_select_lex_unit::get_unit_column_types() } - if (is_union) + if (is_union()) { DBUG_ASSERT(prepared); /* Types are generated during prepare */ diff --git a/sql/sql_view.cc b/sql/sql_view.cc index ee99a2974f4..f796a05924a 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -818,7 +818,7 @@ loop_out: UNION */ if (view->updatable_view && - !lex->select_lex.next_select() && + !lex->select_lex.master_unit()->is_union() && !((TABLE_LIST*)lex->select_lex.table_list.first)->next_local && find_table_in_global_list(lex->query_tables->next_global, lex->query_tables->db, diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 0c7d2fc2187..87cd33117dc 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -7817,7 +7817,7 @@ order_clause: yet. */ SELECT_LEX *first_sl= unit->first_select(); - if (!first_sl->next_select() && + if (!unit->is_union() && (first_sl->order_list.elements || first_sl->select_limit) && unit->add_fake_select_lex(lex->thd)) From 4fbdddf28da7e19bb30e39f3bd8bd639913cd281 Mon Sep 17 00:00:00 2001 From: "joerg@debian.(none)" <> Date: Mon, 23 Apr 2007 13:36:18 +0200 Subject: [PATCH 036/144] dbug/dbug_analyze.c : Avoid the unresolved symbol "my_thread_global_init()" in a build "--without-server". Fix for bug#14685 --- dbug/dbug_analyze.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dbug/dbug_analyze.c b/dbug/dbug_analyze.c index 8cd0af4f7e0..3263b2ccc59 100644 --- a/dbug/dbug_analyze.c +++ b/dbug/dbug_analyze.c @@ -574,10 +574,12 @@ int main (int argc, char **argv) FILE *infile; FILE *outfile = {stdout}; -#if defined(HAVE_PTHREAD_INIT) && defined(THREAD) +#ifdef THREAD +#if defined(HAVE_PTHREAD_INIT) pthread_init(); /* Must be called before DBUG_ENTER */ #endif my_thread_global_init(); +#endif /* THREAD */ { DBUG_ENTER ("main"); DBUG_PROCESS (argv[0]); From a92a9b53806241c6784df822221b83a3953f6e21 Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Mon, 23 Apr 2007 14:22:23 +0200 Subject: [PATCH 037/144] ndb - bug#28023 (51-main) Add/sub correct offsets (with 2 word varpart ref) --- storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp index cc501f8d366..17349a44470 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp @@ -2915,11 +2915,10 @@ Dbtup::nr_update_gci(Uint32 fragPtrI, const Local_key* key, Uint32 gci) int ret; if (tablePtr.p->m_attributes[MM].m_no_of_varsize) { - tablePtr.p->m_offsets[MM].m_fix_header_size += - Tuple_header::HeaderSize+1; + const Uint32 XXX = Tuple_header::HeaderSize+Var_part_ref::SZ32; + tablePtr.p->m_offsets[MM].m_fix_header_size += XXX; ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); - tablePtr.p->m_offsets[MM].m_fix_header_size -= - Tuple_header::HeaderSize+1; + tablePtr.p->m_offsets[MM].m_fix_header_size -= XXX; } else { From 8fa46718eca0b3add79659d89948131cd61672ca Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Mon, 23 Apr 2007 15:38:06 +0200 Subject: [PATCH 038/144] ndb - add (auto) testcase for bug#28023 --- storage/ndb/test/ndbapi/testNodeRestart.cpp | 69 +++++++++++++++++++ .../ndb/test/run-test/daily-basic-tests.txt | 4 ++ 2 files changed, 73 insertions(+) diff --git a/storage/ndb/test/ndbapi/testNodeRestart.cpp b/storage/ndb/test/ndbapi/testNodeRestart.cpp index 03229ca029f..fb05681bab4 100644 --- a/storage/ndb/test/ndbapi/testNodeRestart.cpp +++ b/storage/ndb/test/ndbapi/testNodeRestart.cpp @@ -1473,6 +1473,72 @@ runBug27466(NDBT_Context* ctx, NDBT_Step* step) return NDBT_OK; } +int +runBug28023(NDBT_Context* ctx, NDBT_Step* step) +{ + int result = NDBT_OK; + int loops = ctx->getNumLoops(); + int records = ctx->getNumRecords(); + Ndb* pNdb = GETNDB(step); + NdbRestarter res; + + if (res.getNumDbNodes() < 2) + { + return NDBT_OK; + } + + + HugoTransactions hugoTrans(*ctx->getTab()); + if (hugoTrans.loadTable(pNdb, records) != 0){ + return NDBT_FAILED; + } + + if (hugoTrans.clearTable(pNdb, records) != 0) + { + return NDBT_FAILED; + } + + for (Uint32 i = 0; i Date: Mon, 23 Apr 2007 15:48:06 +0200 Subject: [PATCH 039/144] ndb - add new functions for (easier) using NdbRestarter --- storage/ndb/test/include/NdbRestarter.hpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/storage/ndb/test/include/NdbRestarter.hpp b/storage/ndb/test/include/NdbRestarter.hpp index 916848adf45..9780c0cd1ae 100644 --- a/storage/ndb/test/include/NdbRestarter.hpp +++ b/storage/ndb/test/include/NdbRestarter.hpp @@ -27,15 +27,34 @@ public: int getDbNodeId(int _i); + enum RestartFlags { + NRRF_INITIAL = 0x1, + NRRF_NOSTART = 0x2, + NRRF_ABORT = 0x4 + }; + int restartOneDbNode(int _nodeId, bool initial = false, bool nostart = false, bool abort = false); + int restartOneDbNode2(int _nodeId, Uint32 flags){ + return restartOneDbNode(_nodeId, + flags & NRRF_INITIAL, + flags & NRRF_NOSTART, + flags & NRRF_ABORT); + } + int restartAll(bool initial = false, bool nostart = false, bool abort = false); + int restartAll2(Uint32 flags){ + return restartAll(flags & NRRF_INITIAL, + flags & NRRF_NOSTART, + flags & NRRF_ABORT); + } + int startAll(); int startNodes(const int * _nodes, int _num_nodes); int waitClusterStarted(unsigned int _timeout = 120); From 975815280aba9f16d6bf0eeb92b561a766bc3d04 Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Mon, 23 Apr 2007 17:15:51 +0300 Subject: [PATCH 040/144] Bug #27811: FORCE_INIT_OF_VARS was not defined for the debug builds on Windows. This caused LINT_INIT macro to be defined as NOP and this triggers false alarms about use of uninitialized with the runtime libs of some Visual Studio versions. Fixed by defining FORCE_INIT_OF_VARS to match the state of the Windows --- CMakeLists.txt | 4 ++++ mysql-test/r/windows.result | 7 +++++++ mysql-test/t/windows.test | 8 ++++++++ 3 files changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a286071bb0..b93b3e0db27 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,10 @@ ADD_DEFINITIONS(-D WITH_MYISAM_STORAGE_ENGINE) ADD_DEFINITIONS(-D CMAKE_BUILD) ADD_DEFINITIONS(-D HAVE_YASSL) +# Set debug options +SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS") +SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DFORCE_INIT_OF_VARS") + SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisam_plugin") diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result index 1702fd28c18..b5f9a48d805 100644 --- a/mysql-test/r/windows.result +++ b/mysql-test/r/windows.result @@ -12,3 +12,10 @@ Warnings: Warning 0 DATA DIRECTORY option ignored Warning 0 INDEX DIRECTORY option ignored drop table t1; +CREATE TABLE t1 (a int, b int); +INSERT INTO t1 VALUES (1,1); +EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2)); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables +2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used +End of 5.0 tests. diff --git a/mysql-test/t/windows.test b/mysql-test/t/windows.test index b5377a9b9b0..6976ee98750 100644 --- a/mysql-test/t/windows.test +++ b/mysql-test/t/windows.test @@ -27,3 +27,11 @@ CREATE TABLE t1 ( `ID` int(6) ) data directory 'c:/tmp/' index directory 'c:/tmp drop table t1; # End of 4.1 tests + +# +# Bug #27811: The variable 'join_tab' is being used without being defined +# +CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (1,1); +EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2)); + +--echo End of 5.0 tests. From 9a99aa81552178b2d7995ea41e0878dc59061c9b Mon Sep 17 00:00:00 2001 From: "kaa@polly.local" <> Date: Mon, 23 Apr 2007 18:22:33 +0400 Subject: [PATCH 041/144] Fix for bug #22364 "Inconsistent "matched rows" when executing UPDATE" In multi_update::send_data(), the counter of matched rows was not correctly incremented, when during insertion of a new row to a temporay table it had to be converted from HEAP to MyISAM. This fix changes the logic to increment the counter of matched rows in the following cases: 1. If the error returned from write_row() is zero. 2. If the error returned from write_row() is non-zero, is neither HA_ERR_FOUND_DUPP_KEY nor HA_ERR_FOUND_DUPP_UNIQUE, and a call to create_myisam_from_heap() succeeds. --- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++ mysql-test/r/update.result | 35 ++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 ++++++++++++++++++++ mysql-test/t/update.test | 55 +++++++++++++++++++++++++++++ sql/sql_update.cc | 19 +++++----- 5 files changed, 172 insertions(+), 10 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/r/update.result b/mysql-test/r/update.result index 748c2644eb9..dc7c7642a9b 100644 --- a/mysql-test/r/update.result +++ b/mysql-test/r/update.result @@ -457,3 +457,38 @@ a quux 2 0.100000000000000000000000000000 3 NULL DROP TABLE t1; +set tmp_table_size=1024; +create table t1 (id int, a int, key idx(a)); +create table t2 (id int unsigned not null auto_increment primary key, a int); +insert into t2(a) values(1),(2),(3),(4),(5),(6),(7),(8); +insert into t2(a) select a from t2; +insert into t2(a) select a from t2; +insert into t2(a) select a from t2; +update t2 set a=id; +insert into t1 select * from t2; +select count(*) from t1 join t2 on (t1.a=t2.a); +count(*) +64 +update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; +affected rows: 0 +info: Rows matched: 64 Changed: 0 Warnings: 0 +insert into t2(a) select a from t2; +update t2 set a=id; +truncate t1; +insert into t1 select * from t2; +select count(*) from t1 join t2 on (t1.a=t2.a); +count(*) +128 +update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; +affected rows: 0 +info: Rows matched: 128 Changed: 0 Warnings: 0 +update t1 set a=1; +update t2 set a=1; +select count(*) from t1 join t2 on (t1.a=t2.a); +count(*) +16384 +update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; +affected rows: 127 +info: Rows matched: 128 Changed: 127 Warnings: 0 +drop table t1,t2; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/mysql-test/t/update.test b/mysql-test/t/update.test index 6cec940d286..f79c9e773aa 100644 --- a/mysql-test/t/update.test +++ b/mysql-test/t/update.test @@ -376,3 +376,58 @@ INSERT INTO t1( a ) SELECT * FROM t1; DROP TABLE t1; + +# +# Bug #22364: Inconsistent "matched rows" when executing UPDATE +# + +connect (con1,localhost,root,,test); +connection con1; + +set tmp_table_size=1024; + +# Create the test tables +create table t1 (id int, a int, key idx(a)); +create table t2 (id int unsigned not null auto_increment primary key, a int); +insert into t2(a) values(1),(2),(3),(4),(5),(6),(7),(8); +insert into t2(a) select a from t2; +insert into t2(a) select a from t2; +insert into t2(a) select a from t2; +update t2 set a=id; +insert into t1 select * from t2; + +# Check that the number of matched rows is correct when the temporary +# table is small enough to not be converted to MyISAM +select count(*) from t1 join t2 on (t1.a=t2.a); +--enable_info +update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; +--disable_info + +# Increase table sizes +insert into t2(a) select a from t2; +update t2 set a=id; +truncate t1; +insert into t1 select * from t2; + +# Check that the number of matched rows is correct when the temporary +# table has to be converted to MyISAM +select count(*) from t1 join t2 on (t1.a=t2.a); +--enable_info +update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; +--disable_info + +# Check that the number of matched rows is correct when there are duplicate +# key errors +update t1 set a=1; +update t2 set a=1; +select count(*) from t1 join t2 on (t1.a=t2.a); +--enable_info +update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; +--disable_info + +drop table t1,t2; + +connection default; +disconnect con1; + +--echo End of 5.0 tests diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 27d38114885..b316a15e9f7 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -1328,19 +1328,18 @@ bool multi_update::send_data(List ¬_used_values) memcpy((char*) tmp_table->field[0]->ptr, (char*) table->file->ref, table->file->ref_length); /* Write row, ignoring duplicated updates to a row */ - if ((error= tmp_table->file->write_row(tmp_table->record[0]))) + error= tmp_table->file->write_row(tmp_table->record[0]); + if (error != HA_ERR_FOUND_DUPP_KEY && error != HA_ERR_FOUND_DUPP_UNIQUE) { - if (error != HA_ERR_FOUND_DUPP_KEY && - error != HA_ERR_FOUND_DUPP_UNIQUE && + if (error && create_myisam_from_heap(thd, tmp_table, - tmp_table_param + offset, error, 1)) - { - do_update=0; - DBUG_RETURN(1); // Not a table_is_full error - } - } - else + tmp_table_param + offset, error, 1)) + { + do_update= 0; + DBUG_RETURN(1); // Not a table_is_full error + } found++; + } } } DBUG_RETURN(0); From f24ada7fe6ba49a62271c76a3a503e8acaf8f2ff Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Mon, 23 Apr 2007 19:18:46 +0200 Subject: [PATCH 042/144] simple extend of listen_event to do apply on remote cluster --- storage/ndb/test/tools/listen.cpp | 188 +++++++++++++++++++++++++++++- 1 file changed, 184 insertions(+), 4 deletions(-) diff --git a/storage/ndb/test/tools/listen.cpp b/storage/ndb/test/tools/listen.cpp index 661193bf4b8..97c307e9c15 100644 --- a/storage/ndb/test/tools/listen.cpp +++ b/storage/ndb/test/tools/listen.cpp @@ -22,6 +22,128 @@ #include +#define BATCH_SIZE 128 +struct Table_info +{ + Uint32 id; +}; + +struct Trans_arg +{ + Ndb *ndb; + NdbTransaction *trans; + Uint32 bytes_batched; +}; + +Vector< Vector > event_values; +Vector< Vector > event_pre_values; +Vector table_infos; + +static void do_begin(Ndb *ndb, struct Trans_arg &trans_arg) +{ + trans_arg.ndb = ndb; + trans_arg.trans = ndb->startTransaction(); + trans_arg.bytes_batched = 0; +} + +static void do_equal(NdbOperation *op, + NdbEventOperation *pOp) +{ + struct Table_info *ti = (struct Table_info *)pOp->getCustomData(); + Vector &ev = event_values[ti->id]; + const NdbDictionary::Table *tab= pOp->getTable(); + unsigned i, n_columns = tab->getNoOfColumns(); + for (i= 0; i < n_columns; i++) + { + if (tab->getColumn(i)->getPrimaryKey() && + op->equal(i, ev[i]->aRef())) + { + abort(); + } + } +} + +static void do_set_value(NdbOperation *op, + NdbEventOperation *pOp) +{ + struct Table_info *ti = (struct Table_info *)pOp->getCustomData(); + Vector &ev = event_values[ti->id]; + const NdbDictionary::Table *tab= pOp->getTable(); + unsigned i, n_columns = tab->getNoOfColumns(); + for (i= 0; i < n_columns; i++) + { + if (!tab->getColumn(i)->getPrimaryKey() && + op->setValue(i, ev[i]->aRef())) + { + abort(); + } + } +} + +static void do_insert(struct Trans_arg &trans_arg, NdbEventOperation *pOp) +{ + if (!trans_arg.trans) + return; + + NdbOperation *op = + trans_arg.trans->getNdbOperation(pOp->getEvent()->getTableName()); + op->writeTuple(); + + do_equal(op, pOp); + do_set_value(op, pOp); + + trans_arg.bytes_batched++; + if (trans_arg.bytes_batched > BATCH_SIZE) + { + trans_arg.trans->execute(NdbTransaction::NoCommit); + trans_arg.bytes_batched = 0; + } +} +static void do_update(struct Trans_arg &trans_arg, NdbEventOperation *pOp) +{ + if (!trans_arg.trans) + return; + + NdbOperation *op = + trans_arg.trans->getNdbOperation(pOp->getEvent()->getTableName()); + op->writeTuple(); + + do_equal(op, pOp); + do_set_value(op, pOp); + + trans_arg.bytes_batched++; + if (trans_arg.bytes_batched > BATCH_SIZE) + { + trans_arg.trans->execute(NdbTransaction::NoCommit); + trans_arg.bytes_batched = 0; + } +} +static void do_delete(struct Trans_arg &trans_arg, NdbEventOperation *pOp) +{ + if (!trans_arg.trans) + return; + + NdbOperation *op = + trans_arg.trans->getNdbOperation(pOp->getEvent()->getTableName()); + op->deleteTuple(); + + do_equal(op, pOp); + + trans_arg.bytes_batched++; + if (trans_arg.bytes_batched > BATCH_SIZE) + { + trans_arg.trans->execute(NdbTransaction::NoCommit); + trans_arg.bytes_batched = 0; + } +} +static void do_commit(struct Trans_arg &trans_arg) +{ + if (!trans_arg.trans) + return; + trans_arg.trans->execute(NdbTransaction::Commit); + trans_arg.ndb->closeTransaction(trans_arg.trans); +} + int main(int argc, const char** argv){ ndb_init(); @@ -29,8 +151,14 @@ main(int argc, const char** argv){ int _help = 0; const char* db = 0; + const char* connectstring1 = 0; + const char* connectstring2 = 0; struct getargs args[] = { + { "connectstring1", 'c', + arg_string, &connectstring1, "connectstring1", "" }, + { "connectstring2", 'C', + arg_string, &connectstring2, "connectstring2", "" }, { "database", 'd', arg_string, &db, "Database", "" }, { "usage", '?', arg_flag, &_help, "Print help", "" } }; @@ -46,7 +174,7 @@ main(int argc, const char** argv){ } // Connect to Ndb - Ndb_cluster_connection con; + Ndb_cluster_connection con(connectstring1); if(con.connect(12, 5, 1) != 0) { return NDBT_ProgramExit(NDBT_FAILED); @@ -61,12 +189,35 @@ main(int argc, const char** argv){ // Connect to Ndb and wait for it to become ready while(MyNdb.waitUntilReady() != 0) ndbout << "Waiting for ndb to become ready..." << endl; - + + Ndb_cluster_connection *con2 = NULL; + Ndb *ndb2 = NULL; + if (connectstring2) + { + con2 = new Ndb_cluster_connection(connectstring2); + + if(con2->connect(12, 5, 1) != 0) + { + return NDBT_ProgramExit(NDBT_FAILED); + } + ndb2 = new Ndb( con2, db ? db : "TEST_DB" ); + + if(ndb2->init() != 0){ + ERR(ndb2->getNdbError()); + return NDBT_ProgramExit(NDBT_FAILED); + } + + // Connect to Ndb and wait for it to become ready + while(ndb2->waitUntilReady() != 0) + ndbout << "Waiting for ndb to become ready..." << endl; + } + int result = 0; NdbDictionary::Dictionary *myDict = MyNdb.getDictionary(); Vector events; Vector event_ops; + int sz = 0; for(i= optind; igetTable(argv[i]); @@ -121,12 +272,23 @@ main(int argc, const char** argv){ goto end; } + event_values.push_back(Vector()); + event_pre_values.push_back(Vector()); for (int a = 0; a < table->getNoOfColumns(); a++) { - pOp->getValue(table->getColumn(a)->getName()); - pOp->getPreValue(table->getColumn(a)->getName()); + event_values[sz]. + push_back(pOp->getValue(table->getColumn(a)->getName())); + event_pre_values[sz]. + push_back(pOp->getPreValue(table->getColumn(a)->getName())); } event_ops.push_back(pOp); + { + struct Table_info ti; + ti.id = sz; + table_infos.push_back(ti); + } + pOp->setCustomData((void *)&table_infos[sz]); + sz++; } for(i= 0; i<(int)event_ops.size(); i++) @@ -140,6 +302,7 @@ main(int argc, const char** argv){ } } + struct Trans_arg trans_arg; while(true) { while(MyNdb.pollEvents(100) == 0); @@ -149,18 +312,26 @@ main(int argc, const char** argv){ { Uint64 gci= pOp->getGCI(); Uint64 cnt_i= 0, cnt_u= 0, cnt_d= 0; + if (ndb2) + do_begin(ndb2, trans_arg); do { switch(pOp->getEventType()) { case NdbDictionary::Event::TE_INSERT: cnt_i++; + if (ndb2) + do_insert(trans_arg, pOp); break; case NdbDictionary::Event::TE_DELETE: cnt_d++; + if (ndb2) + do_delete(trans_arg, pOp); break; case NdbDictionary::Event::TE_UPDATE: cnt_u++; + if (ndb2) + do_update(trans_arg, pOp); break; case NdbDictionary::Event::TE_CLUSTER_FAILURE: break; @@ -180,12 +351,21 @@ main(int argc, const char** argv){ abort(); } } while ((pOp= MyNdb.nextEvent()) && gci == pOp->getGCI()); + if (ndb2) + do_commit(trans_arg); ndbout_c("GCI: %lld events: %lld(I) %lld(U) %lld(D)", gci, cnt_i, cnt_u, cnt_d); } } end: + if (ndb2) + delete ndb2; + if (con2) + delete con2; return NDBT_ProgramExit(NDBT_OK); } +template class Vector; +template class Vector; +template class Vector< Vector >; template class Vector; template class Vector; From aca5ac19edb01f9d857b272bd4f2acb614fa1bf4 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Mon, 23 Apr 2007 20:27:43 +0200 Subject: [PATCH 043/144] new ndb tool to measure replication latency --- .bzrignore | 13 ++ storage/ndb/test/tools/Makefile.am | 3 +- storage/ndb/test/tools/rep_latency.cpp | 304 +++++++++++++++++++++++++ 3 files changed, 319 insertions(+), 1 deletion(-) create mode 100644 storage/ndb/test/tools/rep_latency.cpp diff --git a/.bzrignore b/.bzrignore index e00d2a16187..599f890cdf9 100644 --- a/.bzrignore +++ b/.bzrignore @@ -2934,3 +2934,16 @@ win/vs71cache.txt win/vs8cache.txt zlib/*.ds? zlib/*.vcproj +storage/ndb/test/tools/rep_latency +storage/ndb/test/ndbapi/testIndexStat +storage/ndb/test/ndbapi/testInterpreter +storage/ndb/ndbapi-examples/mgmapi_logevent/mgmapi_logevent +storage/ndb/ndbapi-examples/mgmapi_logevent2/mgmapi_logevent2 +storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async +storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1 +storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event +storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries +storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan +storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple +storage/ndb/ndbapi-examples/ndbapi_simple_dual/ndbapi_simple_dual +storage/ndb/ndbapi-examples/ndbapi_simple_index/ndbapi_simple_index diff --git a/storage/ndb/test/tools/Makefile.am b/storage/ndb/test/tools/Makefile.am index 8c451c0b6a1..3a2bcb5005f 100644 --- a/storage/ndb/test/tools/Makefile.am +++ b/storage/ndb/test/tools/Makefile.am @@ -13,7 +13,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -ndbtest_PROGRAMS = hugoLoad hugoFill hugoLockRecords hugoPkDelete hugoPkRead hugoPkReadRecord hugoPkUpdate hugoScanRead hugoScanUpdate restart verify_index copy_tab create_index ndb_cpcc listen_event +ndbtest_PROGRAMS = hugoLoad hugoFill hugoLockRecords hugoPkDelete hugoPkRead hugoPkReadRecord hugoPkUpdate hugoScanRead hugoScanUpdate restart verify_index copy_tab create_index ndb_cpcc listen_event rep_latency # transproxy @@ -33,6 +33,7 @@ copy_tab_SOURCES = copy_tab.cpp create_index_SOURCES = create_index.cpp ndb_cpcc_SOURCES = cpcc.cpp listen_event_SOURCES = listen.cpp +rep_latency_SOURCES = rep_latency.cpp include $(top_srcdir)/storage/ndb/config/common.mk.am include $(top_srcdir)/storage/ndb/config/type_ndbapitest.mk.am diff --git a/storage/ndb/test/tools/rep_latency.cpp b/storage/ndb/test/tools/rep_latency.cpp new file mode 100644 index 00000000000..5ca9a1a1190 --- /dev/null +++ b/storage/ndb/test/tools/rep_latency.cpp @@ -0,0 +1,304 @@ +/* Copyright (C) 2003 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +/* + * Update on master wait for update on slave + * + */ + +#include +#include +#include +#include +#include + +struct Xxx +{ + Ndb *ndb; + const NdbDictionary::Table *table; + Uint32 pk_col; + Uint32 col; +}; + +struct XxxR +{ + Uint32 pk_val; + Uint32 val; + struct timeval start_time; + Uint32 latency; +}; + +static int +prepare_master_or_slave(Ndb &myNdb, + const char* table, + const char* pk, + Uint32 pk_val, + const char* col, + struct Xxx &xxx, + struct XxxR &xxxr); +static void +run_master_update(struct Xxx &xxx, struct XxxR &xxxr); +static void +run_slave_wait(struct Xxx &xxx, struct XxxR &xxxr); + +#define PRINT_ERROR(code,msg) \ + g_err << "Error in " << __FILE__ << ", line: " << __LINE__ \ + << ", code: " << code \ + << ", msg: " << msg << ".\n" +#define APIERROR(error) { \ + PRINT_ERROR((error).code, (error).message); \ + exit(-1); } + +int main(int argc, char** argv) +{ + if (argc != 8) + { + ndbout << "Arguments are
.\n"; + exit(-1); + } + // ndb_init must be called first + ndb_init(); + { + const char *opt_connectstring1 = argv[1]; + const char *opt_connectstring2 = argv[2]; + const char *opt_db = argv[3]; + const char *opt_table = argv[4]; + const char *opt_pk = argv[5]; + const Uint32 opt_pk_val = atoi(argv[6]); + const char *opt_col = argv[7]; + + // Object representing the cluster 1 + Ndb_cluster_connection cluster1_connection(opt_connectstring1); + // Object representing the cluster 2 + Ndb_cluster_connection cluster2_connection(opt_connectstring2); + + // connect cluster 1 and run application + // Connect to cluster 1 management server (ndb_mgmd) + if (cluster1_connection.connect(4 /* retries */, + 5 /* delay between retries */, + 1 /* verbose */)) + { + g_err << "Cluster 1 management server was not ready within 30 secs.\n"; + exit(-1); + } + // Optionally connect and wait for the storage nodes (ndbd's) + if (cluster1_connection.wait_until_ready(30,0) < 0) + { + g_err << "Cluster 1 was not ready within 30 secs.\n"; + exit(-1); + } + // connect cluster 2 and run application + // Connect to cluster management server (ndb_mgmd) + if (cluster2_connection.connect(4 /* retries */, + 5 /* delay between retries */, + 1 /* verbose */)) + { + g_err << "Cluster 2 management server was not ready within 30 secs.\n"; + exit(-1); + } + // Optionally connect and wait for the storage nodes (ndbd's) + if (cluster2_connection.wait_until_ready(30,0) < 0) + { + g_err << "Cluster 2 was not ready within 30 secs.\n"; + exit(-1); + } + // Object representing the database + Ndb myNdb1(&cluster1_connection, opt_db); + Ndb myNdb2(&cluster2_connection, opt_db); + // + struct Xxx xxx1; + struct Xxx xxx2; + struct XxxR xxxr; + prepare_master_or_slave(myNdb1, opt_table, opt_pk, opt_pk_val, opt_col, + xxx1, xxxr); + prepare_master_or_slave(myNdb2, opt_table, opt_pk, opt_pk_val, opt_col, + xxx2, xxxr); + while (1) + { + // run the application code + run_master_update(xxx1, xxxr); + run_slave_wait(xxx2, xxxr); + ndbout << "latency: " << xxxr.latency << endl; + } + } + // Note: all connections must have been destroyed before calling ndb_end() + ndb_end(0); + + return 0; +} + +static int +prepare_master_or_slave(Ndb &myNdb, + const char* table, + const char* pk, + Uint32 pk_val, + const char* col, + struct Xxx &xxx, + struct XxxR &xxxr) +{ + if (myNdb.init()) + APIERROR(myNdb.getNdbError()); + const NdbDictionary::Dictionary* myDict = myNdb.getDictionary(); + const NdbDictionary::Table *myTable = myDict->getTable(table); + if (myTable == NULL) + APIERROR(myDict->getNdbError()); + const NdbDictionary::Column *myPkCol = myTable->getColumn(pk); + if (myPkCol == NULL) + APIERROR(myDict->getNdbError()); + if (myPkCol->getType() != NdbDictionary::Column::Unsigned) + { + PRINT_ERROR(0, "Primary key column not of type unsigned"); + exit(-1); + } + const NdbDictionary::Column *myCol = myTable->getColumn(col); + if (myCol == NULL) + APIERROR(myDict->getNdbError()); + if (myCol->getType() != NdbDictionary::Column::Unsigned) + { + PRINT_ERROR(0, "Update column not of type unsigned"); + exit(-1); + } + + xxx.ndb = &myNdb; + xxx.table = myTable; + xxx.pk_col = myPkCol->getColumnNo(); + xxx.col = myCol->getColumnNo(); + + xxxr.pk_val = pk_val; + + return 0; +} + +static void run_master_update(struct Xxx &xxx, struct XxxR &xxxr) +{ + Ndb *ndb = xxx.ndb; + const NdbDictionary::Table *myTable = xxx.table; + int retry_sleep= 10; /* 10 milliseconds */ + int retries= 100; + while (1) + { + Uint32 val; + NdbTransaction *trans = ndb->startTransaction(); + if (trans == NULL) + goto err; + { + NdbOperation *op = trans->getNdbOperation(myTable); + if (op == NULL) + APIERROR(trans->getNdbError()); + op->readTupleExclusive(); + op->equal(xxx.pk_col, xxxr.pk_val); + op->getValue(xxx.col, (char *)&val); + } + if (trans->execute(NdbTransaction::NoCommit)) + goto err; + //fprintf(stderr, "read %u\n", val); + xxxr.val = val + 1; + { + NdbOperation *op = trans->getNdbOperation(myTable); + if (op == NULL) + APIERROR(trans->getNdbError()); + op->updateTuple(); + op->equal(xxx.pk_col, xxxr.pk_val); + op->setValue(xxx.col, xxxr.val); + } + if (trans->execute(NdbTransaction::Commit)) + goto err; + ndb->closeTransaction(trans); + //fprintf(stderr, "updated to %u\n", xxxr.val); + break; +err: + const NdbError this_error= trans ? + trans->getNdbError() : ndb->getNdbError(); + if (this_error.status == NdbError::TemporaryError) + { + if (retries--) + { + if (trans) + ndb->closeTransaction(trans); + NdbSleep_MilliSleep(retry_sleep); + continue; // retry + } + } + if (trans) + ndb->closeTransaction(trans); + APIERROR(this_error); + } + /* update done start timer */ + gettimeofday(&xxxr.start_time, 0); +} + +static void run_slave_wait(struct Xxx &xxx, struct XxxR &xxxr) +{ + struct timeval old_end_time = xxxr.start_time, end_time; + Ndb *ndb = xxx.ndb; + const NdbDictionary::Table *myTable = xxx.table; + int retry_sleep= 10; /* 10 milliseconds */ + int retries= 100; + while (1) + { + Uint32 val; + NdbTransaction *trans = ndb->startTransaction(); + if (trans == NULL) + goto err; + { + NdbOperation *op = trans->getNdbOperation(myTable); + if (op == NULL) + APIERROR(trans->getNdbError()); + op->readTuple(); + op->equal(xxx.pk_col, xxxr.pk_val); + op->getValue(xxx.col, (char *)&val); + if (trans->execute(NdbTransaction::Commit)) + goto err; + } + /* read done, check time of read */ + gettimeofday(&end_time, 0); + ndb->closeTransaction(trans); + //fprintf(stderr, "read %u waiting for %u\n", val, xxxr.val); + if (xxxr.val != val) + { + /* expected value not received yet */ + retries = 100; + NdbSleep_MilliSleep(retry_sleep); + old_end_time = end_time; + continue; + } + break; +err: + const NdbError this_error= trans ? + trans->getNdbError() : ndb->getNdbError(); + if (this_error.status == NdbError::TemporaryError) + { + if (retries--) + { + if (trans) + ndb->closeTransaction(trans); + NdbSleep_MilliSleep(retry_sleep); + continue; // retry + } + } + if (trans) + ndb->closeTransaction(trans); + APIERROR(this_error); + } + + Int64 elapsed_usec1 = + ((Int64)end_time.tv_sec - (Int64)xxxr.start_time.tv_sec)*1000*1000 + + ((Int64)end_time.tv_usec - (Int64)xxxr.start_time.tv_usec); + Int64 elapsed_usec2 = + ((Int64)end_time.tv_sec - (Int64)old_end_time.tv_sec)*1000*1000 + + ((Int64)end_time.tv_usec - (Int64)old_end_time.tv_usec); + xxxr.latency = + ((elapsed_usec1 - elapsed_usec2/2)+999)/1000; +} From 56cf7a53b626c47d34df1bf75d3c99aae7d76696 Mon Sep 17 00:00:00 2001 From: "knielsen@ymer.(none)" <> Date: Tue, 24 Apr 2007 08:15:31 +0200 Subject: [PATCH 044/144] BUG#27370: Potential inconsistent blob reads for ReadCommitted reads. The old blob implementation had code that attempted to upgrade the lock mode for LM_CommittedRead operations, but it did not work properly as it did not recompute the operation flags. As a consequence, reading a blob with LM_CommittedRead could return inconsistent data, with different part of the read data being from different commits done by other transactions. The fix is to correctly recompute all necessary flags when upgrading lock mode. --- mysql-test/r/bdb_notembedded.result | 35 ++++ mysql-test/t/bdb_notembedded.test | 38 ++++ ndb/include/kernel/signaldata/ScanTab.hpp | 44 +++-- ndb/include/ndbapi/NdbOperation.hpp | 2 + ndb/include/ndbapi/NdbScanOperation.hpp | 1 + ndb/src/ndbapi/NdbBlob.cpp | 4 +- ndb/src/ndbapi/NdbOperationDefine.cpp | 30 ++++ ndb/src/ndbapi/NdbScanOperation.cpp | 66 ++++--- ndb/test/ndbapi/testBlobs.cpp | 201 +++++++++++++++++++++- ndb/test/run-test/daily-basic-tests.txt | 8 + 10 files changed, 381 insertions(+), 48 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/ndb/include/kernel/signaldata/ScanTab.hpp b/ndb/include/kernel/signaldata/ScanTab.hpp index 70d12c96756..15a022e2cba 100644 --- a/ndb/include/kernel/signaldata/ScanTab.hpp +++ b/ndb/include/kernel/signaldata/ScanTab.hpp @@ -113,15 +113,15 @@ private: z = Descending (TUX) - 1 Bit 14 x = Range Scan (TUX) - 1 Bit 15 b = Scan batch - 10 Bit 16-25 (max 1023) - d = Distribution key flag + d = Distribution key flag - 1 Bit 26 1111111111222222222233 01234567890123456789012345678901 - ppppppppl hcktzxbbbbbbbbbb + ppppppppl hcktzxbbbbbbbbbbd */ -#define PARALLELL_SHIFT (0) -#define PARALLELL_MASK (255) +#define PARALLEL_SHIFT (0) +#define PARALLEL_MASK (255) #define LOCK_MODE_SHIFT (8) #define LOCK_MODE_MASK (1) @@ -148,11 +148,12 @@ private: #define SCAN_BATCH_MASK (1023) #define SCAN_DISTR_KEY_SHIFT (26) +#define SCAN_DISTR_KEY_MASK (1) inline Uint8 ScanTabReq::getParallelism(const UintR & requestInfo){ - return (Uint8)((requestInfo >> PARALLELL_SHIFT) & PARALLELL_MASK); + return (Uint8)((requestInfo >> PARALLEL_SHIFT) & PARALLEL_MASK); } inline @@ -206,58 +207,65 @@ ScanTabReq::clearRequestInfo(UintR & requestInfo){ inline void ScanTabReq::setParallelism(UintR & requestInfo, Uint32 type){ - ASSERT_MAX(type, PARALLELL_MASK, "ScanTabReq::setParallellism"); - requestInfo |= (type << PARALLELL_SHIFT); + ASSERT_MAX(type, PARALLEL_MASK, "ScanTabReq::setParallelism"); + requestInfo= (requestInfo & ~(PARALLEL_MASK << PARALLEL_SHIFT)) | + ((type & PARALLEL_MASK) << PARALLEL_SHIFT); } inline void ScanTabReq::setLockMode(UintR & requestInfo, Uint32 mode){ ASSERT_MAX(mode, LOCK_MODE_MASK, "ScanTabReq::setLockMode"); - requestInfo |= (mode << LOCK_MODE_SHIFT); + requestInfo= (requestInfo & ~(LOCK_MODE_MASK << LOCK_MODE_SHIFT)) | + ((mode & LOCK_MODE_MASK) << LOCK_MODE_SHIFT); } inline void ScanTabReq::setHoldLockFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setHoldLockFlag"); - requestInfo |= (flag << HOLD_LOCK_SHIFT); + requestInfo= (requestInfo & ~(HOLD_LOCK_MASK << HOLD_LOCK_SHIFT)) | + ((flag & HOLD_LOCK_MASK) << HOLD_LOCK_SHIFT); } inline void ScanTabReq::setReadCommittedFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setReadCommittedFlag"); - requestInfo |= (flag << READ_COMMITTED_SHIFT); + requestInfo= (requestInfo & ~(READ_COMMITTED_MASK << READ_COMMITTED_SHIFT)) | + ((flag & READ_COMMITTED_MASK) << READ_COMMITTED_SHIFT); } inline void ScanTabReq::setRangeScanFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setRangeScanFlag"); - requestInfo |= (flag << RANGE_SCAN_SHIFT); + requestInfo= (requestInfo & ~(RANGE_SCAN_MASK << RANGE_SCAN_SHIFT)) | + ((flag & RANGE_SCAN_MASK) << RANGE_SCAN_SHIFT); } inline void ScanTabReq::setDescendingFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setDescendingFlag"); - requestInfo |= (flag << DESCENDING_SHIFT); + requestInfo= (requestInfo & ~(DESCENDING_MASK << DESCENDING_SHIFT)) | + ((flag & DESCENDING_MASK) << DESCENDING_SHIFT); } inline void ScanTabReq::setTupScanFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setTupScanFlag"); - requestInfo |= (flag << TUP_SCAN_SHIFT); + requestInfo= (requestInfo & ~(TUP_SCAN_MASK << TUP_SCAN_SHIFT)) | + ((flag & TUP_SCAN_MASK) << TUP_SCAN_SHIFT); } inline void ScanTabReq::setScanBatch(Uint32 & requestInfo, Uint32 flag){ ASSERT_MAX(flag, SCAN_BATCH_MASK, "ScanTabReq::setScanBatch"); - requestInfo &= ~(SCAN_BATCH_MASK << SCAN_BATCH_SHIFT); - requestInfo |= (flag << SCAN_BATCH_SHIFT); + requestInfo= (requestInfo & ~(SCAN_BATCH_MASK << SCAN_BATCH_SHIFT)) | + ((flag & SCAN_BATCH_MASK) << SCAN_BATCH_SHIFT); } inline @@ -270,7 +278,8 @@ inline void ScanTabReq::setKeyinfoFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setKeyinfoFlag"); - requestInfo |= (flag << KEYINFO_SHIFT); + requestInfo= (requestInfo & ~(KEYINFO_MASK << KEYINFO_SHIFT)) | + ((flag & KEYINFO_MASK) << KEYINFO_SHIFT); } inline @@ -283,7 +292,8 @@ inline void ScanTabReq::setDistributionKeyFlag(UintR & requestInfo, Uint32 flag){ ASSERT_BOOL(flag, "ScanTabReq::setKeyinfoFlag"); - requestInfo |= (flag << SCAN_DISTR_KEY_SHIFT); + requestInfo= (requestInfo & ~(SCAN_DISTR_KEY_MASK << SCAN_DISTR_KEY_SHIFT)) | + ((flag & SCAN_DISTR_KEY_MASK) << SCAN_DISTR_KEY_SHIFT); } /** diff --git a/ndb/include/ndbapi/NdbOperation.hpp b/ndb/include/ndbapi/NdbOperation.hpp index 5e9e6b9bde9..d4e300be15e 100644 --- a/ndb/include/ndbapi/NdbOperation.hpp +++ b/ndb/include/ndbapi/NdbOperation.hpp @@ -908,6 +908,8 @@ protected: // get table or index key from prepared signals int getKeyFromTCREQ(Uint32* data, unsigned size); + virtual void setReadLockMode(LockMode lockMode); + /****************************************************************************** * These are the private variables that are defined in the operation objects. *****************************************************************************/ diff --git a/ndb/include/ndbapi/NdbScanOperation.hpp b/ndb/include/ndbapi/NdbScanOperation.hpp index c84e12bfe7b..9117207b72c 100644 --- a/ndb/include/ndbapi/NdbScanOperation.hpp +++ b/ndb/include/ndbapi/NdbScanOperation.hpp @@ -212,6 +212,7 @@ protected: int prepareSend(Uint32 TC_ConnectPtr, Uint64 TransactionId); int doSend(int ProcessorId); void checkForceSend(bool forceSend); + virtual void setReadLockMode(LockMode lockMode); virtual void setErrorCode(int aErrorCode); virtual void setErrorCodeAbort(int aErrorCode); diff --git a/ndb/src/ndbapi/NdbBlob.cpp b/ndb/src/ndbapi/NdbBlob.cpp index f0e6bf2e720..c2ff5c18ef5 100644 --- a/ndb/src/ndbapi/NdbBlob.cpp +++ b/ndb/src/ndbapi/NdbBlob.cpp @@ -1157,7 +1157,7 @@ NdbBlob::atPrepare(NdbTransaction* aCon, NdbOperation* anOp, const NdbColumnImpl if (isReadOp()) { // upgrade lock mode if (theNdbOp->theLockMode == NdbOperation::LM_CommittedRead) - theNdbOp->theLockMode = NdbOperation::LM_Read; + theNdbOp->setReadLockMode(NdbOperation::LM_Read); // add read of head+inline in this op if (getHeadInlineValue(theNdbOp) == -1) DBUG_RETURN(-1); @@ -1178,7 +1178,7 @@ NdbBlob::atPrepare(NdbTransaction* aCon, NdbOperation* anOp, const NdbColumnImpl if (isScanOp()) { // upgrade lock mode if (theNdbOp->theLockMode == NdbOperation::LM_CommittedRead) - theNdbOp->theLockMode = NdbOperation::LM_Read; + theNdbOp->setReadLockMode(NdbOperation::LM_Read); // add read of head+inline in this op if (getHeadInlineValue(theNdbOp) == -1) DBUG_RETURN(-1); diff --git a/ndb/src/ndbapi/NdbOperationDefine.cpp b/ndb/src/ndbapi/NdbOperationDefine.cpp index d4112f0a34b..95e90609f9b 100644 --- a/ndb/src/ndbapi/NdbOperationDefine.cpp +++ b/ndb/src/ndbapi/NdbOperationDefine.cpp @@ -322,6 +322,36 @@ NdbOperation::interpretedDeleteTuple() }//if }//NdbOperation::interpretedDeleteTuple() +void +NdbOperation::setReadLockMode(LockMode lockMode) +{ + /* We only support changing lock mode for read operations at this time. */ + assert(theOperationType == ReadRequest || theOperationType == ReadExclusive); + switch (lockMode) + { + case LM_CommittedRead: + theOperationType= ReadRequest; + theSimpleIndicator= 1; + theDirtyIndicator= 1; + break; + case LM_Read: + theNdbCon->theSimpleState= 0; + theOperationType= ReadRequest; + theSimpleIndicator= 0; + theDirtyIndicator= 0; + break; + case LM_Exclusive: + theNdbCon->theSimpleState= 0; + theOperationType= ReadExclusive; + theSimpleIndicator= 0; + theDirtyIndicator= 0; + break; + default: + /* Not supported / invalid. */ + assert(false); + } + theLockMode= lockMode; +} /****************************************************************************** diff --git a/ndb/src/ndbapi/NdbScanOperation.cpp b/ndb/src/ndbapi/NdbScanOperation.cpp index 8433b70f0b2..861e4101751 100644 --- a/ndb/src/ndbapi/NdbScanOperation.cpp +++ b/ndb/src/ndbapi/NdbScanOperation.cpp @@ -136,31 +136,6 @@ NdbScanOperation::readTuples(NdbScanOperation::LockMode lm, } theNdbCon->theScanningOp = this; - theLockMode = lm; - - bool lockExcl, lockHoldMode, readCommitted; - switch(lm){ - case NdbScanOperation::LM_Read: - lockExcl = false; - lockHoldMode = true; - readCommitted = false; - break; - case NdbScanOperation::LM_Exclusive: - lockExcl = true; - lockHoldMode = true; - readCommitted = false; - break; - case NdbScanOperation::LM_CommittedRead: - lockExcl = false; - lockHoldMode = false; - readCommitted = true; - break; - default: - setErrorCode(4003); - return -1; - } - - m_keyInfo = ((scan_flags & SF_KeyInfo) || lockExcl) ? 1 : 0; bool rangeScan = false; if (m_accessTable->m_indexType == NdbDictionary::Index::OrderedIndex) @@ -210,13 +185,13 @@ NdbScanOperation::readTuples(NdbScanOperation::LockMode lm, Uint32 reqInfo = 0; ScanTabReq::setParallelism(reqInfo, parallel); ScanTabReq::setScanBatch(reqInfo, 0); - ScanTabReq::setLockMode(reqInfo, lockExcl); - ScanTabReq::setHoldLockFlag(reqInfo, lockHoldMode); - ScanTabReq::setReadCommittedFlag(reqInfo, readCommitted); ScanTabReq::setRangeScanFlag(reqInfo, rangeScan); ScanTabReq::setTupScanFlag(reqInfo, tupScan); req->requestInfo = reqInfo; + m_keyInfo = (scan_flags & SF_KeyInfo) ? 1 : 0; + setReadLockMode(lm); + Uint64 transId = theNdbCon->getTransactionId(); req->transId1 = (Uint32) transId; req->transId2 = (Uint32) (transId >> 32); @@ -236,6 +211,41 @@ NdbScanOperation::readTuples(NdbScanOperation::LockMode lm, return 0; } +void +NdbScanOperation::setReadLockMode(LockMode lockMode) +{ + bool lockExcl, lockHoldMode, readCommitted; + switch (lockMode) + { + case LM_CommittedRead: + lockExcl= false; + lockHoldMode= false; + readCommitted= true; + break; + case LM_Read: + lockExcl= false; + lockHoldMode= true; + readCommitted= false; + break; + case LM_Exclusive: + lockExcl= true; + lockHoldMode= true; + readCommitted= false; + m_keyInfo= 1; + break; + default: + /* Not supported / invalid. */ + assert(false); + } + theLockMode= lockMode; + ScanTabReq *req= CAST_PTR(ScanTabReq, theSCAN_TABREQ->getDataPtrSend()); + Uint32 reqInfo= req->requestInfo; + ScanTabReq::setLockMode(reqInfo, lockExcl); + ScanTabReq::setHoldLockFlag(reqInfo, lockHoldMode); + ScanTabReq::setReadCommittedFlag(reqInfo, readCommitted); + req->requestInfo= reqInfo; +} + int NdbScanOperation::fix_receivers(Uint32 parallel){ assert(parallel > 0); diff --git a/ndb/test/ndbapi/testBlobs.cpp b/ndb/test/ndbapi/testBlobs.cpp index bc703d64f21..bbcbd53ecb8 100644 --- a/ndb/test/ndbapi/testBlobs.cpp +++ b/ndb/test/ndbapi/testBlobs.cpp @@ -139,6 +139,7 @@ printusage() << "bug tests (no blob test)" << endl << " -bug 4088 ndb api hang with mixed ops on index table" << endl << " -bug 27018 middle partial part write clobbers rest of part" << endl + << " -bug 27370 Potential inconsistent blob reads for ReadCommitted reads" << endl << " -bug nnnn delete + write gives 626" << endl << " -bug nnnn acc crash on delete and long key" << endl ; @@ -1857,6 +1858,203 @@ bugtest_27018() return 0; } + +struct bug27370_data { + Ndb *m_ndb; + char m_current_write_value; + char *m_writebuf; + Uint32 m_blob1_size; + Uint32 m_pk1; + char m_pk2[g_max_pk2len + 1]; + bool m_thread_stop; +}; + +void *bugtest_27370_thread(void *arg) +{ + bug27370_data *data= (bug27370_data *)arg; + + while (!data->m_thread_stop) + { + memset(data->m_writebuf, data->m_current_write_value, data->m_blob1_size); + data->m_current_write_value++; + + NdbConnection *con; + if ((con= data->m_ndb->startTransaction()) == 0) + return (void *)"Failed to create transaction"; + NdbOperation *opr; + if ((opr= con->getNdbOperation(g_opt.m_tname)) == 0) + return (void *)"Failed to create operation"; + if (opr->writeTuple() != 0) + return (void *)"writeTuple() failed"; + if (opr->equal("PK1", data->m_pk1) != 0) + return (void *)"equal(PK1) failed"; + if (g_opt.m_pk2len != 0) + if (opr->equal("PK2", data->m_pk2) != 0) + return (void *)"equal(PK2) failed"; + NdbBlob *bh; + if ((bh= opr->getBlobHandle("BL1")) == 0) + return (void *)"getBlobHandle() failed"; + if (bh->setValue(data->m_writebuf, data->m_blob1_size) != 0) + return (void *)"setValue() failed"; + if (con->execute(Commit, AbortOnError, 1) != 0) + return (void *)"execute() failed"; + data->m_ndb->closeTransaction(con); + } + + return NULL; // Success +} + +static int +bugtest_27370() +{ + DBG("bug test 27370 - Potential inconsistent blob reads for ReadCommitted reads"); + + bug27370_data data; + + data.m_ndb= new Ndb(g_ncc, "TEST_DB"); + CHK(data.m_ndb->init(20) == 0); + CHK(data.m_ndb->waitUntilReady() == 0); + + data.m_current_write_value= 0; + data.m_blob1_size= g_opt.m_blob1.m_inline + 10 * g_opt.m_blob1.m_partsize; + CHK((data.m_writebuf= new char [data.m_blob1_size]) != 0); + data.m_pk1= 27370; + memset(data.m_pk2, 'x', g_max_pk2len); + data.m_pk2[g_max_pk2len]= '\0'; + data.m_thread_stop= false; + + memset(data.m_writebuf, data.m_current_write_value, data.m_blob1_size); + data.m_current_write_value++; + + CHK((g_con= g_ndb->startTransaction()) != 0); + CHK((g_opr= g_con->getNdbOperation(g_opt.m_tname)) != 0); + CHK(g_opr->writeTuple() == 0); + CHK(g_opr->equal("PK1", data.m_pk1) == 0); + if (g_opt.m_pk2len != 0) + CHK(g_opr->equal("PK2", data.m_pk2) == 0); + CHK((g_bh1= g_opr->getBlobHandle("BL1")) != 0); + CHK(g_bh1->setValue(data.m_writebuf, data.m_blob1_size) == 0); + CHK(g_con->execute(Commit) == 0); + g_ndb->closeTransaction(g_con); + g_con= NULL; + + pthread_t thread_handle; + CHK(pthread_create(&thread_handle, NULL, bugtest_27370_thread, &data) == 0); + + DBG("bug test 27370 - PK blob reads"); + Uint32 seen_updates= 0; + while (seen_updates < 50) + { + CHK((g_con= g_ndb->startTransaction()) != 0); + CHK((g_opr= g_con->getNdbOperation(g_opt.m_tname)) != 0); + CHK(g_opr->readTuple(NdbOperation::LM_CommittedRead) == 0); + CHK(g_opr->equal("PK1", data.m_pk1) == 0); + if (g_opt.m_pk2len != 0) + CHK(g_opr->equal("PK2", data.m_pk2) == 0); + CHK((g_bh1= g_opr->getBlobHandle("BL1")) != 0); + CHK(g_con->execute(NoCommit, AbortOnError, 1) == 0); + + const Uint32 loop_max= 10; + char read_char; + char original_read_char= 0; + Uint32 readloop; + for (readloop= 0;; readloop++) + { + if (readloop > 0) + { + if (readloop > 1) + { + /* Compare against first read. */ + CHK(read_char == original_read_char); + } + else + { + /* + We count the number of times we see the other thread had the + chance to update, so that we can be sure it had the opportunity + to run a reasonable number of times before we stop. + */ + if (original_read_char != read_char) + seen_updates++; + original_read_char= read_char; + } + } + if (readloop > loop_max) + break; + Uint32 readSize= 1; + CHK(g_bh1->setPos(urandom(data.m_blob1_size)) == 0); + CHK(g_bh1->readData(&read_char, readSize) == 0); + CHK(readSize == 1); + ExecType commitType= readloop == loop_max ? Commit : NoCommit; + CHK(g_con->execute(commitType, AbortOnError, 1) == 0); + } + g_ndb->closeTransaction(g_con); + g_con= NULL; + } + + DBG("bug test 27370 - table scan blob reads"); + seen_updates= 0; + while (seen_updates < 50) + { + CHK((g_con= g_ndb->startTransaction()) != 0); + CHK((g_ops= g_con->getNdbScanOperation(g_opt.m_tname)) != 0); + CHK(g_ops->readTuples(NdbOperation::LM_CommittedRead) == 0); + CHK((g_bh1= g_ops->getBlobHandle("BL1")) != 0); + CHK(g_con->execute(NoCommit, AbortOnError, 1) == 0); + CHK(g_ops->nextResult(true) == 0); + + const Uint32 loop_max= 10; + char read_char; + char original_read_char= 0; + Uint32 readloop; + for (readloop= 0;; readloop++) + { + if (readloop > 0) + { + if (readloop > 1) + { + /* Compare against first read. */ + CHK(read_char == original_read_char); + } + else + { + /* + We count the number of times we see the other thread had the + chance to update, so that we can be sure it had the opportunity + to run a reasonable number of times before we stop. + */ + if (original_read_char != read_char) + seen_updates++; + original_read_char= read_char; + } + } + if (readloop > loop_max) + break; + Uint32 readSize= 1; + CHK(g_bh1->setPos(urandom(data.m_blob1_size)) == 0); + CHK(g_bh1->readData(&read_char, readSize) == 0); + CHK(readSize == 1); + CHK(g_con->execute(NoCommit, AbortOnError, 1) == 0); + } + + CHK(g_ops->nextResult(true) == 1); + g_ndb->closeTransaction(g_con); + g_con= NULL; + } + + data.m_thread_stop= true; + void *thread_return; + CHK(pthread_join(thread_handle, &thread_return) == 0); + DBG("bug 27370 - thread return status: " << + (thread_return ? (char *)thread_return : "")); + CHK(thread_return == 0); + + g_con= NULL; + g_opr= NULL; + g_bh1= NULL; + return 0; +} + static int bugtest_2222() { @@ -1874,7 +2072,8 @@ static struct { int (*m_test)(); } g_bugtest[] = { { 4088, bugtest_4088 }, - { 27018, bugtest_27018 } + { 27018, bugtest_27018 }, + { 27370, bugtest_27370 } }; NDB_COMMAND(testOdbcDriver, "testBlobs", "testBlobs", "testBlobs", 65535) diff --git a/ndb/test/run-test/daily-basic-tests.txt b/ndb/test/run-test/daily-basic-tests.txt index a35b2b3f7c7..d4059783124 100644 --- a/ndb/test/run-test/daily-basic-tests.txt +++ b/ndb/test/run-test/daily-basic-tests.txt @@ -645,6 +645,14 @@ max-time: 600 cmd: testBlobs args: +max-time: 600 +cmd: testBlobs +args: -bug 27018 + +max-time: 600 +cmd: testBlobs +args: -bug 27370 + max-time: 5000 cmd: testOIBasic args: -case abcdefz From dfa2008911adea3f231bdb90719d882358f78a53 Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Tue, 24 Apr 2007 08:22:30 +0200 Subject: [PATCH 045/144] ndb - bug#21755 table/index (es) need special treatment... --- storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp index 318dc1aea8e..39dda8b6db5 100644 --- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp +++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp @@ -2819,8 +2819,10 @@ void Dbdict::checkSchemaStatus(Signal* signal) continue; case SchemaFile::ADD_STARTED: jam(); case SchemaFile::DROP_TABLE_STARTED: jam(); - ndbrequire(false); - return; + ndbrequire(DictTabInfo::isTable(newEntry->m_tableType) || + DictTabInfo::isIndex(newEntry->m_tableType)); + newEntry->m_tableState = SchemaFile::INIT; + continue; case SchemaFile::TABLE_ADD_COMMITTED: jam(); case SchemaFile::ALTER_TABLE_COMMITTED: jam(); if (DictTabInfo::isIndex(newEntry->m_tableType) || From c68a4c9c6fcaf8f9c6f4e895ad87dfbbdd756fc3 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Tue, 24 Apr 2007 10:25:15 +0200 Subject: [PATCH 046/144] Back-ported compiler warning fixes from 5.1 to ease merging --- sql/ha_ndbcluster_cond.cc | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/sql/ha_ndbcluster_cond.cc b/sql/ha_ndbcluster_cond.cc index 88a14e10ab3..a0eaccb68d8 100644 --- a/sql/ha_ndbcluster_cond.cc +++ b/sql/ha_ndbcluster_cond.cc @@ -270,7 +270,7 @@ void ndb_serialize_cond(const Item *item, void *arg) type == MYSQL_TYPE_DATETIME) ? (context->expecting_field_result(STRING_RESULT) || context->expecting_field_result(INT_RESULT)) - : true)) && + : TRUE)) && // Bit fields no yet supported in scan filter type != MYSQL_TYPE_BIT && // No BLOB support in scan filter @@ -350,7 +350,7 @@ void ndb_serialize_cond(const Item *item, void *arg) } else { - DBUG_PRINT("info", ("Was not expecting field from table %s(%s)", + DBUG_PRINT("info", ("Was not expecting field from table %s (%s)", context->table->s->table_name, field->table->s->table_name)); context->supported= FALSE; @@ -770,7 +770,7 @@ void ndb_serialize_cond(const Item *item, void *arg) DBUG_PRINT("info", ("REAL_ITEM")); if (context->expecting(Item::REAL_ITEM)) { - DBUG_PRINT("info", ("value %f", ((Item_float *) item)->value)); + DBUG_PRINT("info", ("value %f", ((Item_float*) item)->value)); NDB_ITEM_QUALIFICATION q; q.value_type= Item::REAL_ITEM; curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); @@ -990,27 +990,28 @@ ha_ndbcluster_cond::build_scan_filter_predicate(Ndb_cond * &cond, break; Ndb_item *a= cond->next->ndb_item; Ndb_item *b, *field, *value= NULL; - LINT_INIT(field); switch (cond->ndb_item->argument_count()) { case 1: - field= - (a->type == NDB_FIELD)? a : NULL; + field= (a->type == NDB_FIELD)? a : NULL; break; case 2: if (!cond->next->next) + { + field= NULL; break; + } b= cond->next->next->ndb_item; - value= - (a->type == NDB_VALUE)? a - : (b->type == NDB_VALUE)? b - : NULL; - field= - (a->type == NDB_FIELD)? a - : (b->type == NDB_FIELD)? b - : NULL; + value= ((a->type == NDB_VALUE) ? a : + (b->type == NDB_VALUE) ? b : + NULL); + field= ((a->type == NDB_FIELD) ? a : + (b->type == NDB_FIELD) ? b : + NULL); break; default: + field= NULL; //Keep compiler happy + DBUG_ASSERT(0); break; } switch ((negated) ? From 25ecc7389111491c7910590467022a3a198a94fb Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Tue, 24 Apr 2007 11:17:27 +0200 Subject: [PATCH 047/144] Moved method definition to ease merge to 5.1 --- sql/ha_ndbcluster.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index 3904d3da416..47510337bf4 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -310,6 +310,8 @@ bool uses_blob_value(bool all_fields); void no_uncommitted_rows_init(THD *); void no_uncommitted_rows_reset(THD *); + void release_completed_operations(NdbTransaction*, bool); + friend int execute_commit(ha_ndbcluster*, NdbTransaction*); friend int execute_no_commit(ha_ndbcluster*, NdbTransaction*, bool); friend int execute_no_commit_ie(ha_ndbcluster*, NdbTransaction*, bool); @@ -357,7 +359,6 @@ bool uses_blob_value(bool all_fields); bool m_force_send; ha_rows m_autoincrement_prefetch; bool m_transaction_on; - void release_completed_operations(NdbTransaction*, bool); ha_ndbcluster_cond *m_cond; bool m_disable_multi_read; From eaba3f254840c4fca051e471576fe4279ae6f176 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Tue, 24 Apr 2007 14:24:06 +0200 Subject: [PATCH 048/144] ha_ndbcluster.h, ha_ndbcluster.cc: Refactored code for engine_condition_pushdown to ha_ndbcluster_cond Makefile.am: Added compilation of ha_ndbcluster_cond ha_ndbcluster_cond.h, ha_ndbcluster_cond.cc: Merge --- libmysqld/Makefile.am | 5 +- sql/Makefile.am | 15 +- sql/ha_ndbcluster.cc | 1409 +------------------------------------ sql/ha_ndbcluster.h | 443 +----------- sql/ha_ndbcluster_cond.cc | 6 +- sql/ha_ndbcluster_cond.h | 7 +- 6 files changed, 55 insertions(+), 1830 deletions(-) diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am index 48981e4beee..22e900eb054 100644 --- a/libmysqld/Makefile.am +++ b/libmysqld/Makefile.am @@ -45,7 +45,7 @@ libmysqlsources = errmsg.c get_password.c libmysql.c client.c pack.c \ noinst_HEADERS = embedded_priv.h emb_qcache.h sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \ - ha_ndbcluster.cc \ + ha_ndbcluster.cc ha_ndbcluster_cond.cc \ ha_ndbcluster_binlog.cc ha_partition.cc \ handler.cc sql_handler.cc \ hostname.cc init.cc password.c \ @@ -105,6 +105,9 @@ endif ha_ndbcluster.o:ha_ndbcluster.cc $(CXXCOMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< +ha_ndbcluster_cond.o:ha_ndbcluster_cond.cc + $(CXXCOMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< + ha_ndbcluster_binlog.o: ha_ndbcluster_binlog.cc $(CXXCOMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< diff --git a/sql/Makefile.am b/sql/Makefile.am index 5f0b9476c01..1849587962e 100644 --- a/sql/Makefile.am +++ b/sql/Makefile.am @@ -48,9 +48,9 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ procedure.h sql_class.h sql_lex.h sql_list.h \ sql_map.h sql_string.h unireg.h \ sql_error.h field.h handler.h mysqld_suffix.h \ - ha_partition.h \ - ha_ndbcluster.h ha_ndbcluster_binlog.h \ - ha_ndbcluster_tables.h rpl_constants.h \ + ha_ndbcluster.h ha_ndbcluster_cond.h \ + ha_ndbcluster_binlog.h ha_ndbcluster_tables.h + ha_partition.h rpl_constants.h \ opt_range.h protocol.h rpl_tblmap.h rpl_utility.h \ log.h sql_show.h rpl_rli.h rpl_mi.h \ sql_select.h structs.h table.h sql_udf.h hash_filo.h \ @@ -89,8 +89,8 @@ mysqld_SOURCES = sql_lex.cc sql_handler.cc sql_partition.cc \ unireg.cc des_key_file.cc \ discover.cc time.cc opt_range.cc opt_sum.cc \ records.cc filesort.cc handler.cc \ - ha_partition.cc \ - ha_ndbcluster.cc ha_ndbcluster_binlog.cc \ + ha_ndbcluster.cc ha_ndbcluster_cond.cc \ + ha_ndbcluster_binlog.cc ha_partition.cc \ sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \ sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \ sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \ @@ -153,10 +153,13 @@ lex_hash.h: gen_lex_hash.cc lex.h ./gen_lex_hash$(EXEEXT) > $@-t $(MV) $@-t $@ -# the following three should eventually be moved out of this directory +# the following four should eventually be moved out of this directory ha_ndbcluster.o:ha_ndbcluster.cc ha_ndbcluster.h $(CXXCOMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< +ha_ndbcluster_cond.o:ha_ndbcluster_cond.cc ha_ndbcluster_cond.h + $(CXXCOMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< + ha_ndbcluster_binlog.o:ha_ndbcluster_binlog.cc ha_ndbcluster_binlog.h $(CXXCOMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 775dabcceec..4228cbe1e06 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -29,7 +29,7 @@ #ifdef WITH_NDBCLUSTER_STORAGE_ENGINE #include "ha_ndbcluster.h" #include -#include +#include "ha_ndbcluster_cond.h" #include <../util/Bitmask.hpp> #include @@ -2402,7 +2402,7 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key, if (!restart) { - if (generate_scan_filter(m_cond_stack, op)) + if (m_cond && m_cond->generate_scan_filter(op)) DBUG_RETURN(ndb_err(trans)); if ((res= define_read_attrs(buf, op))) @@ -2508,8 +2508,14 @@ int ha_ndbcluster::unique_index_scan(const KEY* key_info, (get_ndb_partition_id(op))) ERR_RETURN(trans->getNdbError()); } - - if (generate_scan_filter_from_key(op, key_info, key, key_len, buf)) + if (!m_cond) + m_cond= new ha_ndbcluster_cond; + if (!m_cond) + { + my_errno= HA_ERR_OUT_OF_MEM; + DBUG_RETURN(my_errno); + } + if (m_cond->generate_scan_filter_from_key(op, key_info, key, key_len, buf)) DBUG_RETURN(ndb_err(trans)); if ((res= define_read_attrs(buf, op))) DBUG_RETURN(res); @@ -2578,7 +2584,7 @@ int ha_ndbcluster::full_table_scan(byte *buf) ERR_RETURN(trans->getNdbError()); } - if (generate_scan_filter(m_cond_stack, op)) + if (m_cond && m_cond->generate_scan_filter(op)) DBUG_RETURN(ndb_err(trans)); if ((res= define_read_attrs(buf, op))) DBUG_RETURN(res); @@ -3949,7 +3955,11 @@ int ha_ndbcluster::extra(enum ha_extra_function operation) int ha_ndbcluster::reset() { DBUG_ENTER("ha_ndbcluster::reset"); - cond_clear(); + if (m_cond) + { + m_cond->cond_clear(); + } + /* Regular partition pruning will set the bitmap appropriately. Some queries like ALTER TABLE doesn't use partition pruning and @@ -6001,7 +6011,7 @@ ha_ndbcluster::ha_ndbcluster(handlerton *hton, TABLE_SHARE *table_arg): m_force_send(TRUE), m_autoincrement_prefetch((ha_rows) 32), m_transaction_on(TRUE), - m_cond_stack(NULL), + m_cond(NULL), m_multi_cursor(NULL) { int i; @@ -6060,9 +6070,13 @@ ha_ndbcluster::~ha_ndbcluster() } DBUG_ASSERT(m_active_trans == NULL); - // Discard the condition stack - DBUG_PRINT("info", ("Clearing condition stack")); - cond_clear(); + // Discard any generated condition + DBUG_PRINT("info", ("Deleting generated condition")); + if (m_cond) + { + delete m_cond; + m_cond= NULL; + } DBUG_VOID_RETURN; } @@ -8434,7 +8448,7 @@ ha_ndbcluster::read_multi_range_first(KEY_MULTI_RANGE **found_range_p, else if ((scanOp= m_active_trans->getNdbIndexScanOperation(idx, tab)) &&!scanOp->readTuples(lm, 0, parallelism, sorted, FALSE, TRUE, need_pk, TRUE) - &&!generate_scan_filter(m_cond_stack, scanOp) + &&!(m_cond && m_cond->generate_scan_filter(scanOp)) &&!define_read_attrs(end_of_buffer-reclength, scanOp)) { m_multi_cursor= scanOp; @@ -9020,28 +9034,15 @@ COND* ha_ndbcluster::cond_push(const COND *cond) { DBUG_ENTER("cond_push"); - Ndb_cond_stack *ndb_cond = new Ndb_cond_stack(); - if (ndb_cond == NULL) + if (!m_cond) + m_cond= new ha_ndbcluster_cond; + if (!m_cond) { my_errno= HA_ERR_OUT_OF_MEM; DBUG_RETURN(NULL); } DBUG_EXECUTE("where",print_where((COND *)cond, m_tabname);); - if (m_cond_stack) - ndb_cond->next= m_cond_stack; - else - ndb_cond->next= NULL; - m_cond_stack= ndb_cond; - - if (serialize_cond(cond, ndb_cond)) - { - DBUG_RETURN(NULL); - } - else - { - cond_pop(); - } - DBUG_RETURN(cond); + DBUG_RETURN(m_cond->cond_push(cond, table, (NDBTAB *)m_table)); } /* @@ -9050,1356 +9051,8 @@ ha_ndbcluster::cond_push(const COND *cond) void ha_ndbcluster::cond_pop() { - Ndb_cond_stack *ndb_cond_stack= m_cond_stack; - if (ndb_cond_stack) - { - m_cond_stack= ndb_cond_stack->next; - delete ndb_cond_stack; - } -} - -/* - Clear the condition stack -*/ -void -ha_ndbcluster::cond_clear() -{ - DBUG_ENTER("cond_clear"); - while (m_cond_stack) - cond_pop(); - - DBUG_VOID_RETURN; -} - -/* - Serialize the item tree into a linked list represented by Ndb_cond - for fast generation of NbdScanFilter. Adds information such as - position of fields that is not directly available in the Item tree. - Also checks if condition is supported. -*/ -void ndb_serialize_cond(const Item *item, void *arg) -{ - Ndb_cond_traverse_context *context= (Ndb_cond_traverse_context *) arg; - DBUG_ENTER("ndb_serialize_cond"); - - // Check if we are skipping arguments to a function to be evaluated - if (context->skip) - { - DBUG_PRINT("info", ("Skiping argument %d", context->skip)); - context->skip--; - switch (item->type()) { - case Item::FUNC_ITEM: - { - Item_func *func_item= (Item_func *) item; - context->skip+= func_item->argument_count(); - break; - } - case Item::INT_ITEM: - case Item::REAL_ITEM: - case Item::STRING_ITEM: - case Item::VARBIN_ITEM: - case Item::DECIMAL_ITEM: - break; - default: - context->supported= FALSE; - break; - } - - DBUG_VOID_RETURN; - } - - if (context->supported) - { - Ndb_rewrite_context *rewrite_context2= context->rewrite_stack; - const Item_func *rewrite_func_item; - // Check if we are rewriting some unsupported function call - if (rewrite_context2 && - (rewrite_func_item= rewrite_context2->func_item) && - rewrite_context2->count++ == 0) - { - switch (rewrite_func_item->functype()) { - case Item_func::BETWEEN: - /* - Rewrite - | BETWEEN | AND | - to | > | AND - | < | - or actually in prefix format - BEGIN(AND) GT(|, |), - LT(|, |), END() - */ - case Item_func::IN_FUNC: - { - /* - Rewrite | IN(|, |,..) - to | = | OR - = | ... - or actually in prefix format - BEGIN(OR) EQ(|, ), - EQ(|, |), ... END() - Each part of the disjunction is added for each call - to ndb_serialize_cond and end of rewrite statement - is wrapped in end of ndb_serialize_cond - */ - if (context->expecting(item->type())) - { - // This is the | item, save it in the rewrite context - rewrite_context2->left_hand_item= item; - if (item->type() == Item::FUNC_ITEM) - { - Item_func *func_item= (Item_func *) item; - if (func_item->functype() == Item_func::UNKNOWN_FUNC && - func_item->const_item()) - { - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - } - else - { - DBUG_PRINT("info", ("Found unsupported functional expression in BETWEEN|IN")); - context->supported= FALSE; - DBUG_VOID_RETURN; - - } - } - } - else - { - // Non-supported BETWEEN|IN expression - DBUG_PRINT("info", ("Found unexpected item of type %u in BETWEEN|IN", - item->type())); - context->supported= FALSE; - DBUG_VOID_RETURN; - } - break; - } - default: - context->supported= FALSE; - break; - } - DBUG_VOID_RETURN; - } - else - { - Ndb_cond_stack *ndb_stack= context->stack_ptr; - Ndb_cond *prev_cond= context->cond_ptr; - Ndb_cond *curr_cond= context->cond_ptr= new Ndb_cond(); - if (!ndb_stack->ndb_cond) - ndb_stack->ndb_cond= curr_cond; - curr_cond->prev= prev_cond; - if (prev_cond) prev_cond->next= curr_cond; - // Check if we are rewriting some unsupported function call - if (context->rewrite_stack) - { - Ndb_rewrite_context *rewrite_context= context->rewrite_stack; - const Item_func *func_item= rewrite_context->func_item; - switch (func_item->functype()) { - case Item_func::BETWEEN: - { - /* - Rewrite - | BETWEEN | AND | - to | > | AND - | < | - or actually in prefix format - BEGIN(AND) GT(|, |), - LT(|, |), END() - */ - if (rewrite_context->count == 2) - { - // Lower limit of BETWEEN - DBUG_PRINT("info", ("GE_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::GE_FUNC, 2); - } - else if (rewrite_context->count == 3) - { - // Upper limit of BETWEEN - DBUG_PRINT("info", ("LE_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::LE_FUNC, 2); - } - else - { - // Illegal BETWEEN expression - DBUG_PRINT("info", ("Illegal BETWEEN expression")); - context->supported= FALSE; - DBUG_VOID_RETURN; - } - break; - } - case Item_func::IN_FUNC: - { - /* - Rewrite | IN(|, |,..) - to | = | OR - = | ... - or actually in prefix format - BEGIN(OR) EQ(|, ), - EQ(|, |), ... END() - Each part of the disjunction is added for each call - to ndb_serialize_cond and end of rewrite statement - is wrapped in end of ndb_serialize_cond - */ - DBUG_PRINT("info", ("EQ_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::EQ_FUNC, 2); - break; - } - default: - context->supported= FALSE; - } - // Handle left hand | - context->rewrite_stack= NULL; // Disable rewrite mode - context->expect_only(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - context->expect(Item::INT_ITEM); - context->expect(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FUNC_ITEM); - ndb_serialize_cond(rewrite_context->left_hand_item, arg); - context->skip= 0; // Any FUNC_ITEM expression has already been parsed - context->rewrite_stack= rewrite_context; // Enable rewrite mode - if (!context->supported) - DBUG_VOID_RETURN; - - prev_cond= context->cond_ptr; - curr_cond= context->cond_ptr= new Ndb_cond(); - prev_cond->next= curr_cond; - } - - // Check for end of AND/OR expression - if (!item) - { - // End marker for condition group - DBUG_PRINT("info", ("End of condition group")); - curr_cond->ndb_item= new Ndb_item(NDB_END_COND); - } - else - { - switch (item->type()) { - case Item::FIELD_ITEM: - { - Item_field *field_item= (Item_field *) item; - Field *field= field_item->field; - enum_field_types type= field->type(); - /* - Check that the field is part of the table of the handler - instance and that we expect a field with of this result type. - */ - if (context->table->s == field->table->s) - { - const NDBTAB *tab= (const NDBTAB *) context->ndb_table; - DBUG_PRINT("info", ("FIELD_ITEM")); - DBUG_PRINT("info", ("table %s", tab->getName())); - DBUG_PRINT("info", ("column %s", field->field_name)); - DBUG_PRINT("info", ("type %d", field->type())); - DBUG_PRINT("info", ("result type %d", field->result_type())); - - // Check that we are expecting a field and with the correct - // result type - if (context->expecting(Item::FIELD_ITEM) && - context->expecting_field_type(field->type()) && - (context->expecting_field_result(field->result_type()) || - // Date and year can be written as string or int - ((type == MYSQL_TYPE_TIME || - type == MYSQL_TYPE_DATE || - type == MYSQL_TYPE_YEAR || - type == MYSQL_TYPE_DATETIME) - ? (context->expecting_field_result(STRING_RESULT) || - context->expecting_field_result(INT_RESULT)) - : TRUE)) && - // Bit fields no yet supported in scan filter - type != MYSQL_TYPE_BIT && - // No BLOB support in scan filter - type != MYSQL_TYPE_TINY_BLOB && - type != MYSQL_TYPE_MEDIUM_BLOB && - type != MYSQL_TYPE_LONG_BLOB && - type != MYSQL_TYPE_BLOB) - { - const NDBCOL *col= tab->getColumn(field->field_name); - DBUG_ASSERT(col); - curr_cond->ndb_item= new Ndb_item(field, col->getColumnNo()); - context->dont_expect(Item::FIELD_ITEM); - context->expect_no_field_result(); - if (! context->expecting_nothing()) - { - // We have not seen second argument yet - if (type == MYSQL_TYPE_TIME || - type == MYSQL_TYPE_DATE || - type == MYSQL_TYPE_YEAR || - type == MYSQL_TYPE_DATETIME) - { - context->expect_only(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - } - else - switch (field->result_type()) { - case STRING_RESULT: - // Expect char string or binary string - context->expect_only(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect_collation(field_item->collation.collation); - break; - case REAL_RESULT: - context->expect_only(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::INT_ITEM); - break; - case INT_RESULT: - context->expect_only(Item::INT_ITEM); - context->expect(Item::VARBIN_ITEM); - break; - case DECIMAL_RESULT: - context->expect_only(Item::DECIMAL_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::INT_ITEM); - break; - default: - break; - } - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - // Check that field and string constant collations are the same - if ((field->result_type() == STRING_RESULT) && - !context->expecting_collation(item->collation.collation) - && type != MYSQL_TYPE_TIME - && type != MYSQL_TYPE_DATE - && type != MYSQL_TYPE_YEAR - && type != MYSQL_TYPE_DATETIME) - { - DBUG_PRINT("info", ("Found non-matching collation %s", - item->collation.collation->name)); - context->supported= FALSE; - } - } - break; - } - else - { - DBUG_PRINT("info", ("Was not expecting field of type %u(%u)", - field->result_type(), type)); - context->supported= FALSE; - } - } - else - { - DBUG_PRINT("info", ("Was not expecting field from table %s (%s)", - context->table->s->table_name.str, - field->table->s->table_name.str)); - context->supported= FALSE; - } - break; - } - case Item::FUNC_ITEM: - { - Item_func *func_item= (Item_func *) item; - // Check that we expect a function or functional expression here - if (context->expecting(Item::FUNC_ITEM) || - func_item->functype() == Item_func::UNKNOWN_FUNC) - context->expect_nothing(); - else - { - // Did not expect function here - context->supported= FALSE; - break; - } - - switch (func_item->functype()) { - case Item_func::EQ_FUNC: - { - DBUG_PRINT("info", ("EQ_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::NE_FUNC: - { - DBUG_PRINT("info", ("NE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::LT_FUNC: - { - DBUG_PRINT("info", ("LT_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::LE_FUNC: - { - DBUG_PRINT("info", ("LE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::GE_FUNC: - { - DBUG_PRINT("info", ("GE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::GT_FUNC: - { - DBUG_PRINT("info", ("GT_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::REAL_ITEM); - context->expect(Item::DECIMAL_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::LIKE_FUNC: - { - DBUG_PRINT("info", ("LIKE_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::STRING_ITEM); - context->expect(Item::FIELD_ITEM); - context->expect_only_field_type(MYSQL_TYPE_STRING); - context->expect_field_type(MYSQL_TYPE_VAR_STRING); - context->expect_field_type(MYSQL_TYPE_VARCHAR); - context->expect_field_result(STRING_RESULT); - context->expect(Item::FUNC_ITEM); - break; - } - case Item_func::ISNULL_FUNC: - { - DBUG_PRINT("info", ("ISNULL_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::ISNOTNULL_FUNC: - { - DBUG_PRINT("info", ("ISNOTNULL_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::FIELD_ITEM); - context->expect_field_result(STRING_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(INT_RESULT); - context->expect_field_result(DECIMAL_RESULT); - break; - } - case Item_func::NOT_FUNC: - { - DBUG_PRINT("info", ("NOT_FUNC")); - curr_cond->ndb_item= new Ndb_item(func_item->functype(), - func_item); - context->expect(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - break; - } - case Item_func::BETWEEN: - { - DBUG_PRINT("info", ("BETWEEN, rewriting using AND")); - Item_func_between *between_func= (Item_func_between *) func_item; - Ndb_rewrite_context *rewrite_context= - new Ndb_rewrite_context(func_item); - rewrite_context->next= context->rewrite_stack; - context->rewrite_stack= rewrite_context; - if (between_func->negated) - { - DBUG_PRINT("info", ("NOT_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::NOT_FUNC, 1); - prev_cond= curr_cond; - curr_cond= context->cond_ptr= new Ndb_cond(); - curr_cond->prev= prev_cond; - prev_cond->next= curr_cond; - } - DBUG_PRINT("info", ("COND_AND_FUNC")); - curr_cond->ndb_item= - new Ndb_item(Item_func::COND_AND_FUNC, - func_item->argument_count() - 1); - context->expect_only(Item::FIELD_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FUNC_ITEM); - break; - } - case Item_func::IN_FUNC: - { - DBUG_PRINT("info", ("IN_FUNC, rewriting using OR")); - Item_func_in *in_func= (Item_func_in *) func_item; - Ndb_rewrite_context *rewrite_context= - new Ndb_rewrite_context(func_item); - rewrite_context->next= context->rewrite_stack; - context->rewrite_stack= rewrite_context; - if (in_func->negated) - { - DBUG_PRINT("info", ("NOT_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::NOT_FUNC, 1); - prev_cond= curr_cond; - curr_cond= context->cond_ptr= new Ndb_cond(); - curr_cond->prev= prev_cond; - prev_cond->next= curr_cond; - } - DBUG_PRINT("info", ("COND_OR_FUNC")); - curr_cond->ndb_item= new Ndb_item(Item_func::COND_OR_FUNC, - func_item->argument_count() - 1); - context->expect_only(Item::FIELD_ITEM); - context->expect(Item::INT_ITEM); - context->expect(Item::STRING_ITEM); - context->expect(Item::VARBIN_ITEM); - context->expect(Item::FUNC_ITEM); - break; - } - case Item_func::UNKNOWN_FUNC: - { - DBUG_PRINT("info", ("UNKNOWN_FUNC %s", - func_item->const_item()?"const":"")); - DBUG_PRINT("info", ("result type %d", func_item->result_type())); - if (func_item->const_item()) - { - switch (func_item->result_type()) { - case STRING_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::STRING_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(STRING_RESULT); - context->expect_collation(func_item->collation.collation); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - // Check that string result have correct collation - if (!context->expecting_collation(item->collation.collation)) - { - DBUG_PRINT("info", ("Found non-matching collation %s", - item->collation.collation->name)); - context->supported= FALSE; - } - } - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - case REAL_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::REAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(REAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - case INT_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::INT_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(INT_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - case DECIMAL_RESULT: - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::DECIMAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(DECIMAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - // Skip any arguments since we will evaluate function instead - DBUG_PRINT("info", ("Skip until end of arguments marker")); - context->skip= func_item->argument_count(); - break; - } - default: - break; - } - } - else - // Function does not return constant expression - context->supported= FALSE; - break; - } - default: - { - DBUG_PRINT("info", ("Found func_item of type %d", - func_item->functype())); - context->supported= FALSE; - } - } - break; - } - case Item::STRING_ITEM: - DBUG_PRINT("info", ("STRING_ITEM")); - if (context->expecting(Item::STRING_ITEM)) - { -#ifndef DBUG_OFF - char buff[256]; - String str(buff,(uint32) sizeof(buff), system_charset_info); - str.length(0); - Item_string *string_item= (Item_string *) item; - DBUG_PRINT("info", ("value \"%s\"", - string_item->val_str(&str)->ptr())); -#endif - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::STRING_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(STRING_RESULT); - context->expect_collation(item->collation.collation); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - // Check that we are comparing with a field with same collation - if (!context->expecting_collation(item->collation.collation)) - { - DBUG_PRINT("info", ("Found non-matching collation %s", - item->collation.collation->name)); - context->supported= FALSE; - } - } - } - else - context->supported= FALSE; - break; - case Item::INT_ITEM: - DBUG_PRINT("info", ("INT_ITEM")); - if (context->expecting(Item::INT_ITEM)) - { - DBUG_PRINT("info", ("value %ld", - (long) ((Item_int*) item)->value)); - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::INT_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(INT_RESULT); - context->expect_field_result(REAL_RESULT); - context->expect_field_result(DECIMAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::REAL_ITEM: - DBUG_PRINT("info", ("REAL_ITEM")); - if (context->expecting(Item::REAL_ITEM)) - { - DBUG_PRINT("info", ("value %f", ((Item_float*) item)->value)); - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::REAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(REAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::VARBIN_ITEM: - DBUG_PRINT("info", ("VARBIN_ITEM")); - if (context->expecting(Item::VARBIN_ITEM)) - { - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::VARBIN_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(STRING_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::DECIMAL_ITEM: - DBUG_PRINT("info", ("DECIMAL_ITEM")); - if (context->expecting(Item::DECIMAL_ITEM)) - { - DBUG_PRINT("info", ("value %f", - ((Item_decimal*) item)->val_real())); - NDB_ITEM_QUALIFICATION q; - q.value_type= Item::DECIMAL_ITEM; - curr_cond->ndb_item= new Ndb_item(NDB_VALUE, q, item); - if (! context->expecting_no_field_result()) - { - // We have not seen the field argument yet - context->expect_only(Item::FIELD_ITEM); - context->expect_only_field_result(REAL_RESULT); - context->expect_field_result(DECIMAL_RESULT); - } - else - { - // Expect another logical expression - context->expect_only(Item::FUNC_ITEM); - context->expect(Item::COND_ITEM); - } - } - else - context->supported= FALSE; - break; - case Item::COND_ITEM: - { - Item_cond *cond_item= (Item_cond *) item; - - if (context->expecting(Item::COND_ITEM)) - { - switch (cond_item->functype()) { - case Item_func::COND_AND_FUNC: - DBUG_PRINT("info", ("COND_AND_FUNC")); - curr_cond->ndb_item= new Ndb_item(cond_item->functype(), - cond_item); - break; - case Item_func::COND_OR_FUNC: - DBUG_PRINT("info", ("COND_OR_FUNC")); - curr_cond->ndb_item= new Ndb_item(cond_item->functype(), - cond_item); - break; - default: - DBUG_PRINT("info", ("COND_ITEM %d", cond_item->functype())); - context->supported= FALSE; - break; - } - } - else - { - /* Did not expect condition */ - context->supported= FALSE; - } - break; - } - default: - { - DBUG_PRINT("info", ("Found item of type %d", item->type())); - context->supported= FALSE; - } - } - } - if (context->supported && context->rewrite_stack) - { - Ndb_rewrite_context *rewrite_context= context->rewrite_stack; - if (rewrite_context->count == - rewrite_context->func_item->argument_count()) - { - // Rewrite is done, wrap an END() at the en - DBUG_PRINT("info", ("End of condition group")); - prev_cond= curr_cond; - curr_cond= context->cond_ptr= new Ndb_cond(); - curr_cond->prev= prev_cond; - prev_cond->next= curr_cond; - curr_cond->ndb_item= new Ndb_item(NDB_END_COND); - // Pop rewrite stack - context->rewrite_stack= rewrite_context->next; - rewrite_context->next= NULL; - delete(rewrite_context); - } - } - } - } - - DBUG_VOID_RETURN; -} - -bool -ha_ndbcluster::serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond) -{ - DBUG_ENTER("serialize_cond"); - Item *item= (Item *) cond; - Ndb_cond_traverse_context context(table, (void *)m_table, ndb_cond); - // Expect a logical expression - context.expect(Item::FUNC_ITEM); - context.expect(Item::COND_ITEM); - item->traverse_cond(&ndb_serialize_cond, (void *) &context, Item::PREFIX); - DBUG_PRINT("info", ("The pushed condition is %ssupported", (context.supported)?"":"not ")); - - DBUG_RETURN(context.supported); -} - -int -ha_ndbcluster::build_scan_filter_predicate(Ndb_cond * &cond, - NdbScanFilter *filter, - bool negated) -{ - DBUG_ENTER("build_scan_filter_predicate"); - switch (cond->ndb_item->type) { - case NDB_FUNCTION: - { - if (!cond->next) - break; - Ndb_item *a= cond->next->ndb_item; - Ndb_item *b, *field, *value= NULL; - - switch (cond->ndb_item->argument_count()) { - case 1: - field= (a->type == NDB_FIELD)? a : NULL; - break; - case 2: - if (!cond->next->next) - { - field= NULL; - break; - } - b= cond->next->next->ndb_item; - value= ((a->type == NDB_VALUE) ? a : - (b->type == NDB_VALUE) ? b : - NULL); - field= ((a->type == NDB_FIELD) ? a : - (b->type == NDB_FIELD) ? b : - NULL); - break; - default: - field= NULL; //Keep compiler happy - DBUG_ASSERT(0); - break; - } - switch ((negated) ? - Ndb_item::negate(cond->ndb_item->qualification.function_type) - : cond->ndb_item->qualification.function_type) { - case NDB_EQ_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating EQ filter")); - if (filter->cmp(NdbScanFilter::COND_EQ, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_NE_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating NE filter")); - if (filter->cmp(NdbScanFilter::COND_NE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_LT_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating LT filter")); - if (filter->cmp(NdbScanFilter::COND_LT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating GT filter")); - if (filter->cmp(NdbScanFilter::COND_GT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_LE_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating LE filter")); - if (filter->cmp(NdbScanFilter::COND_LE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating GE filter")); - if (filter->cmp(NdbScanFilter::COND_GE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_GE_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating GE filter")); - if (filter->cmp(NdbScanFilter::COND_GE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating LE filter")); - if (filter->cmp(NdbScanFilter::COND_LE, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_GT_FUNC: - { - if (!value || !field) break; - // Save value in right format for the field type - value->save_in_field(field); - if (a == field) - { - DBUG_PRINT("info", ("Generating GT filter")); - if (filter->cmp(NdbScanFilter::COND_GT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating LT filter")); - if (filter->cmp(NdbScanFilter::COND_LT, - field->get_field_no(), - field->get_val(), - field->pack_length()) == -1) - DBUG_RETURN(1); - } - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_LIKE_FUNC: - { - if (!value || !field) break; - if ((value->qualification.value_type != Item::STRING_ITEM) && - (value->qualification.value_type != Item::VARBIN_ITEM)) - break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating LIKE filter: like(%d,%s,%d)", - field->get_field_no(), value->get_val(), - value->pack_length())); - if (filter->cmp(NdbScanFilter::COND_LIKE, - field->get_field_no(), - value->get_val(), - value->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_NOTLIKE_FUNC: - { - if (!value || !field) break; - if ((value->qualification.value_type != Item::STRING_ITEM) && - (value->qualification.value_type != Item::VARBIN_ITEM)) - break; - // Save value in right format for the field type - value->save_in_field(field); - DBUG_PRINT("info", ("Generating NOTLIKE filter: notlike(%d,%s,%d)", - field->get_field_no(), value->get_val(), - value->pack_length())); - if (filter->cmp(NdbScanFilter::COND_NOT_LIKE, - field->get_field_no(), - value->get_val(), - value->pack_length()) == -1) - DBUG_RETURN(1); - cond= cond->next->next->next; - DBUG_RETURN(0); - } - case NDB_ISNULL_FUNC: - if (!field) - break; - DBUG_PRINT("info", ("Generating ISNULL filter")); - if (filter->isnull(field->get_field_no()) == -1) - DBUG_RETURN(1); - cond= cond->next->next; - DBUG_RETURN(0); - case NDB_ISNOTNULL_FUNC: - { - if (!field) - break; - DBUG_PRINT("info", ("Generating ISNOTNULL filter")); - if (filter->isnotnull(field->get_field_no()) == -1) - DBUG_RETURN(1); - cond= cond->next->next; - DBUG_RETURN(0); - } - default: - break; - } - break; - } - default: - break; - } - DBUG_PRINT("info", ("Found illegal condition")); - DBUG_RETURN(1); -} - - -int -ha_ndbcluster::build_scan_filter_group(Ndb_cond* &cond, NdbScanFilter *filter) -{ - uint level=0; - bool negated= FALSE; - DBUG_ENTER("build_scan_filter_group"); - - do - { - if (!cond) - DBUG_RETURN(1); - switch (cond->ndb_item->type) { - case NDB_FUNCTION: - { - switch (cond->ndb_item->qualification.function_type) { - case NDB_COND_AND_FUNC: - { - level++; - DBUG_PRINT("info", ("Generating %s group %u", (negated)?"NAND":"AND", - level)); - if ((negated) ? filter->begin(NdbScanFilter::NAND) - : filter->begin(NdbScanFilter::AND) == -1) - DBUG_RETURN(1); - negated= FALSE; - cond= cond->next; - break; - } - case NDB_COND_OR_FUNC: - { - level++; - DBUG_PRINT("info", ("Generating %s group %u", (negated)?"NOR":"OR", - level)); - if ((negated) ? filter->begin(NdbScanFilter::NOR) - : filter->begin(NdbScanFilter::OR) == -1) - DBUG_RETURN(1); - negated= FALSE; - cond= cond->next; - break; - } - case NDB_NOT_FUNC: - { - DBUG_PRINT("info", ("Generating negated query")); - cond= cond->next; - negated= TRUE; - break; - } - default: - if (build_scan_filter_predicate(cond, filter, negated)) - DBUG_RETURN(1); - negated= FALSE; - break; - } - break; - } - case NDB_END_COND: - DBUG_PRINT("info", ("End of group %u", level)); - level--; - if (cond) cond= cond->next; - if (filter->end() == -1) - DBUG_RETURN(1); - if (!negated) - break; - // else fall through (NOT END is an illegal condition) - default: - { - DBUG_PRINT("info", ("Illegal scan filter")); - } - } - } while (level > 0 || negated); - - DBUG_RETURN(0); -} - - -int -ha_ndbcluster::build_scan_filter(Ndb_cond * &cond, NdbScanFilter *filter) -{ - bool simple_cond= TRUE; - DBUG_ENTER("build_scan_filter"); - - switch (cond->ndb_item->type) { - case NDB_FUNCTION: - switch (cond->ndb_item->qualification.function_type) { - case NDB_COND_AND_FUNC: - case NDB_COND_OR_FUNC: - simple_cond= FALSE; - break; - default: - break; - } - break; - default: - break; - } - if (simple_cond && filter->begin() == -1) - DBUG_RETURN(1); - if (build_scan_filter_group(cond, filter)) - DBUG_RETURN(1); - if (simple_cond && filter->end() == -1) - DBUG_RETURN(1); - - DBUG_RETURN(0); -} - -int -ha_ndbcluster::generate_scan_filter(Ndb_cond_stack *ndb_cond_stack, - NdbScanOperation *op) -{ - DBUG_ENTER("generate_scan_filter"); - - if (ndb_cond_stack) - { - NdbScanFilter filter(op); - - DBUG_RETURN(generate_scan_filter_from_cond(ndb_cond_stack, filter)); - } - else - { - DBUG_PRINT("info", ("Empty stack")); - } - - DBUG_RETURN(0); -} - - -int -ha_ndbcluster::generate_scan_filter_from_cond(Ndb_cond_stack *ndb_cond_stack, - NdbScanFilter& filter) -{ - bool multiple_cond= FALSE; - DBUG_ENTER("generate_scan_filter_from_cond"); - - // Wrap an AND group around multiple conditions - if (ndb_cond_stack->next) - { - multiple_cond= TRUE; - if (filter.begin() == -1) - DBUG_RETURN(1); - } - for (Ndb_cond_stack *stack= ndb_cond_stack; - (stack); - stack= stack->next) - { - Ndb_cond *cond= stack->ndb_cond; - - if (build_scan_filter(cond, &filter)) - { - DBUG_PRINT("info", ("build_scan_filter failed")); - DBUG_RETURN(1); - } - } - if (multiple_cond && filter.end() == -1) - DBUG_RETURN(1); - - DBUG_RETURN(0); -} - - -int ha_ndbcluster::generate_scan_filter_from_key(NdbScanOperation *op, - const KEY* key_info, - const byte *key, - uint key_len, - byte *buf) -{ - KEY_PART_INFO* key_part= key_info->key_part; - KEY_PART_INFO* end= key_part+key_info->key_parts; - NdbScanFilter filter(op); - int res; - DBUG_ENTER("generate_scan_filter_from_key"); - - filter.begin(NdbScanFilter::AND); - for (; key_part != end; key_part++) - { - Field* field= key_part->field; - uint32 pack_len= field->pack_length(); - const byte* ptr= key; - DBUG_PRINT("info", ("Filtering value for %s", field->field_name)); - DBUG_DUMP("key", (char*)ptr, pack_len); - if (key_part->null_bit) - { - DBUG_PRINT("info", ("Generating ISNULL filter")); - if (filter.isnull(key_part->fieldnr-1) == -1) - DBUG_RETURN(1); - } - else - { - DBUG_PRINT("info", ("Generating EQ filter")); - if (filter.cmp(NdbScanFilter::COND_EQ, - key_part->fieldnr-1, - ptr, - pack_len) == -1) - DBUG_RETURN(1); - } - key += key_part->store_length; - } - // Add any pushed condition - if (m_cond_stack && - (res= generate_scan_filter_from_cond(m_cond_stack, filter))) - DBUG_RETURN(res); - - if (filter.end() == -1) - DBUG_RETURN(1); - - DBUG_RETURN(0); + if (m_cond) + m_cond->cond_pop(); } diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index fe79135a47d..a3d479d1996 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -37,11 +37,11 @@ class NdbOperation; // Forward declaration class NdbTransaction; // Forward declaration class NdbRecAttr; // Forward declaration class NdbScanOperation; -class NdbScanFilter; class NdbIndexScanOperation; class NdbBlob; class NdbIndexStat; class NdbEventOperation; +class ha_ndbcluster_cond; // connectstring to cluster if given by mysqld extern const char *ndbcluster_connectstring; @@ -161,424 +161,6 @@ struct Ndb_tuple_id_range_guard { #define NSF_NO_BINLOG 4 /* table should not be binlogged */ #endif -typedef enum ndb_item_type { - NDB_VALUE = 0, // Qualified more with Item::Type - NDB_FIELD = 1, // Qualified from table definition - NDB_FUNCTION = 2,// Qualified from Item_func::Functype - NDB_END_COND = 3 // End marker for condition group -} NDB_ITEM_TYPE; - -typedef enum ndb_func_type { - NDB_EQ_FUNC = 0, - NDB_NE_FUNC = 1, - NDB_LT_FUNC = 2, - NDB_LE_FUNC = 3, - NDB_GT_FUNC = 4, - NDB_GE_FUNC = 5, - NDB_ISNULL_FUNC = 6, - NDB_ISNOTNULL_FUNC = 7, - NDB_LIKE_FUNC = 8, - NDB_NOTLIKE_FUNC = 9, - NDB_NOT_FUNC = 10, - NDB_UNKNOWN_FUNC = 11, - NDB_COND_AND_FUNC = 12, - NDB_COND_OR_FUNC = 13, - NDB_UNSUPPORTED_FUNC = 14 -} NDB_FUNC_TYPE; - -typedef union ndb_item_qualification { - Item::Type value_type; - enum_field_types field_type; // Instead of Item::FIELD_ITEM - NDB_FUNC_TYPE function_type; // Instead of Item::FUNC_ITEM -} NDB_ITEM_QUALIFICATION; - -typedef struct ndb_item_field_value { - Field* field; - int column_no; -} NDB_ITEM_FIELD_VALUE; - -typedef union ndb_item_value { - const Item *item; - NDB_ITEM_FIELD_VALUE *field_value; - uint arg_count; -} NDB_ITEM_VALUE; - -struct negated_function_mapping -{ - NDB_FUNC_TYPE pos_fun; - NDB_FUNC_TYPE neg_fun; -}; - - -/* - Define what functions can be negated in condition pushdown. - Note, these HAVE to be in the same order as in definition enum -*/ -static const negated_function_mapping neg_map[]= -{ - {NDB_EQ_FUNC, NDB_NE_FUNC}, - {NDB_NE_FUNC, NDB_EQ_FUNC}, - {NDB_LT_FUNC, NDB_GE_FUNC}, - {NDB_LE_FUNC, NDB_GT_FUNC}, - {NDB_GT_FUNC, NDB_LE_FUNC}, - {NDB_GE_FUNC, NDB_LT_FUNC}, - {NDB_ISNULL_FUNC, NDB_ISNOTNULL_FUNC}, - {NDB_ISNOTNULL_FUNC, NDB_ISNULL_FUNC}, - {NDB_LIKE_FUNC, NDB_NOTLIKE_FUNC}, - {NDB_NOTLIKE_FUNC, NDB_LIKE_FUNC}, - {NDB_NOT_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_UNKNOWN_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_COND_AND_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_COND_OR_FUNC, NDB_UNSUPPORTED_FUNC}, - {NDB_UNSUPPORTED_FUNC, NDB_UNSUPPORTED_FUNC} -}; - -/* - This class is the construction element for serialization of Item tree - in condition pushdown. - An instance of Ndb_Item represents a constant, table field reference, - unary or binary comparison predicate, and start/end of AND/OR. - Instances of Ndb_Item are stored in a linked list implemented by Ndb_cond - class. - The order of elements produced by Ndb_cond::next corresponds to - breadth-first traversal of the Item (i.e. expression) tree in prefix order. - AND and OR have arbitrary arity, so the end of AND/OR group is marked with - Ndb_item with type == NDB_END_COND. - NOT items represent negated conditions and generate NAND/NOR groups. -*/ -class Ndb_item { - public: - Ndb_item(NDB_ITEM_TYPE item_type) : type(item_type) {}; - Ndb_item(NDB_ITEM_TYPE item_type, - NDB_ITEM_QUALIFICATION item_qualification, - const Item *item_value) - : type(item_type), qualification(item_qualification) - { - switch(item_type) { - case(NDB_VALUE): - value.item= item_value; - break; - case(NDB_FIELD): { - NDB_ITEM_FIELD_VALUE *field_value= new NDB_ITEM_FIELD_VALUE(); - Item_field *field_item= (Item_field *) item_value; - field_value->field= field_item->field; - field_value->column_no= -1; // Will be fetched at scan filter generation - value.field_value= field_value; - break; - } - case(NDB_FUNCTION): - value.item= item_value; - value.arg_count= ((Item_func *) item_value)->argument_count(); - break; - case(NDB_END_COND): - break; - } - }; - Ndb_item(Field *field, int column_no) : type(NDB_FIELD) - { - NDB_ITEM_FIELD_VALUE *field_value= new NDB_ITEM_FIELD_VALUE(); - qualification.field_type= field->type(); - field_value->field= field; - field_value->column_no= column_no; - value.field_value= field_value; - }; - Ndb_item(Item_func::Functype func_type, const Item *item_value) - : type(NDB_FUNCTION) - { - qualification.function_type= item_func_to_ndb_func(func_type); - value.item= item_value; - value.arg_count= ((Item_func *) item_value)->argument_count(); - }; - Ndb_item(Item_func::Functype func_type, uint no_args) - : type(NDB_FUNCTION) - { - qualification.function_type= item_func_to_ndb_func(func_type); - value.arg_count= no_args; - }; - ~Ndb_item() - { - if (type == NDB_FIELD) - { - delete value.field_value; - value.field_value= NULL; - } - }; - - uint32 pack_length() - { - switch(type) { - case(NDB_VALUE): - if(qualification.value_type == Item::STRING_ITEM) - return value.item->str_value.length(); - break; - case(NDB_FIELD): - return value.field_value->field->pack_length(); - default: - break; - } - - return 0; - }; - - Field * get_field() { return value.field_value->field; }; - - int get_field_no() { return value.field_value->column_no; }; - - int argument_count() - { - return value.arg_count; - }; - - const char* get_val() - { - switch(type) { - case(NDB_VALUE): - if(qualification.value_type == Item::STRING_ITEM) - return value.item->str_value.ptr(); - break; - case(NDB_FIELD): - return value.field_value->field->ptr; - default: - break; - } - - return NULL; - }; - - void save_in_field(Ndb_item *field_item) - { - Field *field = field_item->value.field_value->field; - const Item *item= value.item; - - if (item && field) - { - my_bitmap_map *old_map= - dbug_tmp_use_all_columns(field->table, field->table->write_set); - ((Item *)item)->save_in_field(field, FALSE); - dbug_tmp_restore_column_map(field->table->write_set, old_map); - } - }; - - static NDB_FUNC_TYPE item_func_to_ndb_func(Item_func::Functype fun) - { - switch (fun) { - case (Item_func::EQ_FUNC): { return NDB_EQ_FUNC; } - case (Item_func::NE_FUNC): { return NDB_NE_FUNC; } - case (Item_func::LT_FUNC): { return NDB_LT_FUNC; } - case (Item_func::LE_FUNC): { return NDB_LE_FUNC; } - case (Item_func::GT_FUNC): { return NDB_GT_FUNC; } - case (Item_func::GE_FUNC): { return NDB_GE_FUNC; } - case (Item_func::ISNULL_FUNC): { return NDB_ISNULL_FUNC; } - case (Item_func::ISNOTNULL_FUNC): { return NDB_ISNOTNULL_FUNC; } - case (Item_func::LIKE_FUNC): { return NDB_LIKE_FUNC; } - case (Item_func::NOT_FUNC): { return NDB_NOT_FUNC; } - case (Item_func::UNKNOWN_FUNC): { return NDB_UNKNOWN_FUNC; } - case (Item_func::COND_AND_FUNC): { return NDB_COND_AND_FUNC; } - case (Item_func::COND_OR_FUNC): { return NDB_COND_OR_FUNC; } - default: { return NDB_UNSUPPORTED_FUNC; } - } - }; - - static NDB_FUNC_TYPE negate(NDB_FUNC_TYPE fun) - { - uint i= (uint) fun; - DBUG_ASSERT(fun == neg_map[i].pos_fun); - return neg_map[i].neg_fun; - }; - - NDB_ITEM_TYPE type; - NDB_ITEM_QUALIFICATION qualification; - private: - NDB_ITEM_VALUE value; -}; - -/* - This class implements a linked list used for storing a - serialization of the Item tree for condition pushdown. - */ -class Ndb_cond -{ - public: - Ndb_cond() : ndb_item(NULL), next(NULL), prev(NULL) {}; - ~Ndb_cond() - { - if (ndb_item) delete ndb_item; - ndb_item= NULL; - if (next) delete next; - next= prev= NULL; - }; - Ndb_item *ndb_item; - Ndb_cond *next; - Ndb_cond *prev; -}; - -/* - This class implements a stack for storing several conditions - for pushdown (represented as serialized Item trees using Ndb_cond). - The current implementation only pushes one condition, but is - prepared for handling several (C1 AND C2 ...) if the logic for - pushing conditions is extended in sql_select. -*/ -class Ndb_cond_stack -{ - public: - Ndb_cond_stack() : ndb_cond(NULL), next(NULL) {}; - ~Ndb_cond_stack() - { - if (ndb_cond) delete ndb_cond; - ndb_cond= NULL; - if (next) delete next; - next= NULL; - }; - Ndb_cond *ndb_cond; - Ndb_cond_stack *next; -}; - -class Ndb_rewrite_context -{ -public: - Ndb_rewrite_context(Item_func *func) - : func_item(func), left_hand_item(NULL), count(0) {}; - ~Ndb_rewrite_context() - { - if (next) delete next; - } - const Item_func *func_item; - const Item *left_hand_item; - uint count; - Ndb_rewrite_context *next; -}; - -/* - This class is used for storing the context when traversing - the Item tree. It stores a reference to the table the condition - is defined on, the serialized representation being generated, - if the condition found is supported, and information what is - expected next in the tree inorder for the condition to be supported. -*/ -class Ndb_cond_traverse_context -{ - public: - Ndb_cond_traverse_context(TABLE *tab, void* ndb_tab, Ndb_cond_stack* stack) - : table(tab), ndb_table(ndb_tab), - supported(TRUE), stack_ptr(stack), cond_ptr(NULL), - skip(0), collation(NULL), rewrite_stack(NULL) - { - // Allocate type checking bitmaps - bitmap_init(&expect_mask, 0, 512, FALSE); - bitmap_init(&expect_field_type_mask, 0, 512, FALSE); - bitmap_init(&expect_field_result_mask, 0, 512, FALSE); - - if (stack) - cond_ptr= stack->ndb_cond; - }; - ~Ndb_cond_traverse_context() - { - bitmap_free(&expect_mask); - bitmap_free(&expect_field_type_mask); - bitmap_free(&expect_field_result_mask); - if (rewrite_stack) delete rewrite_stack; - } - void expect(Item::Type type) - { - bitmap_set_bit(&expect_mask, (uint) type); - if (type == Item::FIELD_ITEM) expect_all_field_types(); - }; - void dont_expect(Item::Type type) - { - bitmap_clear_bit(&expect_mask, (uint) type); - }; - bool expecting(Item::Type type) - { - return bitmap_is_set(&expect_mask, (uint) type); - }; - void expect_nothing() - { - bitmap_clear_all(&expect_mask); - }; - bool expecting_nothing() - { - return bitmap_is_clear_all(&expect_mask); - } - void expect_only(Item::Type type) - { - expect_nothing(); - expect(type); - }; - - void expect_field_type(enum_field_types type) - { - bitmap_set_bit(&expect_field_type_mask, (uint) type); - }; - void expect_all_field_types() - { - bitmap_set_all(&expect_field_type_mask); - }; - bool expecting_field_type(enum_field_types type) - { - return bitmap_is_set(&expect_field_type_mask, (uint) type); - }; - void expect_no_field_type() - { - bitmap_clear_all(&expect_field_type_mask); - }; - bool expecting_no_field_type() - { - return bitmap_is_clear_all(&expect_field_type_mask); - } - void expect_only_field_type(enum_field_types result) - { - expect_no_field_type(); - expect_field_type(result); - }; - - void expect_field_result(Item_result result) - { - bitmap_set_bit(&expect_field_result_mask, (uint) result); - }; - bool expecting_field_result(Item_result result) - { - return bitmap_is_set(&expect_field_result_mask, (uint) result); - }; - void expect_no_field_result() - { - bitmap_clear_all(&expect_field_result_mask); - }; - bool expecting_no_field_result() - { - return bitmap_is_clear_all(&expect_field_result_mask); - } - void expect_only_field_result(Item_result result) - { - expect_no_field_result(); - expect_field_result(result); - }; - void expect_collation(CHARSET_INFO* col) - { - collation= col; - }; - bool expecting_collation(CHARSET_INFO* col) - { - bool matching= (!collation) ? true : (collation == col); - collation= NULL; - - return matching; - }; - - TABLE* table; - void* ndb_table; - bool supported; - Ndb_cond_stack* stack_ptr; - Ndb_cond* cond_ptr; - MY_BITMAP expect_mask; - MY_BITMAP expect_field_type_mask; - MY_BITMAP expect_field_result_mask; - uint skip; - CHARSET_INFO* collation; - Ndb_rewrite_context *rewrite_stack; -}; - - typedef enum ndb_query_state_bits { NDB_QUERY_NORMAL = 0, NDB_QUERY_MULTI_READ_RANGE = 1 @@ -905,27 +487,6 @@ private: void release_completed_operations(NdbTransaction*, bool); - /* - Condition pushdown - */ - void cond_clear(); - bool serialize_cond(const COND *cond, Ndb_cond_stack *ndb_cond); - int build_scan_filter_predicate(Ndb_cond* &cond, - NdbScanFilter* filter, - bool negated= false); - int build_scan_filter_group(Ndb_cond* &cond, - NdbScanFilter* filter); - int build_scan_filter(Ndb_cond* &cond, NdbScanFilter* filter); - int generate_scan_filter(Ndb_cond_stack* cond_stack, - NdbScanOperation* op); - int generate_scan_filter_from_cond(Ndb_cond_stack* cond_stack, - NdbScanFilter& filter); - int generate_scan_filter_from_key(NdbScanOperation* op, - const KEY* key_info, - const byte *key, - uint key_len, - byte *buf); - friend int execute_commit(ha_ndbcluster*, NdbTransaction*); friend int execute_no_commit_ignore_no_key(ha_ndbcluster*, NdbTransaction*); friend int execute_no_commit(ha_ndbcluster*, NdbTransaction*, bool); @@ -980,7 +541,7 @@ private: ha_rows m_autoincrement_prefetch; bool m_transaction_on; - Ndb_cond_stack *m_cond_stack; + ha_ndbcluster_cond *m_cond; bool m_disable_multi_read; byte *m_multi_range_result_ptr; KEY_MULTI_RANGE *m_multi_ranges; diff --git a/sql/ha_ndbcluster_cond.cc b/sql/ha_ndbcluster_cond.cc index a0eaccb68d8..267be17c330 100644 --- a/sql/ha_ndbcluster_cond.cc +++ b/sql/ha_ndbcluster_cond.cc @@ -24,7 +24,7 @@ #include "mysql_priv.h" -#ifdef HAVE_NDBCLUSTER_DB +#ifdef WITH_NDBCLUSTER_STORAGE_ENGINE #include #include "ha_ndbcluster_cond.h" @@ -351,8 +351,8 @@ void ndb_serialize_cond(const Item *item, void *arg) else { DBUG_PRINT("info", ("Was not expecting field from table %s (%s)", - context->table->s->table_name, - field->table->s->table_name)); + context->table->s->table_name.str, + field->table->s->table_name.str)); context->supported= FALSE; } break; diff --git a/sql/ha_ndbcluster_cond.h b/sql/ha_ndbcluster_cond.h index d4e68de6635..617302107d8 100644 --- a/sql/ha_ndbcluster_cond.h +++ b/sql/ha_ndbcluster_cond.h @@ -212,7 +212,12 @@ public: const Item *item= value.item; if (item && field) - ((Item *)item)->save_in_field(field, false); + { + my_bitmap_map *old_map= + dbug_tmp_use_all_columns(field->table, field->table->write_set); + ((Item *)item)->save_in_field(field, FALSE); + dbug_tmp_restore_column_map(field->table->write_set, old_map); + } }; static NDB_FUNC_TYPE item_func_to_ndb_func(Item_func::Functype fun) From f7098f76c71def2a86a99ede2ee2609dc837b9fe Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Tue, 24 Apr 2007 17:42:16 +0200 Subject: [PATCH 049/144] Added missing backslash --- sql/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/Makefile.am b/sql/Makefile.am index 08f5d7c7e78..465e5c843f4 100644 --- a/sql/Makefile.am +++ b/sql/Makefile.am @@ -49,7 +49,7 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ sql_map.h sql_string.h unireg.h \ sql_error.h field.h handler.h mysqld_suffix.h \ ha_ndbcluster.h ha_ndbcluster_cond.h \ - ha_ndbcluster_binlog.h ha_ndbcluster_tables.h + ha_ndbcluster_binlog.h ha_ndbcluster_tables.h \ ha_partition.h rpl_constants.h \ opt_range.h protocol.h rpl_tblmap.h rpl_utility.h \ log.h sql_show.h rpl_rli.h rpl_mi.h \ From 0f43ac0d2acd5bcbdbf2c54fe671aab4226b30f8 Mon Sep 17 00:00:00 2001 From: "iggy@alf." <> Date: Tue, 24 Apr 2007 12:41:08 -0400 Subject: [PATCH 050/144] Minor fixes. --- scripts/CMakeLists.txt | 14 ++++++++++++-- sql/log_event_old.cc | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index bca0581ecbc..e9113b098da 100755 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -13,20 +13,30 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# Build mysql_fix_privilege_tables.sql +ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql + COMMAND copy /b + mysql_system_tables.sql + mysql_system_tables_fix.sql + mysql_fix_privilege_tables.sql + DEPENDS + ${PROJECT_SOURCE_DIR}/scripts/mysql_system_tables.sql + ${PROJECT_SOURCE_DIR}/scripts/mysql_system_tables_fix.sql) +# Build comp_sql - used for embedding SQL in C or C++ programs ADD_EXECUTABLE(comp_sql comp_sql.c) TARGET_LINK_LIBRARIES(comp_sql dbug mysys strings) -# Build comp_sql - used for embedding SQL in C or C++ programs +# Use comp_sql to build mysql_fix_privilege_tables_sql.c GET_TARGET_PROPERTY(COMP_SQL_EXE comp_sql LOCATION) ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables_sql.c COMMAND ${COMP_SQL_EXE} mysql_fix_privilege_tables mysql_fix_privilege_tables.sql - mysql_fix_privilege_tables_sql.c + mysql_fix_privilege_tables_sql.c DEPENDS comp_sql ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql) +# Add dummy target for the above to be built ADD_CUSTOM_TARGET(GenFixPrivs ALL DEPENDS ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables_sql.c) diff --git a/sql/log_event_old.cc b/sql/log_event_old.cc index 500feab0542..5153dff0e55 100644 --- a/sql/log_event_old.cc +++ b/sql/log_event_old.cc @@ -84,8 +84,8 @@ int Update_rows_log_event_old::do_prepare_row(THD *thd, row_start, &m_cols, row_end, &m_master_reclength, table->write_set, PRE_GA_UPDATE_ROWS_EVENT); - DBUG_DUMP("record[0]", table->record[0], table->s->reclength); - DBUG_DUMP("m_after_image", m_after_image, table->s->reclength); + DBUG_DUMP("record[0]", (const char*) table->record[0], table->s->reclength); + DBUG_DUMP("m_after_image", (const char *) m_after_image, table->s->reclength); /* From 8e11fe899e44aa9a99a82bbe06f46cabe738107d Mon Sep 17 00:00:00 2001 From: "iggy@recycle.(none)" <> Date: Tue, 24 Apr 2007 13:51:59 -0400 Subject: [PATCH 051/144] Cset exclude: iggy@alf.|ChangeSet|20070330021852|19466 --- mysql-test/include/partition.inc | 1402 ------------------------------ 1 file changed, 1402 deletions(-) diff --git a/mysql-test/include/partition.inc b/mysql-test/include/partition.inc index 5d005388858..e69de29bb2d 100644 --- a/mysql-test/include/partition.inc +++ b/mysql-test/include/partition.inc @@ -1,1402 +0,0 @@ -#--disable_abort_on_error -# -# Simple test for the partition storage engine -# Taken fromm the select test -# --- source include/have_partition.inc - -# -# This test is disabled on Windows due to BUG#19107 -# -#-- source include/not_windows.inc - ---disable_warnings -drop table if exists t1; ---enable_warnings - -# -# Bug 15890: Strange number of partitions accepted -# --- error 1064 -create table t1 (a int) -partition by key(a) -partitions 0.2+e1; --- error 1064 -create table t1 (a int) -partition by key(a) -partitions -1; --- error 1064 -create table t1 (a int) -partition by key(a) -partitions 1.5; --- error 1064 -create table t1 (a int) -partition by key(a) -partitions 1e+300; - -# -# Bug 21350: Data Directory problems -# --- error 1103 -create table t1 (a int) -partition by key (a) -(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); - -# -# Insert a test that manages to create the first partition and fails with -# the second, ensure that we clean up afterwards in a proper manner. -# ---error 1103 -create table t1 (a int) -partition by key (a) -(partition p0, - partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); - -# -# Bug 19309 Partitions: Crash if double procedural alter -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - -create procedure pz() -alter table t1 engine = myisam; - -call pz(); -call pz(); -drop procedure pz; -drop table t1; - -# -# Bug 19307: CSV engine crashes -# ---error ER_PARTITION_MERGE_ERROR -create table t1 (a int) -engine = csv -partition by list (a) -(partition p0 values in (null)); - -# -# BUG 16002: Handle unsigned integer functions properly -# ---error 1064 -create table t1 (a bigint) -partition by range (a) -(partition p0 values less than (0xFFFFFFFFFFFFFFFF), - partition p1 values less than (10)); ---error 1064 -create table t1 (a bigint) -partition by list (a) -(partition p0 values in (0xFFFFFFFFFFFFFFFF), - partition p1 values in (10)); - -create table t1 (a bigint unsigned) -partition by range (a) -(partition p0 values less than (100), - partition p1 values less than MAXVALUE); -insert into t1 values (1); -drop table t1; - -create table t1 (a bigint unsigned) -partition by hash (a); -insert into t1 values (0xFFFFFFFFFFFFFFFD); -insert into t1 values (0xFFFFFFFFFFFFFFFE); -select * from t1 where (a + 1) < 10; -select * from t1 where (a + 1) > 10; -drop table t1; - -# -# Bug 19307: CSV engine crashes -# ---error ER_PARTITION_MERGE_ERROR -create table t1 (a int) -engine = csv -partition by list (a) -(partition p0 values in (null)); - -# -# Added test case -# -create table t1 (a int) -partition by key(a) -(partition p0 engine = MEMORY); -drop table t1; - -# -# BUG 19067 ALTER TABLE .. ADD PARTITION for subpartitioned table crashes -# -create table t1 (a int) -partition by range (a) -subpartition by key (a) -(partition p0 values less than (1)); -alter table t1 add partition (partition p1 values less than (2)); -show create table t1; -alter table t1 reorganize partition p1 into (partition p1 values less than (3)); -show create table t1; -drop table t1; - -# -# Partition by key no partition defined => OK -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a); - -# -# Bug 13323: Select count(*) on empty table returns 2 -# -select count(*) from t1; - -# -# Test SHOW CREATE TABLE -# -show create table t1; - -drop table t1; -# -# Partition by key no partition, list of fields -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a, b); - -drop table t1; -# -# Partition by key specified 3 partitions and defined 3 => ok -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1, partition x2, partition x3); - -drop table t1; -# -# Partition by key specifying nodegroup -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1 nodegroup 0, - partition x2 nodegroup 1, - partition x3 nodegroup 2); - -drop table t1; -# -# Partition by key specifying engine -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1 engine myisam, - partition x2 engine myisam, - partition x3 engine myisam); - -drop table t1; -# -# Partition by key specifying tablespace -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by key (a) -partitions 3 -(partition x1 tablespace ts1, - partition x2 tablespace ts2, - partition x3 tablespace ts3); - -CREATE TABLE t2 LIKE t1; - -drop table t2; -drop table t1; - -# -# Partition by key list, basic -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by list (a) -partitions 3 -(partition x1 values in (1,2,9,4) tablespace ts1, - partition x2 values in (3, 11, 5, 7) tablespace ts2, - partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); - -drop table t1; -# -# Partition by key list, list function -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by list (b*a) -partitions 3 -(partition x1 values in (1,2,9,4) tablespace ts1, - partition x2 values in (3, 11, 5, 7) tablespace ts2, - partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); - -drop table t1; - -# -# Partition by key list, list function, no spec of #partitions -# -CREATE TABLE t1 ( -a int not null, -b int not null, -c int not null, -primary key(a,b)) -partition by list (b*a) -(partition x1 values in (1) tablespace ts1, - partition x2 values in (3, 11, 5, 7) tablespace ts2, - partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); - -drop table t1; - -# -# Bug 13154: Insert crashes due to bad calculation of partition id -# for PARTITION BY KEY and SUBPARTITION BY KEY -# -CREATE TABLE t1 ( -a int not null) -partition by key(a); - -LOCK TABLES t1 WRITE; -insert into t1 values (1); -insert into t1 values (2); -insert into t1 values (3); -insert into t1 values (4); -UNLOCK TABLES; - -drop table t1; - -# -# Bug #13644 DROP PARTITION NULL's DATE column -# -CREATE TABLE t1 (a int, name VARCHAR(50), purchased DATE) -PARTITION BY RANGE (a) -(PARTITION p0 VALUES LESS THAN (3), - PARTITION p1 VALUES LESS THAN (7), - PARTITION p2 VALUES LESS THAN (9), - PARTITION p3 VALUES LESS THAN (11)); -INSERT INTO t1 VALUES -(1, 'desk organiser', '2003-10-15'), -(2, 'CD player', '1993-11-05'), -(3, 'TV set', '1996-03-10'), -(4, 'bookcase', '1982-01-10'), -(5, 'exercise bike', '2004-05-09'), -(6, 'sofa', '1987-06-05'), -(7, 'popcorn maker', '2001-11-22'), -(8, 'acquarium', '1992-08-04'), -(9, 'study desk', '1984-09-16'), -(10, 'lava lamp', '1998-12-25'); - -SELECT * from t1 ORDER BY a; -ALTER TABLE t1 DROP PARTITION p0; -SELECT * from t1 ORDER BY a; - -drop table t1; - -# -# Bug #13442; Truncate Partitioned table doesn't work -# - -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION p0 VALUES IN (1,2,3), PARTITION p1 VALUES IN (4,5,6)); - -insert into t1 values (1),(2),(3),(4),(5),(6); -select * from t1; -truncate t1; -select * from t1; -truncate t1; -select * from t1; -drop table t1; - -# -# Bug #13445 Partition by KEY method crashes server -# -CREATE TABLE t1 (a int, b int, primary key(a,b)) -PARTITION BY KEY(b,a) PARTITIONS 4; - -insert into t1 values (0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6); -select * from t1 where a = 4; - -drop table t1; - -# -# Bug #13438: Engine clause in PARTITION clause causes crash -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -PARTITIONS 1 -(PARTITION x1 VALUES IN (1) ENGINE=MEMORY); - -show create table t1; -drop table t1; - -# -# Bug #13440: REPLACE causes crash in partitioned table -# -CREATE TABLE t1 (a int, unique(a)) -PARTITION BY LIST (a) -(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); - ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -REPLACE t1 SET a = 4; -drop table t1; - -# -# Bug #14365: Crash if value too small in list partitioned table -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION x1 VALUES IN (2), PARTITION x2 VALUES IN (3)); - -insert into t1 values (2), (3); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (4); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (1); -drop table t1; - -# -# Bug 14327: PARTITIONS clause gets lost in SHOW CREATE TABLE -# -CREATE TABLE t1 (a int) -PARTITION BY HASH(a) -PARTITIONS 5; - -SHOW CREATE TABLE t1; - -drop table t1; - -# -# Bug #13446: Update to value outside of list values doesn't give error -# -CREATE TABLE t1 (a int) -PARTITION BY RANGE (a) -(PARTITION x1 VALUES LESS THAN (2)); - -insert into t1 values (1); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -update t1 set a = 5; - -drop table t1; - -# -# Bug #13441: Analyze on partitioned table didn't work -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); - -analyze table t1; - -drop table t1; - -# -# BUG 14524 -# -CREATE TABLE `t1` ( - `id` int(11) default NULL -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; -SELECT * FROM t1; - -drop table t1; - -# -# BUG 14524 -# -CREATE TABLE `t1` ( - `id` int(11) default NULL -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; -SELECT * FROM t1; - -drop table t1; - -# -# BUG 15221 (Cannot reorganize with the same name) -# -create table t1 -(a int) -partition by range (a) - ( partition p0 values less than(10), - partition p1 values less than (20), - partition p2 values less than (25)); - -alter table t1 reorganize partition p2 into (partition p2 values less than (30)); -show create table t1; -drop table t1; - -CREATE TABLE t1 (a int, b int) -PARTITION BY RANGE (a) -(PARTITION x0 VALUES LESS THAN (2), - PARTITION x1 VALUES LESS THAN (4), - PARTITION x2 VALUES LESS THAN (6), - PARTITION x3 VALUES LESS THAN (8), - PARTITION x4 VALUES LESS THAN (10), - PARTITION x5 VALUES LESS THAN (12), - PARTITION x6 VALUES LESS THAN (14), - PARTITION x7 VALUES LESS THAN (16), - PARTITION x8 VALUES LESS THAN (18), - PARTITION x9 VALUES LESS THAN (20)); - -ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO -(PARTITION x1 VALUES LESS THAN (6)); -show create table t1; -drop table t1; - -# Testcase for BUG#15819 -create table t1 (a int not null, b int not null) partition by LIST (a+b) ( - partition p0 values in (12), - partition p1 values in (14) -); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (10,1); - -drop table t1; - -# -# Bug#16901 Partitions: crash, SELECT, column of part. -# function=first column of primary key -# -create table t1 (f1 integer,f2 integer, f3 varchar(10), primary key(f1,f2)) -partition by range(f1) subpartition by hash(f2) subpartitions 2 -(partition p1 values less than (0), - partition p2 values less than (2), - partition p3 values less than (2147483647)); - -insert into t1 values(10,10,'10'); -insert into t1 values(2,2,'2'); -select * from t1 where f1 = 2; -drop table t1; - -# -# Bug #16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX -# -create table t1 (f1 integer,f2 integer, unique index(f1)) -partition by range(f1 div 2) -subpartition by hash(f1) subpartitions 2 -(partition partb values less than (2), -partition parte values less than (4), -partition partf values less than (10000)); -insert into t1 values(10,1); -select * from t1 where f1 = 10; -drop table t1; - -# -# Bug #16775: Wrong engine type stored for subpartition -# -set session storage_engine= 'memory'; -create table t1 (f_int1 int(11) default null) engine = memory - partition by range (f_int1) subpartition by hash (f_int1) - (partition part1 values less than (1000) - (subpartition subpart11 engine = memory)); -drop table t1; -set session storage_engine='myisam'; - -# -# Bug #16782: Crash using REPLACE on table with primary key -# -create table t1 (f_int1 integer, f_int2 integer, primary key (f_int1)) - partition by hash(f_int1) partitions 2; -insert into t1 values (1,1),(2,2); -replace into t1 values (1,1),(2,2); -drop table t1; - -# -# Bug #17169: Partitions: out of memory if add partition and unique -# -create table t1 (s1 int, unique (s1)) partition by list (s1) (partition x1 VALUES in (10), partition x2 values in (20)); -alter table t1 add partition (partition x3 values in (30)); -drop table t1; - -# -# Bug #17754 Change to explicit removal of partitioning scheme -# Also added a number of tests to ensure that proper engine is -# choosen in all kinds of scenarios. -# - -create table t1 (a int) -partition by key(a) -partitions 2 -(partition p0 engine=myisam, partition p1 engine=myisam); -show create table t1; - -alter table t1; -show create table t1; - -alter table t1 engine=myisam; -show create table t1; - -alter table t1 engine=heap; -show create table t1; - -alter table t1 remove partitioning; -show create table t1; - -drop table t1; - -create table t1 (a int) -engine=myisam -partition by key(a) -partitions 2 -(partition p0 engine=myisam, partition p1 engine=myisam); -show create table t1; - -alter table t1 add column b int remove partitioning; -show create table t1; - -alter table t1 -engine=myisam -partition by key(a) -(partition p0 engine=myisam, partition p1); -show create table t1; - -alter table t1 -engine=heap -partition by key(a) -(partition p0, partition p1 engine=heap); -show create table t1; - -alter table t1 engine=myisam, add column c int remove partitioning; -show create table t1; - -alter table t1 -engine=heap -partition by key (a) -(partition p0, partition p1); -show create table t1; - -alter table t1 -partition by key (a) -(partition p0, partition p1); -show create table t1; - -alter table t1 -engine=heap -partition by key (a) -(partition p0, partition p1); -show create table t1; - ---error ER_MIX_HANDLER_ERROR -alter table t1 -partition by key(a) -(partition p0, partition p1 engine=heap); - ---error ER_MIX_HANDLER_ERROR -alter table t1 -partition by key(a) -(partition p0 engine=heap, partition p1); - ---error ER_MIX_HANDLER_ERROR -alter table t1 -engine=heap -partition by key (a) -(partition p0 engine=heap, partition p1 engine=myisam); - ---error ER_MIX_HANDLER_ERROR -alter table t1 -partition by key (a) -(partition p0 engine=heap, partition p1 engine=myisam); - -drop table t1; - -# Bug #17432: Partition functions containing NULL values should return -# LONGLONG_MIN -# -CREATE TABLE t1 ( - f_int1 INTEGER, f_int2 INTEGER, - f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) - ) - PARTITION BY RANGE(f_int1 DIV 2) - SUBPARTITION BY HASH(f_int1) - SUBPARTITIONS 2 - (PARTITION parta VALUES LESS THAN (0), - PARTITION partb VALUES LESS THAN (5), - PARTITION parte VALUES LESS THAN (10), - PARTITION partf VALUES LESS THAN (2147483647)); -INSERT INTO t1 SET f_int1 = NULL , f_int2 = -20, f_char1 = CAST(-20 AS CHAR), - f_char2 = CAST(-20 AS CHAR), f_charbig = '#NULL#'; -SELECT * FROM t1 WHERE f_int1 IS NULL; -SELECT * FROM t1; -drop table t1; - -# -# Bug 17430: Crash when SELECT * from t1 where field IS NULL -# - -CREATE TABLE t1 ( - f_int1 INTEGER, f_int2 INTEGER, - f_char1 CHAR(10), f_char2 CHAR(10), f_charbig VARCHAR(1000) ) - PARTITION BY LIST(MOD(f_int1,2)) - SUBPARTITION BY KEY(f_int1) - (PARTITION part1 VALUES IN (-1) (SUBPARTITION sp1, SUBPARTITION sp2), - PARTITION part2 VALUES IN (0) (SUBPARTITION sp3, SUBPARTITION sp5), - PARTITION part3 VALUES IN (1) (SUBPARTITION sp4, SUBPARTITION sp6)); - -INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; -INSERT INTO t1 SET f_int1 = 2, f_int2 = 2, f_char1 = '2', f_char2 = '2', f_charbig = '===2==='; - -SELECT * FROM t1 WHERE f_int1 IS NULL; -drop table t1; - -# -# Bug#14363 Partitions: failure if create in stored procedure -# -delimiter //; - -create procedure p () -begin -create table t1 (s1 mediumint,s2 mediumint) -partition by list (s2) -(partition p1 values in (0), - partition p2 values in (1)); -end// - -call p()// -drop procedure p// -drop table t1; - -create procedure p () -begin -create table t1 (a int not null,b int not null,c int not null,primary key (a,b)) -partition by range (a) -subpartition by hash (a+b) -(partition x1 values less than (1) - (subpartition x11, - subpartition x12), - partition x2 values less than (5) - (subpartition x21, - subpartition x22)); -end// - -call p()// -drop procedure p// -drop table t1// -delimiter ;// - -# -# Bug #15447 Partitions: NULL is treated as zero -# - -# NULL for RANGE partition -create table t1 (a int,b int,c int,key(a,b)) -partition by range (a) -partitions 3 -(partition x1 values less than (0) tablespace ts1, - partition x2 values less than (10) tablespace ts2, - partition x3 values less than maxvalue tablespace ts3); - -insert into t1 values (NULL, 1, 1); -insert into t1 values (0, 1, 1); -insert into t1 values (12, 1, 1); - -select partition_name, partition_description, table_rows -from information_schema.partitions where table_schema ='test'; -drop table t1; - -# NULL for LIST partition ---error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11,12), - partition x234 values in (1 ,NULL, NULL)); - ---error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11, NULL), - partition x234 values in (1 ,NULL)); - -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11, 12), - partition x234 values in (5, 1)); ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (NULL,1,1); -drop table t1; - -create table t1 (a int,b int, c int) -partition by list(a) -partitions 2 -(partition x123 values in (11, 12), - partition x234 values in (NULL, 1)); - -insert into t1 values (11,1,6); -insert into t1 values (NULL,1,1); - -select partition_name, partition_description, table_rows -from information_schema.partitions where table_schema ='test'; -drop table t1; - -# -# BUG 17947 Crash with REBUILD PARTITION -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - ---error 1064 -alter table t1 rebuild partition; - -drop table t1; - -# -# BUG 15253 Insert that should fail doesn't -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (5)); - ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (0); - -drop table t1; - -# -# BUG #16370 Subpartitions names not shown in SHOW CREATE TABLE output -# -create table t1 (a int) -partition by range (a) subpartition by hash (a) -(partition p0 values less than (100)); - -show create table t1; -alter table t1 add partition (partition p1 values less than (200) -(subpartition subpart21)); - -show create table t1; - -drop table t1; - -create table t1 (a int) -partition by key (a); - -show create table t1; -alter table t1 add partition (partition p1); -show create table t1; - -drop table t1; - -# -# BUG 15407 Crash with subpartition -# ---error 1064 -create table t1 (a int, b int) -partition by range (a) -subpartition by hash(a) -(partition p0 values less than (0) (subpartition sp0), - partition p1 values less than (1)); - ---error 1064 -create table t1 (a int, b int) -partition by range (a) -subpartition by hash(a) -(partition p0 values less than (0), - partition p1 values less than (1) (subpartition sp0)); - -# -# BUG 15961 No error when subpartition defined without subpartition by clause -# ---error ER_SUBPARTITION_ERROR -create table t1 (a int) -partition by hash (a) -(partition p0 (subpartition sp0)); - -# -# Bug 17127 -# -create table t1 (a int) -partition by range (a) -(partition p0 values less than (1)); - ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values in (2)); ---error ER_PARTITION_REQUIRES_VALUES_ERROR -alter table t1 add partition (partition p1); - -drop table t1; - -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values less than (2)); ---error ER_PARTITION_REQUIRES_VALUES_ERROR -alter table t1 add partition (partition p1); - -drop table t1; - -create table t1 (a int) -partition by hash (a) -(partition p0); - ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values less than (2)); ---error ER_PARTITION_WRONG_VALUES_ERROR -alter table t1 add partition (partition p1 values in (2)); - -drop table t1; - -# -# BUG 17947 Crash with REBUILD PARTITION -# -create table t1 (a int) -partition by list (a) -(partition p0 values in (1)); - ---error 1064 -alter table t1 rebuild partition; - -drop table t1; - -# -# Bug #14526: Partitions: indexed searches fail -# -create table t2 (s1 int not null auto_increment, primary key (s1)) partition by list (s1) (partition p1 values in (1),partition p2 values in (2),partition p3 values in (3),partition p4 values in (4)); -insert into t2 values (null),(null),(null); -select * from t2; -select * from t2 where s1 < 2; -update t2 set s1 = s1 + 1 order by s1 desc; -select * from t2 where s1 < 3; -select * from t2 where s1 = 2; -drop table t2; - -# -# Bug #17497: Partitions: crash if add partition on temporary table -# ---error ER_PARTITION_NO_TEMPORARY -create temporary table t1 (a int) partition by hash(a); - -# -# Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten -# metadata,crash -# -create table t1 (a int, b int) partition by list (a) - (partition p1 values in (1), partition p2 values in (2)); ---error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF -alter table t1 add primary key (b); -show create table t1; -drop table t1; - -############################################ -# -# Author: Mikael Ronstrom -# Date: 2006-03-01 -# Purpose -# Bug 17772: Crash at ALTER TABLE with rename -# and add column + comment on -# partitioned table -# -############################################ -create table t1 (a int unsigned not null auto_increment primary key) -partition by key(a); -alter table t1 rename t2, add c char(10), comment "no comment"; -show create table t2; - -drop table t2; - -# -# Bug#15336 Partitions: crash if create table as select -# -create table t1 (f1 int) partition by hash (f1) as select 1; -drop table t1; - -# -# bug #14350 Partitions: crash if prepared statement -# -prepare stmt1 from 'create table t1 (s1 int) partition by hash (s1)'; -execute stmt1; ---error 1050 -execute stmt1; -drop table t1; - -# -# bug 17290 SP with delete, create and rollback to save point causes MySQLD core -# -delimiter |; -eval CREATE PROCEDURE test.p1(IN i INT) -BEGIN - DECLARE CONTINUE HANDLER FOR sqlexception BEGIN END; - DROP TABLE IF EXISTS t1; - CREATE TABLE t1 (num INT,PRIMARY KEY(num)); - START TRANSACTION; - INSERT INTO t1 VALUES(i); - savepoint t1_save; - INSERT INTO t1 VALUES (14); - ROLLBACK to savepoint t1_save; - COMMIT; -END| -delimiter ;| -CALL test.p1(12); -CALL test.p1(13); -drop table t1; -drop procedure test.p1; - -# -# Bug 13520: Problem with delimiters in COMMENT DATA DIRECTORY .. -# -CREATE TABLE t1 (a int not null) -partition by key(a) -(partition p0 COMMENT='first partition'); -drop table t1; - -# -# Bug 13433: Problem with delimited identifiers -# -CREATE TABLE t1 (`a b` int not null) -partition by key(`a b`); -drop table t1; - -CREATE TABLE t1 (`a b` int not null) -partition by hash(`a b`); -drop table t1; - -# -# Bug#18053 Partitions: crash if null -# Bug#18070 Partitions: wrong result on WHERE ... IS NULL -# -create table t1 (f1 integer) partition by range(f1) -(partition p1 values less than (0), partition p2 values less than (10)); -insert into t1 set f1 = null; -select * from t1 where f1 is null; -explain partitions select * from t1 where f1 is null; -drop table t1; - -create table t1 (f1 integer) partition by list(f1) -(partition p1 values in (1), partition p2 values in (null)); -insert into t1 set f1 = null; -insert into t1 set f1 = 1; -select * from t1 where f1 is null or f1 = 1; -drop table t1; - -create table t1 (f1 smallint) -partition by list (f1) (partition p0 values in (null)); -insert into t1 values (null); -select * from t1 where f1 is null; -select * from t1 where f1 < 1; -select * from t1 where f1 <= NULL; -select * from t1 where f1 < NULL; -select * from t1 where f1 >= NULL; -select * from t1 where f1 > NULL; -select * from t1 where f1 > 1; -drop table t1; - -create table t1 (f1 smallint) -partition by range (f1) (partition p0 values less than (0)); -insert into t1 values (null); -select * from t1 where f1 is null; -drop table t1; - -create table t1 (f1 integer) partition by list(f1) -( - partition p1 values in (1), - partition p2 values in (NULL), - partition p3 values in (2), - partition p4 values in (3), - partition p5 values in (4) -); - -insert into t1 values (1),(2),(3),(4),(null); -select * from t1 where f1 < 3; -explain partitions select * from t1 where f1 < 3; -select * from t1 where f1 is null; -explain partitions select * from t1 where f1 is null; -drop table t1; - -create table t1 (f1 int) partition by list(f1 div 2) -( - partition p1 values in (1), - partition p2 values in (NULL), - partition p3 values in (2), - partition p4 values in (3), - partition p5 values in (4) -); - -insert into t1 values (2),(4),(6),(8),(null); -select * from t1 where f1 < 3; -explain partitions select * from t1 where f1 < 3; -select * from t1 where f1 is null; -explain partitions select * from t1 where f1 is null; -drop table t1; - -create table t1 (a int) partition by LIST(a) ( - partition pn values in (NULL), - partition p0 values in (0), - partition p1 values in (1), - partition p2 values in (2) -); -insert into t1 values (NULL),(0),(1),(2); -select * from t1 where a is null or a < 2; -explain partitions select * from t1 where a is null or a < 2; -select * from t1 where a is null or a < 0 or a > 1; -explain partitions select * from t1 where a is null or a < 0 or a > 1; -drop table t1; - -# -#Bug# 17631 SHOW TABLE STATUS reports wrong engine -# -CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20)) -ENGINE=MyISAM DEFAULT CHARSET=latin1 -PARTITION BY RANGE(id) -(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, -PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, -PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); ---replace_column 6 0 7 0 8 0 9 0 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -DROP TABLE t1; - -# -#BUG 16002 Erroneus handling of unsigned partition functions -# ---error ER_PARTITION_CONST_DOMAIN_ERROR -create table t1 (a bigint unsigned) -partition by list (a) -(partition p0 values in (0-1)); - -create table t1 (a bigint unsigned) -partition by range (a) -(partition p0 values less than (10)); - ---error ER_NO_PARTITION_FOR_GIVEN_VALUE -insert into t1 values (0xFFFFFFFFFFFFFFFF); - -drop table t1; - -# -#BUG 18750 Problems with partition names -# -create table t1 (a int) -partition by list (a) -(partition `s1 s2` values in (0)); -drop table t1; - -create table t1 (a int) -partition by list (a) -(partition `7` values in (0)); -drop table t1; - ---error ER_WRONG_PARTITION_NAME -create table t1 (a int) -partition by list (a) -(partition `s1 s2 ` values in (0)); - ---error ER_WRONG_PARTITION_NAME -create table t1 (a int) -partition by list (a) -subpartition by hash (a) -(partition p1 values in (0) (subpartition `p1 p2 `)); - -# -# BUG 18752 SHOW CREATE TABLE doesn't show NULL value in SHOW CREATE TABLE -# -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION p0 VALUES IN (NULL)); -SHOW CREATE TABLE t1; -DROP TABLE t1; - ---error 1064 -CREATE TABLE t1 (a int) -PARTITION BY RANGE(a) -(PARTITION p0 VALUES LESS THAN (NULL)); - -# -# Bug#18753 Partitions: auto_increment fails -# -create table t1 (s1 int auto_increment primary key) -partition by list (s1) -(partition p1 values in (1), - partition p2 values in (2), - partition p3 values in (3)); -insert into t1 values (null); -insert into t1 values (null); -insert into t1 values (null); -select auto_increment from information_schema.tables where table_name='t1'; -select * from t1; -drop table t1; - -# -# BUG 19140 Partitions: Create index for partitioned table crashes -# -create table t1 (a int) engine=memory -partition by key(a); -insert into t1 values (1); -create index inx1 on t1(a); -drop table t1; - -# -# Bug 19695 Partitions: SHOW CREATE TABLE shows table options even when it -# shouldn't -# -create table t1 (a int) -PARTITION BY KEY (a) -(PARTITION p0); -set session sql_mode='no_table_options'; -show create table t1; -set session sql_mode=''; -drop table t1; - -# -# BUG 19304 Partitions: MERGE handler not allowed in partitioned tables -# ---error ER_PARTITION_MERGE_ERROR -create table t1 (a int) -partition by key (a) -(partition p0 engine = MERGE); - -# -# BUG 19062 Partition clause ignored if CREATE TABLE ... AS SELECT ...; -# -create table t1 (a varchar(1)) -partition by key (a) -as select 'a'; - -show create table t1; -drop table t1; - -# -# BUG 19501 Partitions: SHOW TABLE STATUS shows wrong Data_free -# -CREATE TABLE t1 (a int) ENGINE = MYISAM PARTITION BY KEY(a); -INSERT into t1 values (1), (2); ---replace_column 9 0 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -DELETE from t1 where a = 1; ---replace_column 9 0 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -ALTER TABLE t1 OPTIMIZE PARTITION p0; ---replace_column 12 NULL 13 NULL 14 NULL -SHOW TABLE STATUS; -DROP TABLE t1; - -# -# BUG 19502: ENABLE/DISABLE Keys don't work for partitioned tables -# -CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a); -ALTER TABLE t1 DISABLE KEYS; -ALTER TABLE t1 ENABLE KEYS; -DROP TABLE t1; - -# -# Bug 17455 Partitions: Wrong message and error when using Repair/Optimize -# table on partitioned table -# -create table t1 (a int) -engine=MEMORY -partition by key (a); - -REPAIR TABLE t1; -OPTIMIZE TABLE t1; - -drop table t1; - -# -# Bug 17310 Partitions: Bugs with archived partitioned tables -# -create database db99; -use db99; -create table t1 (a int not null) -engine=archive -partition by list (a) -(partition p0 values in (1), partition p1 values in (2)); -insert into t1 values (1), (2); ---error 0, 1005 -create index inx on t1 (a); -alter table t1 add partition (partition p2 values in (3)); -alter table t1 drop partition p2; -use test; -drop database db99; - -# -#BUG 17138 Problem with stored procedure and analyze partition -# ---disable_warnings -drop procedure if exists mysqltest_1; ---enable_warnings - -create table t1 (a int) -partition by list (a) -(partition p0 values in (0)); - -insert into t1 values (0); -delimiter //; - -create procedure mysqltest_1 () -begin - begin - declare continue handler for sqlexception begin end; - update ignore t1 set a = 1 where a = 0; - end; - prepare stmt1 from 'alter table t1'; - execute stmt1; -end// - -call mysqltest_1()// -delimiter ;// -drop table t1; -drop procedure mysqltest_1; - -# -# Bug 20583 Partitions: Crash using index_last -# -create table t1 (a int, index(a)) -partition by hash(a); -insert into t1 values (1),(2); -select * from t1 ORDER BY a DESC; -drop table t1; - -# -# Bug 21388: Bigint fails to find record -# -create table t1 (a bigint unsigned not null, primary key(a)) -engine = myisam -partition by key (a) -partitions 10; - -show create table t1; -insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), -(18446744073709551613), (18446744073709551612); -select * from t1; -select * from t1 where a = 18446744073709551615; -delete from t1 where a = 18446744073709551615; -select * from t1; -drop table t1; - -# -# Bug 24502 reorganize partition closes connection -# -CREATE TABLE t1 ( - num int(11) NOT NULL, cs int(11) NOT NULL) -PARTITION BY RANGE (num) SUBPARTITION BY HASH ( -cs) SUBPARTITIONS 2 (PARTITION p_X VALUES LESS THAN MAXVALUE); - -ALTER TABLE t1 -REORGANIZE PARTITION p_X INTO ( - PARTITION p_100 VALUES LESS THAN (100), - PARTITION p_X VALUES LESS THAN MAXVALUE - ); - -drop table t1; - -# -# Bug #24186 (nested query across partitions returns fewer records) -# - -CREATE TABLE t2 ( - taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - id int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (id,taken), - KEY taken (taken) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO t2 VALUES -('2006-09-27 21:50:01',16421), -('2006-10-02 21:50:01',16421), -('2006-09-27 21:50:01',19092), -('2006-09-28 21:50:01',19092), -('2006-09-29 21:50:01',19092), -('2006-09-30 21:50:01',19092), -('2006-10-01 21:50:01',19092), -('2006-10-02 21:50:01',19092), -('2006-09-27 21:50:01',22589), -('2006-09-29 21:50:01',22589); - -CREATE TABLE t1 ( - id int(8) NOT NULL, - PRIMARY KEY (id) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO t1 VALUES -(16421), -(19092), -(22589); - -CREATE TABLE t4 ( - taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - id int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (id,taken), - KEY taken (taken) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -PARTITION BY RANGE (to_days(taken)) -( -PARTITION p01 VALUES LESS THAN (732920) , -PARTITION p02 VALUES LESS THAN (732950) , -PARTITION p03 VALUES LESS THAN MAXVALUE ) ; - -INSERT INTO t4 select * from t2; - -set @f_date='2006-09-28'; -set @t_date='2006-10-02'; - -SELECT t1.id AS MyISAM_part -FROM t1 -WHERE t1.id IN ( - SELECT distinct id - FROM t4 - WHERE taken BETWEEN @f_date AND date_add(@t_date, INTERVAL 1 DAY)) -ORDER BY t1.id -; - -drop table t1, t2, t4; - -CREATE TABLE t1 ( - taken datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - id int(11) NOT NULL DEFAULT '0', - status varchar(20) NOT NULL DEFAULT '', - PRIMARY KEY (id,taken) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -PARTITION BY RANGE (to_days(taken)) -( -PARTITION p15 VALUES LESS THAN (732950) , -PARTITION p16 VALUES LESS THAN MAXVALUE ) ; - - -INSERT INTO t1 VALUES -('2006-09-27 21:50:01',22589,'Open'), -('2006-09-29 21:50:01',22589,'Verified'); - -DROP TABLE IF EXISTS t2; -CREATE TABLE t2 ( - id int(8) NOT NULL, - severity tinyint(4) NOT NULL DEFAULT '0', - priority tinyint(4) NOT NULL DEFAULT '0', - status varchar(20) DEFAULT NULL, - alien tinyint(4) NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO t2 VALUES -(22589,1,1,'Need Feedback',0); - -SELECT t2.id FROM t2 WHERE t2.id IN (SELECT id FROM t1 WHERE status = 'Verified'); - -drop table t1, t2; - ---echo End of 5.1 tests From 0dfb49b0a64606aad2e79418246ffe44c3278127 Mon Sep 17 00:00:00 2001 From: "iggy@recycle.(none)" <> Date: Tue, 24 Apr 2007 14:26:49 -0400 Subject: [PATCH 052/144] - Removing mistake. --- mysql-test/include/partition.inc | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 mysql-test/include/partition.inc diff --git a/mysql-test/include/partition.inc b/mysql-test/include/partition.inc deleted file mode 100644 index e69de29bb2d..00000000000 From 5cd1f992ce4ec2e221e1218d78f2698d9a3151d4 Mon Sep 17 00:00:00 2001 From: "evgen@moonbone.local" <> Date: Tue, 24 Apr 2007 22:35:57 +0400 Subject: [PATCH 053/144] Bug#27874: Non-grouped columns are allowed by * in ONLY_FULL_GROUP_BY mode. When fields are inserted instead of * in the select list they were not marked for check for the ONLY_FULL_GROUP_BY mode. The Field_iterator_table::create_item() function now marks newly created items for check when in the ONLY_FULL_GROUP_BY mode. The setup_wild() and the insert_fields() functions now maintain the cur_pos_in_select_list counter for the ONLY_FULL_GROUP_BY mode. --- mysql-test/r/group_by.result | 12 ++++++++++++ mysql-test/t/group_by.test | 14 ++++++++++++++ sql/sql_base.cc | 5 +++++ sql/table.cc | 11 ++++++++++- 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result index 97375898f41..88f635595d6 100644 --- a/mysql-test/r/group_by.result +++ b/mysql-test/r/group_by.result @@ -1035,3 +1035,15 @@ HAVING SUM(t1_inner.b)+t1_outer.b > 5); ERROR 42000: 'test.t1_outer.b' isn't in GROUP BY DROP TABLE t1; SET SQL_MODE = ''; +SET SQL_MODE = 'ONLY_FULL_GROUP_BY'; +create table t1(f1 int, f2 int); +select * from t1 group by f1; +ERROR 42000: 'test.t1.f2' isn't in GROUP BY +select * from t1 group by f2; +ERROR 42000: 'test.t1.f1' isn't in GROUP BY +select * from t1 group by f1, f2; +f1 f2 +select t1.f1,t.* from t1, t1 t group by 1; +ERROR 42000: 'test.t.f1' isn't in GROUP BY +drop table t1; +SET SQL_MODE = ''; diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test index 92c92bf3957..538c5cd897d 100644 --- a/mysql-test/t/group_by.test +++ b/mysql-test/t/group_by.test @@ -752,3 +752,17 @@ SELECT b FROM t1 AS t1_outer GROUP BY a HAVING t1_outer.a IN HAVING SUM(t1_inner.b)+t1_outer.b > 5); DROP TABLE t1; SET SQL_MODE = ''; +# +# Bug#27874: Non-grouped columns are allowed by * in ONLY_FULL_GROUP_BY mode. +# +SET SQL_MODE = 'ONLY_FULL_GROUP_BY'; +create table t1(f1 int, f2 int); +--error 1055 +select * from t1 group by f1; +--error 1055 +select * from t1 group by f2; +select * from t1 group by f1, f2; +--error 1055 +select t1.f1,t.* from t1, t1 t group by 1; +drop table t1; +SET SQL_MODE = ''; diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 7ebdc90f8b3..6e6611d54d2 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -4588,6 +4588,7 @@ int setup_wild(THD *thd, TABLE_LIST *tables, List &fields, */ arena= thd->activate_stmt_arena_if_needed(&backup); + thd->lex->current_select->cur_pos_in_select_list= 0; while (wild_num && (item= it++)) { if (item->type() == Item::FIELD_ITEM && @@ -4629,7 +4630,10 @@ int setup_wild(THD *thd, TABLE_LIST *tables, List &fields, } wild_num--; } + else + thd->lex->current_select->cur_pos_in_select_list++; } + thd->lex->current_select->cur_pos_in_select_list= UNDEF_POS; if (arena) { /* make * substituting permanent */ @@ -5134,6 +5138,7 @@ insert_fields(THD *thd, Name_resolution_context *context, const char *db_name, item->walk(&Item::reset_query_id_processor, (byte *)(&thd->query_id)); } + thd->lex->current_select->cur_pos_in_select_list++; } /* In case of stored tables, all fields are considered as used, diff --git a/sql/table.cc b/sql/table.cc index 6d13514e782..fb2012a79d1 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -2670,7 +2670,16 @@ const char *Field_iterator_table::name() Item *Field_iterator_table::create_item(THD *thd) { - return new Item_field(thd, &thd->lex->current_select->context, *ptr); + SELECT_LEX *select= thd->lex->current_select; + + Item_field *item= new Item_field(thd, &select->context, *ptr); + if (item && thd->variables.sql_mode & MODE_ONLY_FULL_GROUP_BY && + !thd->lex->in_sum_func && select->cur_pos_in_select_list != UNDEF_POS) + { + select->non_agg_fields.push_back(item); + item->marker= select->cur_pos_in_select_list; + } + return item; } From 08ea692a7fa2daac0f3e641c5a838be8f7861e67 Mon Sep 17 00:00:00 2001 From: "iggy@recycle.(none)" <> Date: Tue, 24 Apr 2007 16:07:52 -0400 Subject: [PATCH 054/144] - Resolved conflict between fixes for bugs 25141 and 26074. - Use the 25141 fix. - 26074 is duplicate, as 25141 has more comprehensive test --- mysql-test/r/windows.result | 15 --------------- mysql-test/t/windows.test | 21 --------------------- sql/ha_partition.cc | 3 +-- 3 files changed, 1 insertion(+), 38 deletions(-) diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result index 9f3828bff61..7472b724f47 100644 --- a/mysql-test/r/windows.result +++ b/mysql-test/r/windows.result @@ -26,18 +26,3 @@ ERROR HY000: No paths allowed for shared library execute abc; ERROR HY000: No paths allowed for shared library deallocate prepare abc; -CREATE TABLE t1 ( -`pkid` int(11) NOT NULL AUTO_INCREMENT, -`SALES_DATE` date NOT NULL DEFAULT '0000-00-00', -KEY `pkid` (`pkid`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 -PARTITION BY RANGE (MONTH(SALES_DATE)) -( -PARTITION p0 VALUES LESS THAN (2) ENGINE=INNODB -data DIRECTORY='c:/tmp/' - index DIRECTORY = 'c:/tmp/', -PARTITION p1 VALUES LESS THAN (3) ENGINE=INNODB -data DIRECTORY='c:/tmp/' - index DIRECTORY = 'c:/tmp/' -); -DROP TABLE t1; diff --git a/mysql-test/t/windows.test b/mysql-test/t/windows.test index efdf0963b80..a10d54b5452 100644 --- a/mysql-test/t/windows.test +++ b/mysql-test/t/windows.test @@ -1,6 +1,5 @@ # Windows-specific tests --source include/windows.inc --- source include/have_innodb.inc # # Bug 9148: Denial of service @@ -50,23 +49,3 @@ execute abc; execute abc; deallocate prepare abc; -# -# Bug #26074 Mysql crash when creating partitions -# - -CREATE TABLE t1 ( - `pkid` int(11) NOT NULL AUTO_INCREMENT, - `SALES_DATE` date NOT NULL DEFAULT '0000-00-00', - KEY `pkid` (`pkid`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 -PARTITION BY RANGE (MONTH(SALES_DATE)) -( - PARTITION p0 VALUES LESS THAN (2) ENGINE=INNODB - data DIRECTORY='c:/tmp/' - index DIRECTORY = 'c:/tmp/', - PARTITION p1 VALUES LESS THAN (3) ENGINE=INNODB - data DIRECTORY='c:/tmp/' - index DIRECTORY = 'c:/tmp/' -); - -DROP TABLE t1; diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 3c25dcd202f..d3979fa0718 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -1781,8 +1781,7 @@ int ha_partition::set_up_table_before_create(TABLE *table, } table->s->max_rows= part_elem->part_max_rows; table->s->min_rows= part_elem->part_min_rows; - /* Here we have unified path so should always look for '/', not FN_LIBCHAR */ - partition_name= strrchr(partition_name_with_path, '/'); + partition_name= strrchr(partition_name_with_path, FN_LIBCHAR); if ((part_elem->index_file_name && (error= append_file_to_dir(thd, (const char**)&part_elem->index_file_name, From adf575951bbfce4c707ba673d5bece77c4b1597d Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Tue, 24 Apr 2007 22:33:25 +0200 Subject: [PATCH 055/144] restrict recently added file to GPLv2 --- ndb/test/ndbapi/testScanFilter.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ndb/test/ndbapi/testScanFilter.cpp b/ndb/test/ndbapi/testScanFilter.cpp index e195c04bd93..4ce9145bc1e 100644 --- a/ndb/test/ndbapi/testScanFilter.cpp +++ b/ndb/test/ndbapi/testScanFilter.cpp @@ -2,8 +2,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; version 2 of the License only. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of From 14ff88741c2c4fa14c8c9963f04f54dd6271e67e Mon Sep 17 00:00:00 2001 From: "stewart@willster.(none)" <> Date: Tue, 24 Apr 2007 13:43:13 -0700 Subject: [PATCH 056/144] Bug #24228 ndb_size.pl requires non-standard HTML::Template module Bug #24227 ndb_size.pl should report default values instead of < default for config params Bug #24229 ndb_size.pl doesn't compute Index usage correctly Big ndb_size.pl update --- storage/ndb/tools/Makefile.am | 2 +- storage/ndb/tools/ndb_size.pl | 1783 ++++++++++++++++++++++++++----- storage/ndb/tools/ndb_size.tmpl | 231 ---- 3 files changed, 1546 insertions(+), 470 deletions(-) delete mode 100644 storage/ndb/tools/ndb_size.tmpl diff --git a/storage/ndb/tools/Makefile.am b/storage/ndb/tools/Makefile.am index 7480b9a2ae9..de0f36963bf 100644 --- a/storage/ndb/tools/Makefile.am +++ b/storage/ndb/tools/Makefile.am @@ -14,7 +14,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA dist_bin_SCRIPTS = ndb_size.pl ndb_error_reporter -dist_pkgdata_DATA = ndb_size.tmpl +dist_pkgdata_DATA = ndbtools_PROGRAMS = \ ndb_test_platform \ diff --git a/storage/ndb/tools/ndb_size.pl b/storage/ndb/tools/ndb_size.pl index 3d1ea3f4231..4ecdc297cd3 100644 --- a/storage/ndb/tools/ndb_size.pl +++ b/storage/ndb/tools/ndb_size.pl @@ -1,17 +1,29 @@ #!/usr/bin/perl -w +# Copyright (C) 2005-2007 MySQL AB +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + use strict; use DBI; use POSIX; -use HTML::Template; +use Getopt::Long; # MySQL Cluster size estimator # ---------------------------- # -# (C)2005 MySQL AB -# -# # The purpose of this tool is to work out storage requirements # from an existing MySQL database. # @@ -25,157 +37,578 @@ use HTML::Template; # # BUGS # ---- -# - enum/set is 0 byte storage! Woah - efficient! # - DECIMAL is 0 byte storage. A bit too efficient. # - some float stores come out weird (when there's a comma e.g. 'float(4,1)') # - no disk data values # - computes the storage requirements of views (and probably MERGE) -# - ignores character sets. +# - ignores character sets? -my $template = HTML::Template->new(filename => 'ndb_size.tmpl', - die_on_bad_params => 0) - or die "Could not open ndb_size.tmpl."; +package MySQL::NDB::Size::Parameter; -my $dbh; +use Class::MethodMaker [ + scalar => 'name', + scalar => 'default', + scalar => 'mem_per_item', + scalar => [{ -default => '' },'unit'], + hash => [ qw ( value + ver_mem_per_item + mem_total ) ], + new => [ -hash => 'new' ], + ]; -if(@ARGV < 3 || $ARGV[0] eq '--usage' || $ARGV[0] eq '--help') +1; + +package MySQL::NDB::Size::Report; + +use Class::MethodMaker [ + scalar => [ qw( database + dsn ) ], + array => 'versions', + hash => [qw( tables + parameters + supporting_tables) ], + new => [ -hash => 'new' ], + ]; +1; + +package MySQL::NDB::Size::Column; + +use Class::MethodMaker [ + new => [ -hash => 'new' ], + scalar => [ qw( name + type + is_varsize + size + Key) ], + hash => 'dm_overhead', + scalar => [{ -default => 4 },'align'], + scalar => [{ -default => 0 },'null_bits'], + ]; + +# null_bits: +# 0 if not nullable, 1 if nullable +# + additional if bitfield as these are stored in the null bits +# if is_varsize, null_bits are in varsize part. + +# dm is default DataMemory value. Automatically 4byte aligned +# ver_dm is DataMemory value for specific versions. +# an entry in ver_dm OVERRIDES the dm value. +# e.g. if way column stored changed in new version. +# +# if is_varsize, dm/ver_dm is in varsized part. + +sub ver_dm_exists +{ + my ($self,$ver)= @_; + return exists($self->{ver_dm}{$ver}); +} + +use Data::Dumper; +sub ver_dm +{ + my ($self,$ver,$val)= @_; + if(@_ > 2) + { + $self->{ver_dm}{$ver}= + $self->align * POSIX::floor(($val+$self->align-1)/$self->align); + } + return $self->{ver_dm}{$ver}; +} + +sub dm +{ + my ($self,$val)= @_; + if(@_ > 1) + { + $self->{dm}= + $self->align * POSIX::floor(($val+$self->align-1)/$self->align) + } + return $self->{dm}; +} + +package MySQL::NDB::Size::Index; + +use Class::MethodMaker [ + new => [ -hash => 'new' ], + hash => [ qw( ver_dm + ver_im ) ], + scalar => [ qw( name + type + comment + columns + unique + dm + im) ], + scalar => [ { -default=> 4 },'align'], + scalar => [ { -default=> 0 },'is_supporting_table' ], + ]; + +package MySQL::NDB::Size::Table; + +# The following are computed by compute_row_size: +# row_dm_size DataMemory Size per row +# row_vdm_size Varsized DataMemory Size per row +# row_ddm_size Disk Data size per row (on disk size) +# +# These are hashes of versions. If an entry in (dm|vdm|ddm)_versions exists, +# then this parameter is calculated. +# +# Specific per-row overhead is in row_(dm|vdm|ddm)_overhead. +# e.g. if there is a varsized column, we have a vdm overhead for the +# varsized part of the row, otherwise vdm_size==0 + +# Any supporting tables - e.g. BLOBs have their name in supporting_tables +# These tables should then be looked up in the main report object. +# The main report object also has a supporting_tables hash used for +# excluding these from the main list of tables. +use POSIX; +use Class::MethodMaker [ + new => [ -hash => 'new' ], + array => [ qw( supporting_tables + dm_versions + vdm_versions + ddm_versions ) ], + scalar => [ qw( name + rows ) ], + hash => [ qw( columns + indexes + indexed_columns + row_im_size + row_dm_size + row_vdm_size + row_dm_overhead + row_vdm_overhead + row_ddm_overhead) ], + scalar => [ { -default=> 8192 },'im_pagesize'], + scalar => [ { -default=> 0 },'im_page_overhead'], + scalar => [ { -default=> 32768 },'dm_pagesize' ], + scalar => [ { -default=> 128 },'dm_page_overhead' ], + scalar => [ { -default=> 32768 },'vdm_pagesize' ], + scalar => [ { -default=> 128 },'vdm_page_overhead' ], + hash => [ # these are computed + qw( + dm_null_bytes + vdm_null_bytes + dm_needed + vdm_needed + im_needed + im_rows_per_page + dm_rows_per_page + vdm_rows_per_page) ], + scalar => [ { -default=> 4 },'align'], + ]; + +sub compute_row_size +{ + my ($self, $releases) = @_; + + my %row_dm_size; + my %row_vdm_size; + my %row_im_size; + my %dm_null_bits; + my %vdm_null_bits; + my $no_varsize= 0; + + foreach my $c (keys %{$self->columns}) + { + if($self->columns->{$c}->is_varsize) + { + $no_varsize++; + foreach my $ver ($self->vdm_versions) + { + if($self->columns->{$c}->ver_dm_exists($ver)) + { + $row_vdm_size{$ver}+= $self->columns->{$c}->ver_dm($ver); + $vdm_null_bits{$ver}+= $self->columns->{$c}->null_bits(); + } + else + { + $row_vdm_size{$ver}+= $self->columns->{$c}->dm; + $vdm_null_bits{$ver}+= $self->columns->{$c}->null_bits(); + } + } + } + foreach my $ver ($self->dm_versions) + { + if($self->columns->{$c}->ver_dm_exists($ver)) + { + next if $self->columns->{$c}->is_varsize; + $row_dm_size{$ver}+= $self->columns->{$c}->ver_dm($ver); + $dm_null_bits{$ver}+= $self->columns->{$c}->null_bits(); + } + else + { + $row_dm_size{$ver}+= $self->columns->{$c}->dm||0; + $dm_null_bits{$ver}+= $self->columns->{$c}->null_bits()||0; + } + } + } + + foreach ($self->row_dm_overhead_keys()) + { + $row_dm_size{$_}+= $self->row_dm_overhead->{$_} + if exists($row_dm_size{$_}); + } + + + foreach ($self->row_vdm_overhead_keys()) + { + $row_vdm_size{$_}+= $self->row_vdm_overhead->{$_} + if exists($row_vdm_size{$_}); + } + + + # now we compute size of indexes for dm + foreach my $i (keys %{$self->indexes}) + { + foreach my $ver ($self->dm_versions) + { + $row_dm_size{$ver}+= $self->indexes->{$i}->dm() || 0; + } + } + + # now we compute size of indexes for im + while(my ($iname, $i) = $self->indexes_each()) + { + foreach my $ver ($self->dm_versions) + { + if($i->ver_im_exists($ver)) + { + $row_im_size{$ver}+= $i->ver_im->{$ver}; + } + else + { + $row_im_size{$ver}+= $i->im() || 0; + } + } + } + + # 32-bit align the null part + foreach my $k (keys %dm_null_bits) + { + $dm_null_bits{$k}= + $self->align * POSIX::floor((ceil($dm_null_bits{$k}/8)+$self->align-1) + /$self->align); + } + + foreach my $k (keys %vdm_null_bits) + { + $vdm_null_bits{$k}= + $self->align * POSIX::floor((ceil($vdm_null_bits{$k}/8)+$self->align-1) + /$self->align); + } + + # Finally set things + $self->dm_null_bytes(%dm_null_bits); + $self->vdm_null_bytes(%vdm_null_bits); + + # add null bytes to dm/vdm size + foreach my $k (keys %row_dm_size) + { + $row_dm_size{$k}+=$dm_null_bits{$k}||0; + } + + foreach my $k (keys %row_vdm_size) + { + $row_vdm_size{$k}+=$vdm_null_bits{$k}||0; + } + + $self->row_dm_size(%row_dm_size); + $self->row_vdm_size(%row_vdm_size); + $self->row_im_size(%row_im_size); +} + +sub compute_estimate +{ + my ($self) = @_; + + foreach my $ver (@{$self->dm_versions}) + { + $self->dm_rows_per_page_set($ver => + floor( + ($self->dm_pagesize - $self->dm_page_overhead) + / + $self->row_dm_size->{$ver} + ) + ); + } + + foreach my $ver (@{$self->vdm_versions}) + { + next if ! $self->row_vdm_size_exists($ver); + $self->vdm_rows_per_page_set($ver => + floor( + ($self->vdm_pagesize - $self->vdm_page_overhead) + / + $self->row_vdm_size->{$ver} + ) + ); + } + + $self->im_page_overhead(0) if !$self->im_page_overhead(); + foreach my $ver (@{$self->dm_versions}) + { + $self->im_rows_per_page_set($ver => + floor( + ($self->im_pagesize - $self->im_page_overhead) + / + $self->row_im_size->{$ver} + ) + ); + } + + $self->dm_needed_set($_ => $self->dm_pagesize() + * + POSIX::ceil( + $self->rows + / + ($self->dm_rows_per_page->{$_}) + ) + ) + foreach $self->dm_versions; + + $self->vdm_needed_set($_ => (!$self->vdm_rows_per_page->{$_})? 0 : + $self->vdm_pagesize() + * + POSIX::ceil( + $self->rows + / + ($self->vdm_rows_per_page->{$_}) + ) + ) + foreach $self->vdm_versions; + + $self->im_needed_set($_ => $self->im_pagesize() + * + POSIX::ceil( + $self->rows + / + ($self->im_rows_per_page->{$_}) + ) + ) + foreach $self->dm_versions; +} + +package main; + +my ($dbh,$database,$hostname,$user,$password,$help,$savequeries,$loadqueries,$debug,$format); + +GetOptions('database|d=s'=>\$database, + 'hostname=s'=>\$hostname, + 'user|u=s'=>\$user, + 'password|p=s'=>\$password, + 'savequeries|s=s'=>\$savequeries, + 'loadqueries|l=s'=>\$loadqueries, + 'help|usage|h!'=>\$help, + 'debug'=>\$debug, + 'format|f=s'=>\$format, + ); + +my $report= new MySQL::NDB::Size::Report; + +if($help || !$database) { print STDERR "Usage:\n"; - print STDERR "\tndb_size.pl database hostname user password\n\n"; - print STDERR "If you need to specify a port number, use host:port\n\n"; + print STDERR "\tndb_size.pl --database= [--hostname=]" + ."[--user=] [--password=] [--help|-h] [--format=(html|text)] [--loadqueries=] [--savequeries=]\n\n"; + print STDERR "\t--hostname=: can be used to designate a " + ."specific port\n"; + print STDERR "\t--hostname defaults to localhost\n"; + print STDERR "\t--user and --password default to empty string\n"; + print STDERR "\t--format=(html|text) Output format\n"; + print STDERR "\t--savequeries= saves all queries to the DB into \n"; + print STDERR "\t--loadqueries= loads query results from . Doesn't connect to DB.\n"; exit(1); } +$hostname= 'localhost' unless $hostname; + +my %queries; # used for loadqueries/savequeries + +if(!$loadqueries) { - my $database= $ARGV[0]; - my $hostname= $ARGV[1]; - my $user= $ARGV[2]; - my $password= $ARGV[3]; my $dsn = "DBI:mysql:database=$database;host=$hostname"; $dbh= DBI->connect($dsn, $user, $password) or exit(1); - $template->param(db => $database); - $template->param(dsn => $dsn); + $report->database($database); + $report->dsn($dsn); +} +else +{ + open Q,"< $loadqueries"; + my @q= ; + my $VAR1; + my $e= eval join("",@q) or die $@; + %queries= %$e; + close Q; + $report->database("file:$loadqueries"); + $report->dsn("file:$loadqueries"); } -my @releases = ({rel=>'4.1'},{rel=>'5.0'},{rel=>'5.1'}); #,{rel=>'5.1-dd'}); -$template->param(releases => \@releases); +$report->versions('4.1','5.0','5.1'); -my $tables = $dbh->selectall_arrayref("show tables"); +my $tables; -my @table_size; - -my @dbDataMemory; -my @dbIndexMemory; -my @NoOfAttributes; -my @NoOfIndexes; -my @NoOfTables; -$NoOfTables[$_]{val} = @{$tables} foreach 0..$#releases; - - -sub align { - my($to,@unaligned) = @_; - my @aligned; - foreach my $x (@unaligned) { - push @aligned, $to * POSIX::floor(($x+$to-1)/$to); - } - return @aligned; +if($loadqueries) +{ + $tables= $queries{"show tables"}; +} +else +{ + $tables= $dbh->selectall_arrayref("show tables"); + $queries{"show tables"}= $tables; } sub do_table { - my $table= shift; + my $t= shift; my $info= shift; my %indexes= %{$_[0]}; my @count= @{$_[1]}; - my @columns; - my %columnsize; # used for index calculations - # We now work out the DataMemory usage - - # sizes for 4.1, 5.0, 5.1 and 5.1-dd - my @totalsize= (0,0,0,0); - @totalsize= @totalsize[0..$#releases]; # limit to releases we're outputting - my $nrvarsize= 0; + $t->dm_versions($report->versions); + $t->vdm_versions('5.1'); + $t->ddm_versions('5.1'); - foreach(keys %$info) + foreach my $colname (keys %$info) { - my @realsize = (0,0,0,0); - my @varsize = (0,0,0,0); - my $type; - my $size; - my $name= $_; - my $is_varsize= 0; + my $col= new MySQL::NDB::Size::Column(name => $colname); + my ($type, $size); - if($$info{$_}{Type} =~ /^(.*?)\((\d+)\)/) + $col->Key($$info{$colname}{Key}) + if(defined($$info{$colname}{Key}) &&$$info{$colname}{Key} ne ''); + + $col->null_bits(defined($$info{$colname}{Null}) + && $$info{$colname}{Null} eq 'YES'); + + if(defined($$info{$colname}{Type}) + && $$info{$colname}{Type} =~ /^(.*?)\((.+)\)/) { $type= $1; $size= $2; } + elsif(exists($$info{$colname}{type})) + { + # we have a Column object.. + $type= $$info{$colname}{type}; + $size= $$info{$colname}{size}; + } else { - $type= $$info{$_}{Type}; + $type= $$info{$colname}{Type}; } + $col->type($type); + $col->size($size); if($type =~ /tinyint/) - {@realsize=(1,1,1,1)} + {$col->dm(1)} elsif($type =~ /smallint/) - {@realsize=(2,2,2,2)} + {$col->dm(2)} elsif($type =~ /mediumint/) - {@realsize=(3,3,3,3)} + {$col->dm(3)} elsif($type =~ /bigint/) - {@realsize=(8,8,8,8)} + {$col->dm(8)} elsif($type =~ /int/) - {@realsize=(4,4,4,4)} + {$col->dm(4)} elsif($type =~ /float/) { - if($size<=24) - {@realsize=(4,4,4,4)} + if(!defined($size) || $size<=24) + {$col->dm(4)} else - {@realsize=(8,8,8,8)} + {$col->dm(8)} } elsif($type =~ /double/ || $type =~ /real/) - {@realsize=(8,8,8,8)} + {$col->dm(8)} elsif($type =~ /bit/) { - my $a=($size+7)/8; - @realsize = ($a,$a,$a,$a); + # bitfields stored in null bits + $col->null_bits($size+($col->null_bits()||0)); } elsif($type =~ /datetime/) - {@realsize=(8,8,8,8)} + {$col->dm(8)} elsif($type =~ /timestamp/) - {@realsize=(4,4,4,4)} + {$col->dm(4)} elsif($type =~ /date/ || $type =~ /time/) - {@realsize=(3,3,3,3)} + {$col->dm(3)} elsif($type =~ /year/) - {@realsize=(1,1,1,1)} + {$col->dm(1)} + elsif($type =~ /enum/ || $type =~ /set/) + { + # I *think* this is correct.. + my @items= split ',',$size; + $col->dm(ceil((scalar @items)/256)); + } elsif($type =~ /varchar/ || $type =~ /varbinary/) { my $fixed=$size+ceil($size/256); - my @dynamic=$dbh->selectrow_array("select avg(length(`" - .$name - ."`)) from `".$table.'`'); - $dynamic[0]=0 if !$dynamic[0]; - $dynamic[0]+=ceil($dynamic[0]/256); # size bit - $nrvarsize++; - $is_varsize= 1; - $varsize[3]= ceil($dynamic[0]); - @realsize= ($fixed,$fixed,ceil($dynamic[0]),$fixed); + $col->dm_overhead_set('length' => ceil($size/256)); + $col->dm($fixed); + if(!$col->Key()) # currently keys must be non varsized + { + my $sql= "select avg(length(`" + .$colname + ."`)) from `".$t->name().'`'; + my @dynamic; + if($loadqueries) + { + @dynamic= @{$queries{$sql}}; + } + else + { + @dynamic= $dbh->selectrow_array($sql); + $queries{$sql}= \@dynamic; + } + $dynamic[0]=0 if ! defined($dynamic[0]) || !@dynamic; + $dynamic[0]+=ceil($size/256); # size bit + $col->is_varsize(1); + $col->ver_dm('5.1',ceil($dynamic[0])); + } } elsif($type =~ /binary/ || $type =~ /char/) - {@realsize=($size,$size,$size,$size)} + {$col->dm($size)} elsif($type =~ /text/ || $type =~ /blob/) { - @realsize=(8+256,8+256,8+256,8+256); + $col->dm_overhead_set('length' => 8); + $col->dm(8+256); my $blobhunk= 2000; $blobhunk= 8000 if $type=~ /longblob/; $blobhunk= 4000 if $type=~ /mediumblob/; - my @blobsize=$dbh->selectrow_array("select SUM(CEILING(". - "length(`$name`)/$blobhunk))". - "from `".$table."`"); + my $sql= "select SUM(CEILING(". + "length(`$colname`)/$blobhunk))" + ."from `".$t->name."`"; + my @blobsize; + if($loadqueries) + { + @blobsize= @{$queries{$sql}}; + } + else + { + @blobsize= $dbh->selectrow_array($sql); + $queries{$sql}= \@blobsize; + } $blobsize[0]=0 if !defined($blobsize[0]); - #$NoOfTables[$_]{val} += 1 foreach 0..$#releases; # blob uses table - do_table($table."\$BLOB_$name", + + # Is a supporting table, add it to the lists: + $report->supporting_tables_set($t->name()."\$BLOB_$colname" => 1); + $t->supporting_tables_push($t->name()."\$BLOB_$colname"); + + my $st= new MySQL::NDB::Size::Table(name => + $t->name()."\$BLOB_$colname", + rows => $blobsize[0], + row_dm_overhead => + { '4.1' => 12, + '5.0' => 12, + '5.1' => 16, + }, + row_vdm_overhead => + { '5.1' => 8 }, + row_ddm_overhead => + { '5.1' => 8 }, + ); + + + + do_table($st, {'PK'=>{Type=>'int'}, 'DIST'=>{Type=>'int'}, 'PART'=>{Type=>'int'}, @@ -195,26 +628,12 @@ sub do_table { \@blobsize); } - @realsize= @realsize[0..$#releases]; - @realsize= align(4,@realsize); - - $totalsize[$_]+=$realsize[$_] foreach 0..$#totalsize; - - my @realout; - push @realout,{val=>$_} foreach @realsize; - - push @columns, { - name=>$name, - type=>$type, - is_varsize=>$is_varsize, - size=>$size, - key=>$$info{$_}{Key}, - datamemory=>\@realout, - }; - - $columnsize{$name}= \@realsize; # used for index calculations + $col->type($type); + $col->size($size); + $t->columns_set( $colname => $col ); } - + $report->tables_set( $t->name => $t ); + # And now... the IndexMemory usage. # # Firstly, we assemble some information about the indexes. @@ -222,170 +641,1058 @@ sub do_table { # we can still connect to pre-5.0 mysqlds. if(!defined($indexes{PRIMARY})) { - my @usage= ({val=>8},{val=>8},{val=>8},{val=>8}); - @usage= @usage[0..$#releases]; - $indexes{PRIMARY}= { - type=>'BTREE', - unique=>1, - comment=>'Hidden pkey created by NDB', - columns=>['HIDDEN_NDB_PKEY'], - }; - push @columns, { - name=>'HIDDEN_NDB_PKEY', - type=>'bigint', - size=>8, - key=>'PRI', - datamemory=>\@usage, - }; - $columnsize{'HIDDEN_NDB_PKEY'}= [8,8,8]; - } + my $i= new MySQL::NDB::Size::Index( + name => 'PRIMARY', + unique => 1, + comment =>'Hidden pkey created by NDB', + type =>'BTREE', + columns => ['HIDDEN_NDB_PKEY'], + ); - my @IndexDataMemory= ({val=>0},{val=>0},{val=>0},{val=>0}); - my @RowIndexMemory= ({val=>0},{val=>0},{val=>0},{val=>0}); - @IndexDataMemory= @IndexDataMemory[0..$#releases]; - @RowIndexMemory= @RowIndexMemory[0..$#releases]; + $i->im(16); + $i->dm(16); + $i->ver_im('4.1',25+8); + + $t->indexes_set('PRIMARY' => $i); + $t->indexed_columns_set('HIDDEN_NDB_PKEY' => 1); + + $t->columns_set('HIDDEN_NDB_PKEY' => + new MySQL::NDB::Size::Column( + name => 'HIDDEN_NDB_PKEY', + type => 'bigint', + dm => 8, + Key => 'PRI')); + } my @indexes; - foreach my $index (keys %indexes) { - my $im41= 25; - $im41+=$columnsize{$_}[0] foreach @{$indexes{$index}{columns}}; - my @im = ({val=>$im41},{val=>25},{val=>25}); #,{val=>25}); - my @dm = ({val=>10},{val=>10},{val=>10}); #,{val=>10}); - push @indexes, { - name=>$index, - type=>$indexes{$index}{type}, - columns=>join(',',@{$indexes{$index}{columns}}), - indexmemory=>\@im, - datamemory=>\@dm, - }; - $IndexDataMemory[$_]{val}+=$dm[$_]{val} foreach 0..$#releases; - $RowIndexMemory[$_]{val}+=$im[$_]{val} foreach 0..$#releases; - } - # total size + 16 bytes overhead - my @TotalDataMemory; - my @RowOverhead = ({val=>16},{val=>16},{val=>16}); #,{val=>24}); - # 5.1 has ptr to varsize page, and per-varsize overhead - my @nrvarsize_mem= ({val=>0},{val=>0}, - {val=>8}); #,{val=>0}); + # We model the PRIMARY first as needed for secondary uniq indexes + if(defined($indexes{'PRIMARY'})) { - my @a= align(4,$nrvarsize*2); - $nrvarsize_mem[2]{val}+=$a[0]+$nrvarsize*4; + my $index= 'PRIMARY'; + my $i= new MySQL::NDB::Size::Index( + name => $index, + unique => $indexes{$index}{unique}, + comment => $indexes{$index}{comment}, + type => $indexes{$index}{type}, + columns => [@{$indexes{$index}{columns}}], + ); + my $im41= 25; # keep old estimate for 4.1 + $im41+= $t->columns->{$_}->dm foreach @{$indexes{$index}{columns}}; + $i->im(16); # estimate from Johan + $i->dm(16) if $indexes{$index}{unique}; # estimate from Johan + $i->ver_im('4.1',$im41); + + $t->indexes_set($index => $i); + $t->indexed_columns_set($_ => 1) + foreach @{$indexes{$index}{columns}}; } - $TotalDataMemory[$_]{val}=$IndexDataMemory[$_]{val}+$totalsize[$_]+$RowOverhead[$_]{val}+$nrvarsize_mem[$_]{val} foreach 0..$#releases; + foreach my $index (keys %indexes) { + next if $index eq 'PRIMARY'; - my @RowDataMemory; - push @RowDataMemory,{val=>$_} foreach @totalsize; - - my @RowPerPage; - push @RowPerPage,{val=>(floor((32768-128)/$TotalDataMemory[$_]{val}))} foreach 0..$#TotalDataMemory; + if(!$indexes{$index}{unique}) + { + my $i= new MySQL::NDB::Size::Index( + name => $index, + unique => $indexes{$index}{unique}, + comment => $indexes{$index}{comment}, + type => $indexes{$index}{type}, + columns => [@{$indexes{$index}{columns}}], + ); + $i->dm(16); + $t->indexes_set($index => $i); + $t->indexed_columns_set($_ => 1) + foreach @{$indexes{$index}{columns}}; + } + else + { + my $i= new MySQL::NDB::Size::Index( + name => $index, + unique => $indexes{$index}{unique}, + comment => $indexes{$index}{comment}, + type => $indexes{$index}{type}, + columns => [@{$indexes{$index}{columns}}, + @{$t->indexes->{'PRIMARY'}->columns()}], + ); - my @RowPerIndexPage; - push @RowPerIndexPage,{val=>(floor(8192/$RowIndexMemory[$_]{val}))} foreach 0..$#TotalDataMemory; + $i->is_supporting_table(1); + $t->indexes_set($index => $i); - my @DataMemory; - push @DataMemory,{val=>ceil(($count[0]/($RowPerPage[$_]{val})))*32} foreach 0..$#RowPerPage; + my %idxcols; + foreach(@{$i->columns()}) + { + $idxcols{$_} = $t->columns->{$_} + } + # Is a supporting table, add it to the lists: + my $idxname= $t->name().'_'.join('_',@{$indexes{$index}{columns}}). + "\$unique"; + $report->supporting_tables_set($idxname => 1); + $t->supporting_tables_push($idxname); - my @IndexMemory; - push @IndexMemory,{val=>ceil(($count[0]/($RowPerIndexPage[$_]{val})))*8} foreach 0..$#RowPerPage; + $t->indexed_columns_set($_ => 1) + foreach @{$indexes{$index}{columns}}; - my $count= $count[0]; - my @counts; - $counts[$_]{val}= $count foreach 0..$#releases; + my $st= new MySQL::NDB::Size::Table(name => $idxname, + rows => $count[0], + row_dm_overhead => + { '4.1' => 12, + '5.0' => 12, + '5.1' => 16+4, + }, + row_vdm_overhead => + { '5.1' => 8 }, + row_ddm_overhead => + { '5.1' => 8 }, + ); - my @nrvarsize_rel= ({val=>0},{val=>0}, - {val=>$nrvarsize}); #,{val=>0}); + do_table($st, + \%idxcols, + { + 'PRIMARY' => { + 'unique' => 0,#$indexes{$index}{unique}, + 'columns' => [@{$indexes{$index}{columns}}], + 'type' => 'BTREE', + } + }, + \@count); + } + } - push @table_size, { - table=>$table, - indexes=>\@indexes, - columns=>\@columns, - count=>\@counts, - RowOverhead=>\@RowOverhead, - RowDataMemory=>\@RowDataMemory, - nrvarsize=>\@nrvarsize_rel, - nrvarsize_mem=>\@nrvarsize_mem, - releases=>\@releases, - IndexDataMemory=>\@IndexDataMemory, - TotalDataMemory=>\@TotalDataMemory, - RowPerPage=>\@RowPerPage, - DataMemory=>\@DataMemory, - RowIndexMemory=>\@RowIndexMemory, - RowPerIndexPage=>\@RowPerIndexPage, - IndexMemory=>\@IndexMemory, - - }; + $t->compute_row_size($report->versions); - $dbDataMemory[$_]{val} += $DataMemory[$_]{val} foreach 0..$#releases; - $dbIndexMemory[$_]{val} += $IndexMemory[$_]{val} foreach 0..$#releases; - $NoOfAttributes[$_]{val} += @columns foreach 0..$#releases; - $NoOfIndexes[$_]{val} += @indexes foreach 0..$#releases; -} +} # do_table foreach(@{$tables}) { my $table= @{$_}[0]; - my $info= $dbh->selectall_hashref('describe `'.$table.'`',"Field"); - my @count = $dbh->selectrow_array('select count(*) from `'.$table.'`'); + my $info; + { + my $sql= 'describe `'.$table.'`'; + if($loadqueries) + { + $info= $queries{$sql}; + } + else + { + $info= $dbh->selectall_hashref($sql,"Field"); + $queries{$sql}= $info; + } + } + my @count; + { + my $sql= 'select count(*) from `'.$table.'`'; + if($loadqueries) + { + @count= @{$queries{$sql}}; + } + else + { + @count= $dbh->selectrow_array($sql); + $queries{$sql}= \@count; + } + } my %indexes; { - my $sth= $dbh->prepare("show index from `".$table.'`'); - $sth->execute; - while(my $i = $sth->fetchrow_hashref) - { + my @show_indexes; + { + my $sql= "show index from `".$table.'`'; + if($loadqueries) + { + @show_indexes= @{$queries{$sql}}; + } + else + { + my $sth= $dbh->prepare($sql); + $sth->execute; + while(my $i = $sth->fetchrow_hashref) + { + push @show_indexes, $i; + } + $queries{$sql}= \@show_indexes; + } + } + foreach my $i(@show_indexes) + { $indexes{${%$i}{Key_name}}= { type=>${%$i}{Index_type}, unique=>!${%$i}{Non_unique}, comment=>${%$i}{Comment}, } if !defined($indexes{${%$i}{Key_name}}); - $indexes{${%$i}{Key_name}}{columns}[${%$i}{Seq_in_index}-1]= + $indexes{${%$i}{Key_name}}{columns}[${%$i}{Seq_in_index}-1]= ${%$i}{Column_name}; } } - do_table($table, $info, \%indexes, \@count); + my $t= new MySQL::NDB::Size::Table(name => $table, + rows => $count[0], + row_dm_overhead => + { '4.1' => 12, + '5.0' => 12, + '5.1' => 16, + }, + row_vdm_overhead => { '5.1' => 8 }, + row_ddm_overhead => { '5.1' => 8 }, + ); + + + do_table($t, $info, \%indexes, \@count); } -my @NoOfTriggers; -# for unique hash indexes -$NoOfTriggers[$_]{val} += $NoOfIndexes[$_]{val}*3 foreach 0..$#releases; -# for ordered index -$NoOfTriggers[$_]{val} += $NoOfIndexes[$_]{val} foreach 0..$#releases; - -my @ParamMemory; -foreach (0..$#releases) { - $ParamMemory[0]{releases}[$_]{val}= POSIX::ceil(200*$NoOfAttributes[$_]{val}/1024); - $ParamMemory[0]{name}= 'Attributes'; - - $ParamMemory[1]{releases}[$_]{val}= 20*$NoOfTables[$_]{val}; - $ParamMemory[1]{name}= 'Tables'; - - $ParamMemory[2]{releases}[$_]{val}= 10*$NoOfIndexes[$_]{val}; - $ParamMemory[2]{name}= 'OrderedIndexes'; - - $ParamMemory[3]{releases}[$_]{val}= 15*$NoOfIndexes[$_]{val}; - $ParamMemory[3]{name}= 'UniqueHashIndexes'; +# compute table estimates +while(my ($tname,$t)= $report->tables_each()) +{ + $t->compute_estimate(); } -$template->param(tables => \@table_size); -$template->param(Parameters => [{name=>'DataMemory (kb)', - releases=>\@dbDataMemory}, - {name=>'IndexMemory (kb)', - releases=>\@dbIndexMemory}, - {name=>'MaxNoOfTables', - releases=>\@NoOfTables}, - {name=>'MaxNoOfAttributes', - releases=>\@NoOfAttributes}, - {name=>'MaxNoOfOrderedIndexes', - releases=>\@NoOfIndexes}, - {name=>'MaxNoOfUniqueHashIndexes', - releases=>\@NoOfIndexes}, - {name=>'MaxNoOfTriggers', - releases=>\@NoOfTriggers} - ] - ); -$template->param(ParamMemory => \@ParamMemory); +# Now parameters.... -print $template->output; +$report->parameters_set('NoOfTables' => + new MySQL::NDB::Size::Parameter(name=>'NoOfTables', + mem_per_item=>20, + default=>128) + ); + +$report->parameters->{'NoOfTables'}->value_set($_ => scalar @{$report->tables_keys()}) + foreach $report->versions; + +$report->parameters_set('NoOfAttributes' => + new MySQL::NDB::Size::Parameter(name=>'NoOfAttributes', + mem_per_item=>0.2, + default=>1000) + ); + +{ + my $attr= 0; + while(my ($tname,$t)= $report->tables_each()) + { + $attr+= scalar @{$t->columns_keys()}; + } + $report->parameters->{'NoOfAttributes'}->value_set($_ => $attr) + foreach $report->versions; +} + + +$report->parameters_set('NoOfOrderedIndexes' => + new MySQL::NDB::Size::Parameter(name=>'NoOfOrderedIndexes', + mem_per_item=>10, + default=>128) + ); +{ + my $attr= 0; + while(my ($tname,$t)= $report->tables_each()) + { + next if $report->supporting_tables_exists($tname); + $attr+= scalar @{$t->indexes_keys()}; + } + $report->parameters->{'NoOfOrderedIndexes'}->value_set($_ => $attr) + foreach $report->versions; +} + +$report->parameters_set('NoOfUniqueHashIndexes' => + new MySQL::NDB::Size::Parameter(name=>'NoOfUniqueHashIndexes', + mem_per_item=>15, + default=>64) + ); +{ + my $attr= 0; + while(my ($tname,$t)= $report->tables_each()) + { + next if not $tname =~ /\$unique$/; + $attr++; + } + $report->parameters->{'NoOfUniqueHashIndexes'}->value_set($_ => $attr) + foreach $report->versions; +} + +# Size of trigger is not documented +$report->parameters_set('NoOfTriggers' => + new MySQL::NDB::Size::Parameter(name=>'NoOfTriggers', + mem_per_item=>0, + default=>768) + ); + +{ + $report->parameters->{'NoOfTriggers'}->value_set( + $_ => ( + (3* + $report->parameters->{'NoOfUniqueHashIndexes'}->value->{$_}) + + + $report->parameters->{'NoOfOrderedIndexes'}->value->{$_} + + + (4* # for backups (3) and replication (1??) + $report->parameters->{'NoOfTables'}->value->{$_}) + + ) + ) + foreach $report->versions; +} + +# DataMemory is in bytes... +$report->parameters_set('DataMemory' => + new MySQL::NDB::Size::Parameter(name=>'DataMemory', + mem_per_item=>1024, + unit=>'KB', + default=>80*1024) + ); +$report->parameters_set('IndexMemory' => + new MySQL::NDB::Size::Parameter(name=>'IndexMemory', + mem_per_item=>1024, + unit=>'KB', + default=>18*1024) + ); + +{ + foreach my $ver ($report->versions) + { + my $dm=0; + my $im=0; + while(my ($tname,$t)= $report->tables_each()) + { + $dm+=$t->dm_needed->{$ver}; + $dm+=$t->vdm_needed->{$ver} || 0; + $im+=$t->im_needed->{$ver}; + } + $report->parameters->{'DataMemory'}->value_set($ver => $dm/1024); + $report->parameters->{'IndexMemory'}->value_set($ver => $im/1024); + } +} + + +if($savequeries) +{ + open Q, "> $savequeries"; + print Q Dumper(\%queries); + close Q; +} + +use Data::Dumper; + +if($debug) +{ + eval 'print STDERR Dumper($report)'; +} + +if($format eq 'text') +{ + my $text_out= new MySQL::NDB::Size::Output::Text($report); + $text_out->output(); +} +elsif($format eq 'html') +{ + my $html_out= new MySQL::NDB::Size::Output::HTML($report); + $html_out->output(); +} +else +{ + # default to text output + my $text_out= new MySQL::NDB::Size::Output::Text($report); + $text_out->output(); +} + +package MySQL::NDB::Size::Output::Text; +use Data::Dumper; + +sub new { bless { report=> $_[1] }, $_[0]} + +sub ul +{ + my $s= $_[1]."\n"; + $s.='-' foreach (1..length($_[1])); + return $s.="\n"; +} + +sub output +{ + my $self= shift; + my $r= $self->{report}; + + print $self->ul("ndb_size.pl report for database ". $r->database(). + " (".(($r->tables_count()||0)-($r->supporting_tables_count()||0)). + " tables)"); + + print "Connected to: ".$r->dsn()."\n\n"; + + print "Including information for versions: ". + join(', ',@{$r->versions})."\n\n"; + + foreach my $tname (@{$r->tables_keys()}) + { + my $t= $r->tables->{$tname}; +# next if $r->supporting_tables_exists($tname); + + print $self->ul($tname)."\n"; + + # format strings + my $f= "%25s "; + my $v= "%10s "; + + # Columns + print "DataMemory for Columns (* means varsized DataMemory):\n"; + printf $f.'%20s %9s %5s','Column Name','Type','Varsized', 'Key'; + printf $v, $_ foreach @{$r->versions}; + print "\n"; + my %dm_totals; + my %vdm_totals; + while(my ($cname, $c)= $t->columns_each()) + { + $c->type =~ /^([^\(]*)/g; + printf $f.'%20s %9s %5s', + $cname, + $1.( + ( $c->size and not $c->type() =~ /(enum|set)/) + ? '('.$c->size.')' + :'' ), + ($c->is_varsize)? 'Y':' ', + (defined($c->Key))?$c->Key:' '; + foreach(@{$r->versions}) + { + if($c->ver_dm_exists($_)) + { + printf $v, $c->ver_dm($_).(($c->is_varsize)?'*':''); + if($c->is_varsize()) + { + $vdm_totals{$_}+= $c->ver_dm($_); + } + else + { + $dm_totals{$_}+= $c->ver_dm($_); + } + } + else + { + printf $v, $c->dm||'N/A'; + $dm_totals{$_}+=$c->dm||0; + } + } + print "\n"; + } + printf $f.'%20s %9s %5s','','','', ''; + printf $v, '--' foreach @{$t->dm_versions}; + print "\n"; + printf $f.'%20s %9s %5s','Fixed Size Columns DM/Row','','',''; + printf $v, $dm_totals{$_} foreach @{$r->versions}; + print "\n"; + printf $f.'%20s %9s %5s','Varsize Columns DM/Row','','',''; + printf $v, $vdm_totals{$_} || 0 foreach @{$r->versions}; + print "\n"; + + + # DM for Indexes + print "\n\nDataMemory for Indexes:\n"; + printf $f.'%20s ','Index Name','Type'; + printf $v, $_ foreach @{$r->versions}; + print "\n"; + my %idx_dm_totals; + while(my ($iname, $i)= $t->indexes_each()) + { + printf $f.'%20s ',$iname,$i->type(); + foreach(@{$r->versions}) + { + if($i->ver_dm_exists($_)) + { + printf $v, $i->ver_dm($_).(($i->is_varsize)?'*':''); + $idx_dm_totals{$_}+= $i->ver_dm($_); + } + else + { + printf $v, ((defined($i->dm))?$i->dm:'N/A'); + $idx_dm_totals{$_}+= $i->dm if defined($i->dm); + } + } + print "\n"; + } + printf $f.'%20s ','',''; + printf $v, '--' foreach @{$r->versions}; + print "\n"; + printf $f.'%20s ','Total Index DM/Row',''; + printf $v, (defined($idx_dm_totals{$_}))?$idx_dm_totals{$_}:0 + foreach @{$r->versions}; + print "\n\n"; + + if(@{$t->supporting_tables()}) + { + print "\n\nSupporting Tables DataMemory/Row"; + my %supp_total; + foreach(@{$t->supporting_tables()}) + { + print "\n"; + printf $f, $_; + my $st= $r->tables->{$_}; + printf $v, $st->row_dm_size->{$_} foreach @{$st->dm_versions}; + $supp_total{$_}+=$st->row_dm_size->{$_} + foreach @{$st->dm_versions}; + } + print "\n"; + printf $f, ''; + printf $v, '--' foreach @{$t->dm_versions}; + print "\n"; + printf $f, 'This DataMemory/Row'; + printf $v, $t->row_dm_size->{$_} foreach @{$t->dm_versions}; + $supp_total{$_}+=$t->row_dm_size->{$_} + foreach @{$t->dm_versions}; + print "\n"; + printf $f, 'Total DM/Row'; + printf $v, $supp_total{$_} foreach @{$t->dm_versions}; + print " Includes DM in other tables\n"; + } + + # IM for Columns + print "\n\nIndexMemory for Indexes:\n"; + printf $f,'Index Name'; + printf $v, $_ foreach @{$r->versions}; + print "\n"; + my %im_totals; + foreach my $iname (@{$t->indexes_keys()}) + { + my $i= $t->indexes->{$iname}; + next if $i->is_supporting_table(); + + printf $f, $iname; + + foreach(@{$r->versions}) + { + if(!defined($i->im)) + { + printf $v,'N/A'; + next; + } + if($i->ver_im_exists($_)) + { + printf $v, $i->ver_im->{$_}; + $im_totals{$_}+= $i->ver_im->{$_}; + } + else + { + printf $v, $i->im; + $im_totals{$_}+=$i->im; + } + } + print "\n"; + } + printf $f,''; + printf $v, '--' foreach @{$t->dm_versions}; + print "\n"; + printf $f,'Indexes IM/Row'; + printf $v, $im_totals{$_} foreach @{$r->versions}; + print "\n"; + + if(@{$t->supporting_tables()}) + { + print "\n\nSupporting Tables IndexMemory/Row"; + my %supp_total; + foreach(@{$t->supporting_tables()}) + { + print "\n"; + my $st= $r->tables->{$_}; + foreach(@{$st->indexes_keys()}) + { + printf $f, $st->name() if $_ eq 'PRIMARY'; + printf $f, $st->name().$_ if $_ ne 'PRIMARY'; + my $sti= $st->indexes->{$_}; + printf $v, ($sti->ver_im_exists($_)) + ?$sti->ver_im->{$_} + :$sti->im() foreach @{$st->dm_versions}; + $supp_total{$_}+= ($sti->ver_im_exists($_)) + ?$sti->ver_im->{$_} + :$sti->im() foreach @{$st->dm_versions}; + + } + } + print "\n"; + printf $f, ''; + printf $v, '--' foreach @{$t->dm_versions}; + print "\n"; + print "\n"; + printf $f, 'Total Suppt IM/Row'; + printf $v, $supp_total{$_} foreach @{$t->dm_versions}; + print "\n"; + } + + print "\n\n\nSummary (for THIS table):\n"; + printf $f, ''; + printf $v, $_ foreach @{$r->versions}; + print "\n"; + printf $f, 'Fixed Overhead DM/Row'; + printf $v, $t->row_dm_overhead->{$_} foreach @{$t->dm_versions}; + print "\n"; + printf $f, 'NULL Bytes/Row'; + printf $v, $t->dm_null_bytes->{$_}||0 foreach @{$t->dm_versions}; + print "\n"; + printf $f, 'DataMemory/Row'; + printf $v, $t->row_dm_size->{$_} foreach @{$t->dm_versions}; + print " (Includes overhead, bitmap and indexes)\n"; + + print "\n"; + printf $f, 'Varsize Overhead DM/Row'; + printf $v, $t->row_vdm_overhead->{$_}||0 foreach @{$t->dm_versions}; + print "\n"; + printf $f, 'Varsize NULL Bytes/Row'; + printf $v, $t->vdm_null_bytes->{$_}||0 foreach @{$t->dm_versions}; + print "\n"; + printf $f, 'Avg Varside DM/Row'; + printf $v, (exists($t->row_vdm_size->{$_})? + $t->row_vdm_size->{$_}: 0) + foreach @{$r->versions}; + print "\n\n"; + printf $f, 'No. Rows'; + printf $v, $t->rows foreach @{$r->versions}; + print "\n\n"; + printf $f, 'Rows/'.($t->dm_pagesize()/1024).'kb DM Page'; + printf $v, $t->dm_rows_per_page->{$_} foreach @{$r->versions}; + print "\n"; + printf $f, 'Fixedsize DataMemory (KB)'; + printf $v, $t->dm_needed->{$_}/1024 foreach @{$r->versions}; + print "\n\n"; + printf $f, 'Rows/'.($t->vdm_pagesize()/1024).'kb Varsize DM Page'; + printf $v, $t->vdm_rows_per_page->{$_}||0 foreach @{$r->versions}; + print "\n"; + printf $f, 'Varsize DataMemory (KB)'; + printf $v, ($t->vdm_needed->{$_}||0)/1024 foreach @{$r->versions}; + print "\n\n"; + printf $f, 'Rows/'.($t->im_pagesize()/1024).'kb IM Page'; + printf $v, $t->im_rows_per_page->{$_} foreach @{$r->versions}; + print "\n"; + printf $f, 'IndexMemory (KB)'; + printf $v, $t->im_needed->{$_}/1024 foreach @{$r->versions}; + + print "\n\n\n"; + } + + print "\n\n\n"; + print $self->ul("Parameter Minimum Requirements"); + print "* indicates greater than default\n\n"; + printf "%25s ","Parameter"; + printf "%15s ",'Default' ; + printf "%15s%1s ",$_,'' foreach @{$r->versions}; + print "\n"; + while( my ($pname, $p)= $r->parameters_each()) + { + printf "%25s ",$pname.(($p->unit)?' ('.$p->unit.')':''); + printf "%15u ", $p->default; + printf "%15u%1s ", $p->value->{$_}, + ($p->value->{$_} > $p->default)?'*':'' + foreach @{$r->versions}; + print "\n"; + } + print "\n\n\n"; +} + +sub table +{ + my $self= shift; + my $t= shift; +} + +package MySQL::NDB::Size::Output::HTML; + +sub new { bless { report=> $_[1] }, $_[0]} + +sub tag +{ + my ($self,$tag,$content)= @_; + return "<$tag>$content\n"; +} + +sub h1 { my ($self,$t)= @_; return $self->tag('h1',$t); } +sub h2 { my ($self,$t)= @_; return $self->tag('h2',$t); } +sub h3 { my ($self,$t)= @_; return $self->tag('h3',$t); } +sub h4 { my ($self,$t)= @_; return $self->tag('h4',$t); } + +sub p { my ($self,$t)= @_; return $self->tag('p',$t); } +sub b { my ($self,$t)= @_; return $self->tag('b',$t); } + +sub th +{ + my ($self)= shift; + my $c; + $c.=$self->tag('th',$_) foreach @_; + return $self->tag('tr',$c); +} + +sub tr +{ + my ($self)= shift; + my $c; + $c.=$self->tag('td',$_) foreach @_; + return $self->tag('tr',$c); +} + +sub td { my ($self,$t)= @_; return $self->tag('td',$t); } + +sub ul +{ + my ($self)= shift; + my $c; + $c.= " ".$self->li($_) foreach @_; + return $self->tag('ul',$c); +} + +sub li { my ($self,$t)= @_; return $self->tag('li',$t); } + +sub href +{ + my ($self,$href,$t)= @_; + $href =~ s/\$/__/g; + return "$t"; +} + +sub aname +{ + my ($self,$href,$t)= @_; + $href =~ s/\$/__/g; + return "$t"; +} + +sub output +{ + my $self= shift; + my $r= $self->{report}; + + print < + + + + +ENDHTML +print "MySQL Cluster size estimate for ".$r->database().""; +print < + table { border-collapse: collapse } + td,th { border: 1px solid black } + + + +ENDHTML + + print $self->h1("ndb_size.pl report for database ". $r->database(). + " (".(($r->tables_count()||0)-($r->supporting_tables_count()||0)). + " tables)"); + + print $self->p("Connected to: ".$r->dsn()); + + print $self->p("Including information for versions: ". + join(', ',@{$r->versions})); + + if(@{$r->tables_keys()}) + { + print $self->h2("Table List"); + my @tlist; + foreach(sort @{$r->tables_keys()}) + { + push @tlist, $self->href("#$_",$_); + } + print $self->ul(@tlist); + } + + foreach my $tname (sort @{$r->tables_keys()}) + { + my $t= $r->tables->{$tname}; + + print $self->h2($self->aname($tname,$tname)); + + # format strings + my $f= "%25s "; + my $v= "%10s "; + + # Columns + print $self->h3("DataMemory for Columns"); + print $self->p("* means varsized DataMemory"); + print "
\n"; + print $self->th('Column Name','Type','Varsized', 'Key', + @{$r->versions}); + + my %dm_totals; + my %vdm_totals; + while(my ($cname, $c)= $t->columns_each()) + { + $c->type =~ /^([^\(]*)/g; + my @verinfo; + foreach(@{$r->versions}) + { + if($c->ver_dm_exists($_)) + { + push @verinfo, $c->ver_dm($_).(($c->is_varsize)?'*':''); + if($c->is_varsize()) + { + $vdm_totals{$_}+= $c->ver_dm($_); + } + else + { + $dm_totals{$_}+= $c->ver_dm($_); + } + } + else + { + push @verinfo, $c->dm||'N/A'; + $dm_totals{$_}+=$c->dm||0; + } + } + + print $self->tr( + $cname, + $1.( + ( $c->size and not $c->type() =~ /(enum|set)/) + ? '('.$c->size.')' + :'' ), + ($c->is_varsize)? 'Y':' ', + (defined($c->Key))?$c->Key:' ',@verinfo); + } + + { + my @dmtot; + push @dmtot, $self->b($dm_totals{$_}) foreach @{$r->versions}; + print $self->tr($self->b('Fixed Size Columns DM/Row'),'','','', + @dmtot); + + } + { + my @vdmtot; + push @vdmtot, $self->b($vdm_totals{$_} || 0) + foreach @{$r->versions}; + print $self->tr($self->b('Varsize Columns DM/Row'),'','','', + @vdmtot); + } + + print "
\n"; + + # DM for Indexes + print $self->h3('DataMemory for Indexes'); + print "\n"; + print $self->th('Index Name','Type',@{$r->versions}); + + my %idx_dm_totals; + while(my ($iname, $i)= $t->indexes_each()) + { + my @verinfo; + foreach(@{$r->versions}) + { + if($i->ver_dm_exists($_)) + { + push @verinfo, $i->ver_dm($_).(($i->is_varsize)?'*':''); + $idx_dm_totals{$_}+= $i->ver_dm($_); + } + else + { + push @verinfo, ((defined($i->dm))?$i->dm:'N/A'); + $idx_dm_totals{$_}+= $i->dm if defined($i->dm); + } + } + printf $self->tr($iname,$i->type(),@verinfo); + } + { + my @idxtot; + push @idxtot, $self->b((defined($idx_dm_totals{$_})) + ? $idx_dm_totals{$_}:0) + foreach @{$r->versions}; + print $self->tr($self->b('Total Index DM/Row'),'', + @idxtot); + } + + print "
"; + + if(@{$t->supporting_tables()}) + { + print $self->h3("Supporting Tables DataMemory/Row"); + my %supp_total; + + print ""; + print $self->th('Table',@{$r->versions}); + foreach(@{$t->supporting_tables()}) + { + my $st= $r->tables->{$_}; + my @stdm; + push @stdm, $st->row_dm_size->{$_} foreach @{$st->dm_versions}; + + print $self->tr($_,@stdm); + + $supp_total{$_}+=$st->row_dm_size->{$_} + foreach @{$st->dm_versions}; + } + { + my @rdmtot; + push @rdmtot, $self->b($t->row_dm_size->{$_}) + foreach @{$t->dm_versions}; + print $self->tr($self->b('This DataMemory/Row'),@rdmtot); + } + $supp_total{$_}+=$t->row_dm_size->{$_} + foreach @{$t->dm_versions}; + + { + my @tdmr; + push @tdmr, $self->b($supp_total{$_}) + foreach @{$t->dm_versions}; + print $self->tr($self->b('Total DM/Row (inludes DM in other tables)'),@tdmr); + } + print "
"; + } + + # IM for Columns + print $self->h3("IndexMemory for Indexes"); + print "\n"; + print $self->th('Index Name', @{$r->versions}); + + my %im_totals; + foreach my $iname (@{$t->indexes_keys()}) + { + my $i= $t->indexes->{$iname}; + next if $i->is_supporting_table(); + + my @verinfo; + foreach(@{$r->versions}) + { + if(!defined($i->im)) + { + push @verinfo,'N/A'; + next; + } + if($i->ver_im_exists($_)) + { + push @verinfo, $i->ver_im->{$_}; + $im_totals{$_}+= $i->ver_im->{$_}; + } + else + { + push @verinfo, $i->im; + $im_totals{$_}+=$i->im; + } + } + print $self->tr($iname, @verinfo); + } + { + my @v; + push @v, $self->b($im_totals{$_}) foreach @{$r->versions}; + printf $self->tr('Indexes IM/Row',@v); + } + print "
\n"; + + if(@{$t->supporting_tables()}) + { + print $self->h3("Supporting Tables IndexMemory/Row"); + print "\n"; + my %supp_total; + foreach(@{$t->supporting_tables()}) + { + my $st= $r->tables->{$_}; + foreach(@{$st->indexes_keys()}) + { + my @r; + push @r, $st->name() if $_ eq 'PRIMARY'; + push @r, $st->name().$_ if $_ ne 'PRIMARY'; + my $sti= $st->indexes->{$_}; + push @r, ($sti->ver_im_exists($_)) + ?$sti->ver_im->{$_} + :$sti->im() foreach @{$st->dm_versions}; + $supp_total{$_}+= ($sti->ver_im_exists($_)) + ?$sti->ver_im->{$_} + :$sti->im() foreach @{$st->dm_versions}; + print $self->tr(@r); + } + } + { + my @r; + push @r, $self->b($supp_total{$_}) foreach @{$t->dm_versions}; + print $self->tr($self->b('Total Suppt IM/Row'),@r); + } + print "
\n"; + } + + print $self->h3("Summary (for THIS table)"); + print $self->h4("Fixed Sized Part"); + print "\n"; + + print $self->tr('',@{$r->versions}); + + { my @r; + push @r, $t->row_dm_overhead->{$_} foreach @{$t->dm_versions}; + print $self->tr('Fixed Overhead DM/Row',@r); + } + { my @r; + push @r, $t->dm_null_bytes->{$_}||0 foreach @{$t->dm_versions}; + print $self->tr('NULL Bytes/Row',@r); + } + { my @r; + push @r, $t->row_dm_size->{$_} foreach @{$t->dm_versions}; + print $self->tr('DataMemory/Row (incl overhead, bitmap, indexes)', + @r); + } + print "
\n"; + print $self->h4("Variable Sized Part"); + print "\n"; + + { my @r; + push @r, $t->row_vdm_overhead->{$_}||0 foreach @{$t->dm_versions}; + print $self->tr('Varsize Overhead DM/Row',@r); + } + { my @r; + push @r, $t->vdm_null_bytes->{$_}||0 foreach @{$t->dm_versions}; + print $self->tr('Varsize NULL Bytes/Row',@r); + } + { my @r; + push @r, (exists($t->row_vdm_size->{$_})? + $t->row_vdm_size->{$_}: 0) + foreach @{$r->versions}; + print $self->tr('Avg Varside DM/Row',@r); + } + print "
\n"; + print $self->h4("Memory Calculations"); + print "\n"; + + { my @r; + push @r, $t->rows foreach @{$r->versions}; + print $self->tr('No. Rows',@r); + } + { my @r; + push @r, $t->dm_rows_per_page->{$_} foreach @{$r->versions}; + print $self->tr('Rows/'.($t->dm_pagesize()/1024).'kb DM Page',@r); + } + { my @r; + push @r, $t->dm_needed->{$_}/1024 foreach @{$r->versions}; + print $self->tr('Fixedsize DataMemory (KB)',@r); + } + { my @r; + push @r, $t->vdm_rows_per_page->{$_}||0 foreach @{$r->versions}; + print $self->tr('Rows/'.($t->vdm_pagesize()/1024). + 'kb Varsize DM Page', @r); + } + { my @r; + push @r, ($t->vdm_needed->{$_}||0)/1024 foreach @{$r->versions}; + print $self->tr('Varsize DataMemory (KB)', @r); + } + { my @r; + push @r, $t->im_rows_per_page->{$_} foreach @{$r->versions}; + print $self->tr('Rows/'.($t->im_pagesize()/1024).'kb IM Page', @r); + } + { my @r; + push @r, $t->im_needed->{$_}/1024 foreach @{$r->versions}; + print $self->tr('IndexMemory (KB)', @r); + } + + print "

\n\n"; + } + + print $self->h1("Parameter Minimum Requirements"); + print $self->p("* indicates greater than default"); + print "\n"; + print $self->th("Parameter",'Default',@{$r->versions}); + while( my ($pname, $p)= $r->parameters_each()) + { + my @r; + push @r, $p->value->{$_}. + (($p->value->{$_} > $p->default)?'*':'') + foreach @{$r->versions}; + + print $self->tr($pname.(($p->unit)?' ('.$p->unit.')':''), + $p->default, + @r); + } + print "
"; +} + +sub table +{ + my $self= shift; + my $t= shift; +} diff --git a/storage/ndb/tools/ndb_size.tmpl b/storage/ndb/tools/ndb_size.tmpl deleted file mode 100644 index 1e19ea132ba..00000000000 --- a/storage/ndb/tools/ndb_size.tmpl +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - MySQL Cluster size estimate for <TMPL_VAR NAME="db" ESCAPE="HTML"> - - - -

MySQL Cluster analysis for

-

This is an automated analysis of the database for migration into MySQL Cluster. No warranty is made to the accuracy of the information.

- -

This information should be valid for MySQL 4.1 and 5.0. Since 5.1 is not a final release yet, the numbers should be used as a guide only.

- -

5.1-dd is for tables stored on disk. The ndb_size.pl estimates are experimental and should not be trusted. Notably we don't take into account indexed columns being in DataMemory versus non-indexed on disk.

- -

Parameter Settings

-

NOTE the configuration parameters below do not take into account system tables and other requirements.

- - - - - - - - - - - - - - - -
Parameter
- -

Memory usage because of parameters

- -

Usage is in kilobytes. Actual usage will vary as you should set the parameters larger than those listed in the table above.

- - - - - - - - - - - - - - - -
Parameter
- -

Table List

- - -
- - -

">

- - - - - - - - - - - - - - - - - - - - - - - -
ColumnTypeVARSIZESizeKey NDB Size
YES 
- -

 

- -

Indexes

- -

We assume that indexes are ORDERED (not created USING HASH). If order is not required, 10 bytes of data memory can be saved per row if the index is created USING HASH

- - - - - - - - - - - - - - - - - - - - - - - - - -
IndexTypeColumns IdxMem DatMem
- -

DataMemory Usage

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
Nr Varsized Attributes
Row Overhead
Varsized Overhead
Column DataMemory/Row
Index DataMemory/Row
Total DataMemory/Row
Rows per 32kb page
Current number of rows
Total DataMemory (kb)
- -

IndexMemory Usage

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
IndexMemory/Row
Rows per 8kb page
Current number of rows
Total IndexMemory (kb)
- -
-
- -

This is the output of ndb_size.pl.

- - - From 4d34614389c68d99439e3c16fa0d16e4c0955022 Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Wed, 25 Apr 2007 09:16:38 +0200 Subject: [PATCH 057/144] mysql_install_db.sh: Disable broken quoting of extra arguments; proper fix requires using eval and lots more quoting throughout the script --- scripts/mysql_install_db.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index 63995eb1575..f90e99ec468 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -79,7 +79,10 @@ parse_arguments() { then # This sed command makes sure that any special chars are quoted, # so the arg gets passed exactly to the server. - args="$args "`echo "$arg" | sed -e 's,\([^a-zA-Z0-9_.-]\),\\\\\1,g'` + # XXX: This is broken; true fix requires using eval and proper + # quoting of every single arg ($basedir, $ldata, etc.) + #args="$args "`echo "$arg" | sed -e 's,\([^a-zA-Z0-9_.-]\),\\\\\1,g'` + args="$args $arg" fi ;; esac From 32e7f9e62dd584d87cd49b864ae156c3119cd3bc Mon Sep 17 00:00:00 2001 From: "knielsen@ymer.(none)" <> Date: Wed, 25 Apr 2007 09:23:28 +0200 Subject: [PATCH 058/144] BUG#27495: Missing implementation of NdbTransaction::executeAsynch(). NdbTransaction::executeAsynch() was not implemented. Add implementation. --- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++ ndb/include/ndbapi/NdbTransaction.hpp | 8 ++- ndb/src/ndbapi/NdbTransaction.cpp | 11 ++++ ndb/test/ndbapi/testNdbApi.cpp | 74 +++++++++++++++++++++++++ ndb/test/run-test/daily-basic-tests.txt | 4 ++ 6 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/ndb/include/ndbapi/NdbTransaction.hpp b/ndb/include/ndbapi/NdbTransaction.hpp index 1a9c7158adf..13dbe8b634a 100644 --- a/ndb/include/ndbapi/NdbTransaction.hpp +++ b/ndb/include/ndbapi/NdbTransaction.hpp @@ -379,14 +379,16 @@ public: void executeAsynch(ExecType aTypeOfExec, NdbAsynchCallback aCallback, void* anyObject, - AbortOption abortOption = AbortOnError); + AbortOption abortOption = AbortOnError, + int forceSend= 0); #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED void executeAsynch(::ExecType aTypeOfExec, NdbAsynchCallback aCallback, void* anyObject, - ::AbortOption abortOption= ::AbortOnError) + ::AbortOption abortOption= ::AbortOnError, + int forceSend= 0) { executeAsynch((ExecType)aTypeOfExec, aCallback, anyObject, - (AbortOption)abortOption); } + (AbortOption)abortOption, forceSend); } #endif #endif /** diff --git a/ndb/src/ndbapi/NdbTransaction.cpp b/ndb/src/ndbapi/NdbTransaction.cpp index 2fe43b8cc21..6ddec39c4fc 100644 --- a/ndb/src/ndbapi/NdbTransaction.cpp +++ b/ndb/src/ndbapi/NdbTransaction.cpp @@ -694,6 +694,17 @@ NdbTransaction::executeAsynchPrepare( ExecType aTypeOfExec, DBUG_VOID_RETURN; }//NdbTransaction::executeAsynchPrepare() +void +NdbTransaction::executeAsynch(ExecType aTypeOfExec, + NdbAsynchCallback aCallback, + void* anyObject, + AbortOption abortOption, + int forceSend) +{ + executeAsynchPrepare(aTypeOfExec, aCallback, anyObject, abortOption); + theNdb->sendPreparedTransactions(forceSend); +} + void NdbTransaction::close() { theNdb->closeTransaction(this); diff --git a/ndb/test/ndbapi/testNdbApi.cpp b/ndb/test/ndbapi/testNdbApi.cpp index a8ea420804e..aee668039fe 100644 --- a/ndb/test/ndbapi/testNdbApi.cpp +++ b/ndb/test/ndbapi/testNdbApi.cpp @@ -1234,6 +1234,76 @@ int runScan_4006(NDBT_Context* ctx, NDBT_Step* step){ return result; } +static void +testExecuteAsynchCallback(int res, NdbTransaction *con, void *data_ptr) +{ + int *res_ptr= (int *)data_ptr; + + *res_ptr= res; +} + +int runTestExecuteAsynch(NDBT_Context* ctx, NDBT_Step* step){ + /* Test that NdbTransaction::executeAsynch() works (BUG#27495). */ + int result = NDBT_OK; + const NdbDictionary::Table* pTab = ctx->getTab(); + + Ndb* pNdb = new Ndb(&ctx->m_cluster_connection, "TEST_DB"); + if (pNdb == NULL){ + ndbout << "pNdb == NULL" << endl; + return NDBT_FAILED; + } + if (pNdb->init(2048)){ + ERR(pNdb->getNdbError()); + delete pNdb; + return NDBT_FAILED; + } + + NdbConnection* pCon = pNdb->startTransaction(); + if (pCon == NULL){ + ERR(pNdb->getNdbError()); + delete pNdb; + return NDBT_FAILED; + } + + NdbScanOperation* pOp = pCon->getNdbScanOperation(pTab->getName()); + if (pOp == NULL){ + ERR(pOp->getNdbError()); + pNdb->closeTransaction(pCon); + delete pNdb; + return NDBT_FAILED; + } + + if (pOp->readTuples() != 0){ + ERR(pOp->getNdbError()); + pNdb->closeTransaction(pCon); + delete pNdb; + return NDBT_FAILED; + } + + if (pOp->getValue(NdbDictionary::Column::FRAGMENT) == 0){ + ERR(pOp->getNdbError()); + pNdb->closeTransaction(pCon); + delete pNdb; + return NDBT_FAILED; + } + int res= 42; + pCon->executeAsynch(NoCommit, testExecuteAsynchCallback, &res); + while(pNdb->pollNdb(100000) == 0) + ; + if (res != 0){ + ERR(pCon->getNdbError()); + ndbout << "Error returned from execute: " << res << endl; + result= NDBT_FAILED; + } + + pNdb->closeTransaction(pCon); + + delete pNdb; + + return result; +} + + template class Vector; @@ -1322,6 +1392,10 @@ TESTCASE("Scan_4006", INITIALIZER(runScan_4006); FINALIZER(runClearTable); } +TESTCASE("ExecuteAsynch", + "Check that executeAsync() works (BUG#27495)\n"){ + INITIALIZER(runTestExecuteAsynch); +} NDBT_TESTSUITE_END(testNdbApi); int main(int argc, const char** argv){ diff --git a/ndb/test/run-test/daily-basic-tests.txt b/ndb/test/run-test/daily-basic-tests.txt index 75be728f3b1..d2c91279d18 100644 --- a/ndb/test/run-test/daily-basic-tests.txt +++ b/ndb/test/run-test/daily-basic-tests.txt @@ -609,6 +609,10 @@ max-time: 500 cmd: testNdbApi args: -n Scan_4006 T1 +max-time: 500 +cmd: testNdbApi +args: -n ExecuteAsynch T1 + #max-time: 500 #cmd: testInterpreter #args: T1 From d343965fcdd6380a1849f9451ae7f3e9c302ae71 Mon Sep 17 00:00:00 2001 From: "mjorgensen@blade09.mysql.com" <> Date: Wed, 25 Apr 2007 12:08:12 +0200 Subject: [PATCH 059/144] thread_registry.cc: Disable assert causing bug # 28030 temporarily, since it's non-critical, and the bug have been filed --- server-tools/instance-manager/thread_registry.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server-tools/instance-manager/thread_registry.cc b/server-tools/instance-manager/thread_registry.cc index 700ed22afe7..b06c1240d92 100644 --- a/server-tools/instance-manager/thread_registry.cc +++ b/server-tools/instance-manager/thread_registry.cc @@ -67,7 +67,8 @@ Thread_registry::~Thread_registry() if (head.next != &head) log_error("Not all threads died properly\n"); /* All threads must unregister */ - DBUG_ASSERT(head.next == &head); + // Disabled assert temporarily - BUG#28030 + // DBUG_ASSERT(head.next == &head); pthread_mutex_unlock(&LOCK_thread_registry); pthread_cond_destroy(&COND_thread_registry_is_empty); From 29970f1e0d909b209b5f99b0bca2193e67cd707e Mon Sep 17 00:00:00 2001 From: "gluh@mysql.com/eagle.(none)" <> Date: Wed, 25 Apr 2007 17:15:05 +0500 Subject: [PATCH 060/144] Bug#27047 INFORMATION_SCHEMA table cannot have BIGINT fields added support for DATE, TIME, BLOB, FLOAT and all *INT variants in I_S tables --- sql/item.h | 44 +++++++--- sql/sp.cc | 4 +- sql/sql_show.cc | 229 +++++++++++++++++++++++++++++------------------- sql/table.h | 6 +- 4 files changed, 179 insertions(+), 104 deletions(-) diff --git a/sql/item.h b/sql/item.h index 3d20aaf66cd..747d79afda9 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1840,33 +1840,57 @@ public: /* for show tables */ - -class Item_datetime :public Item_string +class Item_partition_func_safe_string: public Item_string { public: - Item_datetime(const char *item_name): Item_string(item_name,"",0, - &my_charset_bin) - { max_length=19;} - enum_field_types field_type() const { return MYSQL_TYPE_DATETIME; } + Item_partition_func_safe_string(const char *name, uint length, + CHARSET_INFO *cs= NULL): + Item_string(name, length, cs) + {} bool check_partition_func_processor(byte *int_arg) {return TRUE;} }; -class Item_empty_string :public Item_string + +class Item_return_date_time :public Item_partition_func_safe_string +{ + enum_field_types date_time_field_type; +public: + Item_return_date_time(const char *name_arg, enum_field_types field_type_arg) + :Item_partition_func_safe_string(name_arg, 0, &my_charset_bin), + date_time_field_type(field_type_arg) + { } + enum_field_types field_type() const { return date_time_field_type; } +}; + + +class Item_blob :public Item_partition_func_safe_string +{ +public: + Item_blob(const char *name, uint length) : + Item_partition_func_safe_string(name, length, &my_charset_bin) + { max_length= length; } + enum Type type() const { return TYPE_HOLDER; } + enum_field_types field_type() const { return MYSQL_TYPE_BLOB; } +}; + + +class Item_empty_string :public Item_partition_func_safe_string { public: Item_empty_string(const char *header,uint length, CHARSET_INFO *cs= NULL) : - Item_string("",0, cs ? cs : &my_charset_bin) + Item_partition_func_safe_string("",0, cs ? cs : &my_charset_bin) { name=(char*) header; max_length= cs ? length * cs->mbmaxlen : length; } void make_field(Send_field *field); }; + class Item_return_int :public Item_int { enum_field_types int_field_type; public: Item_return_int(const char *name_arg, uint length, - enum_field_types field_type_arg) - :Item_int(name_arg, 0, length), int_field_type(field_type_arg) + enum_field_types field_type_arg, longlong value= 0) + :Item_int(name_arg, value, length), int_field_type(field_type_arg) { unsigned_flag=1; } diff --git a/sql/sp.cc b/sql/sp.cc index 49b8b304e76..d96e4295a83 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -784,7 +784,9 @@ db_show_routine_status(THD *thd, int type, const char *wild) { switch (used_field->field_type) { case MYSQL_TYPE_TIMESTAMP: - field_list.push_back(item=new Item_datetime(used_field->field_name)); + field_list.push_back(item= + new Item_return_date_time(used_field->field_name, + MYSQL_TYPE_DATETIME)); break; default: field_list.push_back(item=new Item_empty_string(used_field->field_name, diff --git a/sql/sql_show.cc b/sql/sql_show.cc index b28077300f3..e4e0fb22a5e 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -4704,16 +4704,26 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) for (; fields_info->field_name; fields_info++) { switch (fields_info->field_type) { + case MYSQL_TYPE_TINY: case MYSQL_TYPE_LONG: - if (!(item= new Item_int(fields_info->field_name, - fields_info->value, - fields_info->field_length))) + case MYSQL_TYPE_SHORT: + case MYSQL_TYPE_LONGLONG: + case MYSQL_TYPE_INT24: + if (!(item= new Item_return_int(fields_info->field_name, + fields_info->field_length, + fields_info->field_type, + fields_info->value))) { DBUG_RETURN(0); } + item->unsigned_flag= (fields_info->field_flags & MY_I_S_UNSIGNED); break; + case MYSQL_TYPE_DATE: + case MYSQL_TYPE_TIME: case MYSQL_TYPE_TIMESTAMP: - if (!(item=new Item_datetime(fields_info->field_name))) + case MYSQL_TYPE_DATETIME: + if (!(item=new Item_return_date_time(fields_info->field_name, + fields_info->field_type))) { DBUG_RETURN(0); } @@ -4729,7 +4739,7 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) { DBUG_RETURN(0); } - item->unsigned_flag= (fields_info->field_length/10000)%10; + item->unsigned_flag= (fields_info->field_flags & MY_I_S_UNSIGNED); item->decimals= fields_info->field_length%10; item->max_length= (fields_info->field_length/100)%100; if (item->unsigned_flag == 0) @@ -4739,6 +4749,16 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) item->set_name(fields_info->field_name, strlen(fields_info->field_name), cs); break; + case MYSQL_TYPE_TINY_BLOB: + case MYSQL_TYPE_MEDIUM_BLOB: + case MYSQL_TYPE_LONG_BLOB: + case MYSQL_TYPE_BLOB: + if (!(item= new Item_blob(fields_info->field_name, + fields_info->field_length))) + { + DBUG_RETURN(0); + } + break; default: /* Don't let unimplemented types pass through. Could be a grave error. */ DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING); @@ -4754,7 +4774,7 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) break; } field_list.push_back(item); - item->maybe_null= fields_info->maybe_null; + item->maybe_null= (fields_info->field_flags & MY_I_S_MAYBE_NULL); field_count++; } TMP_TABLE_PARAM *tmp_table_param = @@ -5374,25 +5394,29 @@ ST_FIELD_INFO tables_fields_info[]= {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Name"}, {"TABLE_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, "Engine"}, - {"VERSION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Version"}, + {"VERSION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Version"}, {"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"}, - {"TABLE_ROWS", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Rows"}, - {"AVG_ROW_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, - "Avg_row_length"}, - {"DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, - "Data_length"}, - {"MAX_DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, - "Max_data_length"}, - {"INDEX_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, - "Index_length"}, - {"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Data_free"}, - {"AUTO_INCREMENT", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, - "Auto_increment"}, - {"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Create_time"}, - {"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Update_time"}, - {"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Check_time"}, + {"TABLE_ROWS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Rows"}, + {"AVG_ROW_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Avg_row_length"}, + {"DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_length"}, + {"MAX_DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Max_data_length"}, + {"INDEX_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Index_length"}, + {"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_free"}, + {"AUTO_INCREMENT", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Auto_increment"}, + {"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Create_time"}, + {"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Update_time"}, + {"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Check_time"}, {"TABLE_COLLATION", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"}, - {"CHECKSUM", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Checksum"}, + {"CHECKSUM", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Checksum"}, {"CREATE_OPTIONS", 255, MYSQL_TYPE_STRING, 0, 1, "Create_options"}, {"TABLE_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, "Comment"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} @@ -5405,15 +5429,20 @@ ST_FIELD_INFO columns_fields_info[]= {"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Field"}, - {"ORDINAL_POSITION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 0, 0}, - {"COLUMN_DEFAULT", MAX_FIELD_VARCHARLENGTH, MYSQL_TYPE_STRING, 0, 1, "Default"}, + {"ORDINAL_POSITION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, + MY_I_S_UNSIGNED, 0}, + {"COLUMN_DEFAULT", MAX_FIELD_VARCHARLENGTH, MYSQL_TYPE_STRING, 0, + 1, "Default"}, {"IS_NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"}, {"DATA_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, - {"CHARACTER_MAXIMUM_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, - 0}, - {"CHARACTER_OCTET_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0}, - {"NUMERIC_PRECISION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0}, - {"NUMERIC_SCALE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0}, + {"CHARACTER_MAXIMUM_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"CHARACTER_OCTET_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG, + 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"NUMERIC_PRECISION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"NUMERIC_SCALE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG, + 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 1, 0}, {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"}, {"COLUMN_TYPE", 65535, MYSQL_TYPE_STRING, 0, 0, "Type"}, @@ -5430,7 +5459,7 @@ ST_FIELD_INFO charsets_fields_info[]= {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"}, {"DEFAULT_COLLATE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Default collation"}, {"DESCRIPTION", 60, MYSQL_TYPE_STRING, 0, 0, "Description"}, - {"MAXLEN", 3 ,MYSQL_TYPE_LONG, 0, 0, "Maxlen"}, + {"MAXLEN", 3, MYSQL_TYPE_LONGLONG, 0, 0, "Maxlen"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} }; @@ -5439,10 +5468,10 @@ ST_FIELD_INFO collation_fields_info[]= { {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Collation"}, {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"}, - {"ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, 0, "Id"}, + {"ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, 0, "Id"}, {"IS_DEFAULT", 3, MYSQL_TYPE_STRING, 0, 0, "Default"}, {"IS_COMPILED", 3, MYSQL_TYPE_STRING, 0, 0, "Compiled"}, - {"SORTLEN", 3 ,MYSQL_TYPE_LONG, 0, 0, "Sortlen"}, + {"SORTLEN", 3, MYSQL_TYPE_LONGLONG, 0, 0, "Sortlen"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} }; @@ -5469,19 +5498,19 @@ ST_FIELD_INFO events_fields_info[]= {"EVENT_BODY", 8, MYSQL_TYPE_STRING, 0, 0, 0}, {"EVENT_DEFINITION", 65535, MYSQL_TYPE_STRING, 0, 0, 0}, {"EVENT_TYPE", 9, MYSQL_TYPE_STRING, 0, 0, "Type"}, - {"EXECUTE_AT", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Execute at"}, + {"EXECUTE_AT", 0, MYSQL_TYPE_DATETIME, 0, 1, "Execute at"}, {"INTERVAL_VALUE", 256, MYSQL_TYPE_STRING, 0, 1, "Interval value"}, {"INTERVAL_FIELD", 18, MYSQL_TYPE_STRING, 0, 1, "Interval field"}, {"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0}, - {"STARTS", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Starts"}, - {"ENDS", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Ends"}, + {"STARTS", 0, MYSQL_TYPE_DATETIME, 0, 1, "Starts"}, + {"ENDS", 0, MYSQL_TYPE_DATETIME, 0, 1, "Ends"}, {"STATUS", 18, MYSQL_TYPE_STRING, 0, 0, "Status"}, {"ON_COMPLETION", 12, MYSQL_TYPE_STRING, 0, 0, 0}, - {"CREATED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, 0}, - {"LAST_ALTERED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, 0}, - {"LAST_EXECUTED", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, + {"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 0, 0}, + {"LAST_ALTERED", 0, MYSQL_TYPE_DATETIME, 0, 0, 0}, + {"LAST_EXECUTED", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, {"EVENT_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, - {"ORIGINATOR", 10, MYSQL_TYPE_LONG, 0, 0, "Originator"}, + {"ORIGINATOR", 10, MYSQL_TYPE_LONGLONG, 0, 0, "Originator"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} }; @@ -5512,8 +5541,8 @@ ST_FIELD_INFO proc_fields_info[]= {"SQL_DATA_ACCESS", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"SQL_PATH", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"SECURITY_TYPE", 7, MYSQL_TYPE_STRING, 0, 0, "Security_type"}, - {"CREATED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, "Created"}, - {"LAST_ALTERED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, "Modified"}, + {"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 0, "Created"}, + {"LAST_ALTERED", 0, MYSQL_TYPE_DATETIME, 0, 0, "Modified"}, {"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0}, {"ROUTINE_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Comment"}, {"DEFINER", 77, MYSQL_TYPE_STRING, 0, 0, "Definer"}, @@ -5526,14 +5555,15 @@ ST_FIELD_INFO stat_fields_info[]= {"TABLE_CATALOG", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"}, - {"NON_UNIQUE", 1, MYSQL_TYPE_LONG, 0, 0, "Non_unique"}, + {"NON_UNIQUE", 1, MYSQL_TYPE_LONGLONG, 0, 0, "Non_unique"}, {"INDEX_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"INDEX_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Key_name"}, - {"SEQ_IN_INDEX", 2, MYSQL_TYPE_LONG, 0, 0, "Seq_in_index"}, + {"SEQ_IN_INDEX", 2, MYSQL_TYPE_LONGLONG, 0, 0, "Seq_in_index"}, {"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Column_name"}, {"COLLATION", 1, MYSQL_TYPE_STRING, 0, 1, "Collation"}, - {"CARDINALITY", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, 1, "Cardinality"}, - {"SUB_PART", 3, MYSQL_TYPE_LONG, 0, 1, "Sub_part"}, + {"CARDINALITY", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, 1, + "Cardinality"}, + {"SUB_PART", 3, MYSQL_TYPE_LONGLONG, 0, 1, "Sub_part"}, {"PACKED", 10, MYSQL_TYPE_STRING, 0, 1, "Packed"}, {"NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"}, {"INDEX_TYPE", 16, MYSQL_TYPE_STRING, 0, 0, "Index_type"}, @@ -5623,8 +5653,8 @@ ST_FIELD_INFO key_column_usage_fields_info[]= {"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, - {"ORDINAL_POSITION", 10 ,MYSQL_TYPE_LONG, 0, 0, 0}, - {"POSITION_IN_UNIQUE_CONSTRAINT", 10 ,MYSQL_TYPE_LONG, 0, 1, 0}, + {"ORDINAL_POSITION", 10 ,MYSQL_TYPE_LONGLONG, 0, 0, 0}, + {"POSITION_IN_UNIQUE_CONSTRAINT", 10 ,MYSQL_TYPE_LONGLONG, 0, 1, 0}, {"REFERENCED_TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"REFERENCED_TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"REFERENCED_COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, @@ -5646,8 +5676,8 @@ ST_FIELD_INFO open_tables_fields_info[]= { {"Database", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Database"}, {"Table",NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"}, - {"In_use", 1, MYSQL_TYPE_LONG, 0, 0, "In_use"}, - {"Name_locked", 4, MYSQL_TYPE_LONG, 0, 0, "Name_locked"}, + {"In_use", 1, MYSQL_TYPE_LONGLONG, 0, 0, "In_use"}, + {"Name_locked", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Name_locked"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} }; @@ -5661,7 +5691,7 @@ ST_FIELD_INFO triggers_fields_info[]= {"EVENT_OBJECT_CATALOG", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"EVENT_OBJECT_SCHEMA",NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"EVENT_OBJECT_TABLE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"}, - {"ACTION_ORDER", 4, MYSQL_TYPE_LONG, 0, 0, 0}, + {"ACTION_ORDER", 4, MYSQL_TYPE_LONGLONG, 0, 0, 0}, {"ACTION_CONDITION", 65535, MYSQL_TYPE_STRING, 0, 1, 0}, {"ACTION_STATEMENT", 65535, MYSQL_TYPE_STRING, 0, 0, "Statement"}, {"ACTION_ORIENTATION", 9, MYSQL_TYPE_STRING, 0, 0, 0}, @@ -5670,7 +5700,7 @@ ST_FIELD_INFO triggers_fields_info[]= {"ACTION_REFERENCE_NEW_TABLE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"ACTION_REFERENCE_OLD_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0}, {"ACTION_REFERENCE_NEW_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0}, - {"CREATED", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Created"}, + {"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 1, "Created"}, {"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, "sql_mode"}, {"DEFINER", 65535, MYSQL_TYPE_STRING, 0, 0, "Definer"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} @@ -5684,23 +5714,27 @@ ST_FIELD_INFO partitions_fields_info[]= {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"PARTITION_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"SUBPARTITION_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, - {"PARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, - {"SUBPARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, + {"PARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"SUBPARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, {"PARTITION_METHOD", 12, MYSQL_TYPE_STRING, 0, 1, 0}, {"SUBPARTITION_METHOD", 12, MYSQL_TYPE_STRING, 0, 1, 0}, {"PARTITION_EXPRESSION", 65535, MYSQL_TYPE_STRING, 0, 1, 0}, {"SUBPARTITION_EXPRESSION", 65535, MYSQL_TYPE_STRING, 0, 1, 0}, {"PARTITION_DESCRIPTION", 65535, MYSQL_TYPE_STRING, 0, 1, 0}, - {"TABLE_ROWS", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, - {"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, - {"DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, - {"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, - {"INDEX_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, - {"DATA_FREE", 21 , MYSQL_TYPE_LONG, 0, 0, 0}, - {"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, - {"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, - {"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, - {"CHECKSUM", 21 , MYSQL_TYPE_LONG, 0, 1, 0}, + {"TABLE_ROWS", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0}, + {"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0}, + {"DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0}, + {"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"INDEX_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0}, + {"DATA_FREE", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0}, + {"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, + {"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, + {"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, + {"CHECKSUM", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, {"PARTITION_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, 0}, {"NODEGROUP", 12 , MYSQL_TYPE_STRING, 0, 0, 0}, {"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, @@ -5734,12 +5768,12 @@ ST_FIELD_INFO system_variables_fields_info[]= ST_FIELD_INFO processlist_fields_info[]= { - {"ID", 4, MYSQL_TYPE_LONG, 0, 0, "Id"}, + {"ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Id"}, {"USER", 16, MYSQL_TYPE_STRING, 0, 0, "User"}, {"HOST", LIST_PROCESS_HOST_LEN, MYSQL_TYPE_STRING, 0, 0, "Host"}, {"DB", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, "Db"}, {"COMMAND", 16, MYSQL_TYPE_STRING, 0, 0, "Command"}, - {"TIME", 7, MYSQL_TYPE_LONG, 0, 0, "Time"}, + {"TIME", 7, MYSQL_TYPE_LONGLONG, 0, 0, "Time"}, {"STATE", 64, MYSQL_TYPE_STRING, 0, 1, "State"}, {"INFO", PROCESS_LIST_INFO_WIDTH, MYSQL_TYPE_STRING, 0, 1, "Info"}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} @@ -5763,7 +5797,7 @@ ST_FIELD_INFO plugin_fields_info[]= ST_FIELD_INFO files_fields_info[]= { - {"FILE_ID", 4, MYSQL_TYPE_LONG, 0, 0, 0}, + {"FILE_ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, 0}, {"FILE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"FILE_TYPE", 20, MYSQL_TYPE_STRING, 0, 0, 0}, {"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, @@ -5771,34 +5805,45 @@ ST_FIELD_INFO files_fields_info[]= {"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, {"LOGFILE_GROUP_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, - {"LOGFILE_GROUP_NUMBER", 4, MYSQL_TYPE_LONG, 0, 1, 0}, + {"LOGFILE_GROUP_NUMBER", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, {"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0}, {"FULLTEXT_KEYS", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0}, - {"DELETED_ROWS", 4, MYSQL_TYPE_LONG, 0, 1, 0}, - {"UPDATE_COUNT", 4, MYSQL_TYPE_LONG, 0, 1, 0}, - {"FREE_EXTENTS", 4, MYSQL_TYPE_LONG, 0, 1, 0}, - {"TOTAL_EXTENTS", 4, MYSQL_TYPE_LONG, 0, 1, 0}, - {"EXTENT_SIZE", 4, MYSQL_TYPE_LONG, 0, 0, 0}, - {"INITIAL_SIZE", 21, MYSQL_TYPE_LONG, 0, 1, 0}, - {"MAXIMUM_SIZE", 21, MYSQL_TYPE_LONG, 0, 1, 0}, - {"AUTOEXTEND_SIZE", 21, MYSQL_TYPE_LONG, 0, 1, 0}, - {"CREATION_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, - {"LAST_UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, - {"LAST_ACCESS_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0}, - {"RECOVER_TIME", 4, MYSQL_TYPE_LONG, 0, 1, 0}, - {"TRANSACTION_COUNTER", 4, MYSQL_TYPE_LONG, 0, 1, 0}, - {"VERSION", 21 , MYSQL_TYPE_LONG, 0, 1, "Version"}, + {"DELETED_ROWS", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, + {"UPDATE_COUNT", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, + {"FREE_EXTENTS", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, + {"TOTAL_EXTENTS", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, + {"EXTENT_SIZE", 4, MYSQL_TYPE_LONGLONG, 0, 0, 0}, + {"INITIAL_SIZE", 21, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"MAXIMUM_SIZE", 21, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"AUTOEXTEND_SIZE", 21, MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0}, + {"CREATION_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, + {"LAST_UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, + {"LAST_ACCESS_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0}, + {"RECOVER_TIME", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, + {"TRANSACTION_COUNTER", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0}, + {"VERSION", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Version"}, {"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"}, - {"TABLE_ROWS", 21 , MYSQL_TYPE_LONG, 0, 1, "Rows"}, - {"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Avg_row_length"}, - {"DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Data_length"}, - {"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Max_data_length"}, - {"INDEX_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Index_length"}, - {"DATA_FREE", 21 , MYSQL_TYPE_LONG, 0, 1, "Data_free"}, - {"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Create_time"}, - {"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Update_time"}, - {"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Check_time"}, - {"CHECKSUM", 21 , MYSQL_TYPE_LONG, 0, 1, "Checksum"}, + {"TABLE_ROWS", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Rows"}, + {"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Avg_row_length"}, + {"DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_length"}, + {"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Max_data_length"}, + {"INDEX_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Index_length"}, + {"DATA_FREE", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_free"}, + {"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Create_time"}, + {"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Update_time"}, + {"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Check_time"}, + {"CHECKSUM", 21 , MYSQL_TYPE_LONGLONG, 0, + (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Checksum"}, {"STATUS", 20, MYSQL_TYPE_STRING, 0, 0, 0}, {"EXTRA", 255, MYSQL_TYPE_STRING, 0, 1, 0}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0} diff --git a/sql/table.h b/sql/table.h index bb9ced2e450..5b6aa2a8a7c 100644 --- a/sql/table.h +++ b/sql/table.h @@ -554,13 +554,17 @@ enum enum_schema_tables }; +#define MY_I_S_MAYBE_NULL 1 +#define MY_I_S_UNSIGNED 2 + + typedef struct st_field_info { const char* field_name; uint field_length; enum enum_field_types field_type; int value; - bool maybe_null; + uint field_flags; // Field atributes(maybe_null, signed, unsigned etc.) const char* old_name; } ST_FIELD_INFO; From e8c6b7661522bf539d2968afebaf5d1996c8cec1 Mon Sep 17 00:00:00 2001 From: "knielsen@ymer.(none)" <> Date: Wed, 25 Apr 2007 14:38:05 +0200 Subject: [PATCH 061/144] BUG#28073: Infinite loop in lock queue. In a certain code path the NDBD could loop infinitely in the lock queue. --- .../ndb/src/kernel/blocks/dbacc/DbaccMain.cpp | 3 +- storage/ndb/test/include/HugoOperations.hpp | 3 +- storage/ndb/test/ndbapi/testBasic.cpp | 72 +++++++++++++++++++ .../ndb/test/run-test/daily-basic-tests.txt | 4 ++ storage/ndb/test/src/HugoOperations.cpp | 6 +- 5 files changed, 84 insertions(+), 4 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp b/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp index 58032c92d5f..3b27446d3a9 100644 --- a/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +++ b/storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp @@ -1321,7 +1321,7 @@ Dbacc::startNext(Signal* signal, OperationrecPtr lastOp) * We must check if there are many transactions in parallel queue... */ OperationrecPtr tmp; - tmp.i = loPtr.p->nextParallelQue; + tmp= loPtr; while (tmp.i != RNIL) { ptrCheckGuard(tmp, coprecsize, operationrec); @@ -1333,6 +1333,7 @@ Dbacc::startNext(Signal* signal, OperationrecPtr lastOp) */ return; } + tmp.i = tmp.p->nextParallelQue; } upgrade: diff --git a/storage/ndb/test/include/HugoOperations.hpp b/storage/ndb/test/include/HugoOperations.hpp index b5014380eec..6126c705471 100644 --- a/storage/ndb/test/include/HugoOperations.hpp +++ b/storage/ndb/test/include/HugoOperations.hpp @@ -27,7 +27,8 @@ public: const NdbDictionary::Index* idx = 0); ~HugoOperations(); - int startTransaction(Ndb*); + int startTransaction(Ndb*, const NdbDictionary::Table *table= 0, + const char *keyData= 0, Uint32 keyLen= 0); int setTransaction(NdbTransaction*,bool not_null_ok= false); int closeTransaction(Ndb*); NdbTransaction* getTransaction(); diff --git a/storage/ndb/test/ndbapi/testBasic.cpp b/storage/ndb/test/ndbapi/testBasic.cpp index e8e4548a91c..78cf28f5f76 100644 --- a/storage/ndb/test/ndbapi/testBasic.cpp +++ b/storage/ndb/test/ndbapi/testBasic.cpp @@ -1272,6 +1272,74 @@ runBug25090(NDBT_Context* ctx, NDBT_Step* step){ return NDBT_OK; } +int +runBug28073(NDBT_Context *ctx, NDBT_Step* step) +{ + int result = NDBT_OK; + const NdbDictionary::Table *table= ctx->getTab(); + HugoOperations hugoOp1(*table); + HugoOperations hugoOp2(*table); + Ndb* pNdb = GETNDB(step); + int loops = ctx->getNumLoops(); + bool inserted= false; + + while (loops--) + { + if (!inserted) + { + CHECK(hugoOp1.startTransaction(pNdb) == 0); + CHECK(hugoOp1.pkInsertRecord(pNdb, 1, 1) == 0); + CHECK(hugoOp1.execute_Commit(pNdb) == 0); + CHECK(hugoOp1.closeTransaction(pNdb) == 0); + inserted= 1; + } + + // Use TC hint to hit the same node in both transactions. + Uint32 key_val= 0; + const char *key= (const char *)(&key_val); + CHECK(hugoOp1.startTransaction(pNdb, table, key, 4) == 0); + CHECK(hugoOp2.startTransaction(pNdb, table, key, 4) == 0); + + // First take 2*read lock on the tuple in transaction 1. + for (Uint32 i= 0; i < 2; i++) + { + CHECK(hugoOp1.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Read) == 0); + CHECK(hugoOp1.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Read) == 0); + } + CHECK(hugoOp1.execute_NoCommit(pNdb) == 0); + + // Now send ops in two transactions, one batch. + // First 2*read in transaction 2. + for (Uint32 i= 0; i < 2; i++) + { + CHECK(hugoOp2.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Read) == 0); + CHECK(hugoOp2.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Read) == 0); + } + CHECK(hugoOp2.execute_async_prepare(pNdb, NdbTransaction::NoCommit) == 0); + + // Second op an update in transaction 1. + CHECK(hugoOp1.pkUpdateRecord(pNdb, 1, 1) == 0); + CHECK(hugoOp1.execute_async_prepare(pNdb, NdbTransaction::Commit) == 0); + + // Transaction 1 will now hang waiting on transaction 2 to commit before it + // can upgrade its read lock to a write lock. + // With the bug, we get a node failure due to watchdog timeout here. + CHECK(hugoOp2.wait_async(pNdb) == 0); + + // Now commit transaction 2, we should see transaction 1 finish with the + // update. + CHECK(hugoOp2.execute_async_prepare(pNdb, NdbTransaction::Commit) == 0); + CHECK(hugoOp2.wait_async(pNdb) == 0); + // No error check, as transaction 1 may have terminated already. + hugoOp1.wait_async(pNdb); + + CHECK(hugoOp1.closeTransaction(pNdb) == 0); + CHECK(hugoOp2.closeTransaction(pNdb) == 0); + } + + return result; +} + NDBT_TESTSUITE(testBasic); TESTCASE("PkInsert", "Verify that we can insert and delete from this table using PK" @@ -1542,6 +1610,10 @@ TESTCASE("Bug25090", "Verify what happens when we fill the db" ){ STEP(runBug25090); } +TESTCASE("Bug28073", + "Infinite loop in lock queue" ){ + STEP(runBug28073); +} NDBT_TESTSUITE_END(testBasic); #if 0 diff --git a/storage/ndb/test/run-test/daily-basic-tests.txt b/storage/ndb/test/run-test/daily-basic-tests.txt index 88b5a0a8701..b1a19ae8b4c 100644 --- a/storage/ndb/test/run-test/daily-basic-tests.txt +++ b/storage/ndb/test/run-test/daily-basic-tests.txt @@ -235,6 +235,10 @@ max-time: 500 cmd: testBasic args: -n Bug25090 T1 +max-time: 500 +cmd: testBasic +args: -n Bug28073 + max-time: 500 cmd: testIndex args: -n Bug25059 -r 3000 T1 diff --git a/storage/ndb/test/src/HugoOperations.cpp b/storage/ndb/test/src/HugoOperations.cpp index 50234cea351..be79a9f5701 100644 --- a/storage/ndb/test/src/HugoOperations.cpp +++ b/storage/ndb/test/src/HugoOperations.cpp @@ -15,13 +15,15 @@ #include -int HugoOperations::startTransaction(Ndb* pNdb){ +int HugoOperations::startTransaction(Ndb* pNdb, + const NdbDictionary::Table *table, + const char *keyData, Uint32 keyLen){ if (pTrans != NULL){ ndbout << "HugoOperations::startTransaction, pTrans != NULL" << endl; return NDBT_FAILED; } - pTrans = pNdb->startTransaction(); + pTrans = pNdb->startTransaction(table, keyData, keyLen); if (pTrans == NULL) { const NdbError err = pNdb->getNdbError(); ERR(err); From 45e18df811f21be40b9e522eebca1015c90578e6 Mon Sep 17 00:00:00 2001 From: "knielsen@ymer.(none)" <> Date: Wed, 25 Apr 2007 15:02:23 +0200 Subject: [PATCH 062/144] After-merge fixes. --- storage/ndb/include/kernel/signaldata/ScanTab.hpp | 2 +- storage/ndb/src/ndbapi/NdbScanOperation.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/storage/ndb/include/kernel/signaldata/ScanTab.hpp b/storage/ndb/include/kernel/signaldata/ScanTab.hpp index a9d41b5a975..0074078533f 100644 --- a/storage/ndb/include/kernel/signaldata/ScanTab.hpp +++ b/storage/ndb/include/kernel/signaldata/ScanTab.hpp @@ -116,7 +116,7 @@ private: x = Range Scan (TUX) - 1 Bit 15 b = Scan batch - 10 Bit 16-25 (max 1023) d = Distribution key flag - 1 Bit 26 - n = No disk flag + n = No disk flag - 1 Bit 9 1111111111222222222233 01234567890123456789012345678901 diff --git a/storage/ndb/src/ndbapi/NdbScanOperation.cpp b/storage/ndb/src/ndbapi/NdbScanOperation.cpp index 73d28acf6c3..30264dd6ccb 100644 --- a/storage/ndb/src/ndbapi/NdbScanOperation.cpp +++ b/storage/ndb/src/ndbapi/NdbScanOperation.cpp @@ -140,7 +140,7 @@ NdbScanOperation::readTuples(NdbScanOperation::LockMode lm, theNdbCon->theScanningOp = this; bool tupScan = (scan_flags & SF_TupScan); -#if 1 // XXX temp for testing +#if 0 // XXX temp for testing { char* p = getenv("NDB_USE_TUPSCAN"); if (p != 0) { unsigned n = atoi(p); // 0-10 From 0ac443eff53bfe17fda4cf8e27c1fbd53db6cbbc Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Wed, 25 Apr 2007 15:21:38 +0200 Subject: [PATCH 063/144] Bug #28093 ndb: retry sleep in get table stats 30s instead of 30ms --- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++++++++++++++++ sql/ha_ndbcluster.cc | 2 +- 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 927dc3a75b2..a02cb9a4461 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -6059,7 +6059,7 @@ ndb_get_table_statistics(ha_ndbcluster* file, bool report_error, Ndb* ndb, NdbError error; int retries= 10; int reterr= 0; - int retry_sleep= 30 * 1000; /* 30 milliseconds */ + int retry_sleep= 30; /* 30 milliseconds, transaction */ char buff[22], buff2[22], buff3[22], buff4[22]; DBUG_ENTER("ndb_get_table_statistics"); DBUG_PRINT("enter", ("table: %s", table)); From 0183b3d3991090dad7280e0ad09c5a2b5113be5e Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Wed, 25 Apr 2007 15:25:23 +0200 Subject: [PATCH 064/144] ndb: added some retry sleep to not get busy loops --- sql/ha_ndbcluster_binlog.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc index 3a5dd21df2c..6b21d492f89 100644 --- a/sql/ha_ndbcluster_binlog.cc +++ b/sql/ha_ndbcluster_binlog.cc @@ -1024,6 +1024,7 @@ ndbcluster_update_slock(THD *thd, const NDBTAB *ndbtab= ndbtab_g.get_table(); NdbTransaction *trans= 0; int retries= 100; + int retry_sleep= 10; /* 10 milliseconds, transaction */ const NDBCOL *col[SCHEMA_SIZE]; unsigned sz[SCHEMA_SIZE]; @@ -1125,6 +1126,7 @@ ndbcluster_update_slock(THD *thd, { if (trans) ndb->closeTransaction(trans); + my_sleep(retry_sleep); continue; // retry } } @@ -1323,6 +1325,7 @@ int ndbcluster_log_schema_op(THD *thd, NDB_SHARE *share, const NDBTAB *ndbtab= ndbtab_g.get_table(); NdbTransaction *trans= 0; int retries= 100; + int retry_sleep= 10; /* 10 milliseconds, transaction */ const NDBCOL *col[SCHEMA_SIZE]; unsigned sz[SCHEMA_SIZE]; @@ -1427,6 +1430,7 @@ err: { if (trans) ndb->closeTransaction(trans); + my_sleep(retry_sleep); continue; // retry } } @@ -2715,6 +2719,11 @@ ndbcluster_create_event_ops(NDB_SHARE *share, const NDBTAB *ndbtab, TABLE *table= share->table; int retries= 100; + /* + 100 milliseconds, temporary error on schema operation can + take some time to be resolved + */ + int retry_sleep= 100; while (1) { pthread_mutex_lock(&injector_mutex); @@ -2843,7 +2852,10 @@ ndbcluster_create_event_ops(NDB_SHARE *share, const NDBTAB *ndbtab, ndb->dropEventOperation(op); pthread_mutex_unlock(&injector_mutex); if (retries) + { + my_sleep(retry_sleep); continue; + } DBUG_RETURN(-1); } pthread_mutex_unlock(&injector_mutex); From 0faa86bb8653776d1bfe2c2d086c4b589948a3e4 Mon Sep 17 00:00:00 2001 From: "knielsen@ymer.(none)" <> Date: Wed, 25 Apr 2007 15:48:12 +0200 Subject: [PATCH 065/144] After-merge fixes. --- storage/ndb/src/ndbapi/NdbTransaction.cpp | 2 +- storage/ndb/test/ndbapi/testBasic.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/storage/ndb/src/ndbapi/NdbTransaction.cpp b/storage/ndb/src/ndbapi/NdbTransaction.cpp index 66677070e79..ada0372a184 100644 --- a/storage/ndb/src/ndbapi/NdbTransaction.cpp +++ b/storage/ndb/src/ndbapi/NdbTransaction.cpp @@ -680,7 +680,7 @@ void NdbTransaction::executeAsynch(ExecType aTypeOfExec, NdbAsynchCallback aCallback, void* anyObject, - AbortOption abortOption, + NdbOperation::AbortOption abortOption, int forceSend) { executeAsynchPrepare(aTypeOfExec, aCallback, anyObject, abortOption); diff --git a/storage/ndb/test/ndbapi/testBasic.cpp b/storage/ndb/test/ndbapi/testBasic.cpp index 75421f53d59..44c3d023169 100644 --- a/storage/ndb/test/ndbapi/testBasic.cpp +++ b/storage/ndb/test/ndbapi/testBasic.cpp @@ -1374,6 +1374,7 @@ runBug27756(NDBT_Context* ctx, NDBT_Step* step) return NDBT_OK; } +int runBug28073(NDBT_Context *ctx, NDBT_Step* step) { int result = NDBT_OK; From 43b4b044f7a8a47fabc142be280c0a5883826180 Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Wed, 25 Apr 2007 20:21:55 +0200 Subject: [PATCH 066/144] Fix for valgrind errors in test: require symlink support for partition_not_windows.test --- mysql-test/include/have_symlink.inc | 10 ++++++++++ mysql-test/t/partition_mgm_err2.test | 11 +++-------- mysql-test/t/partition_not_windows.test | 2 ++ mysql-test/t/symlink.test | 6 +----- sql/mysqld.cc | 10 +++++----- 5 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 mysql-test/include/have_symlink.inc diff --git a/mysql-test/include/have_symlink.inc b/mysql-test/include/have_symlink.inc new file mode 100644 index 00000000000..11060536b0d --- /dev/null +++ b/mysql-test/include/have_symlink.inc @@ -0,0 +1,10 @@ +# Several partition-related tests include this file, because Valgrind/Purify +# builds disable symlink support; some partition functionality depends on +# symlink support, and so does not test correctly under valgrind. See the +# comment in mysqld.cc for the --symbolic-links option. + +-- require r/have_symlink.require + +disable_query_log; +show variables like "have_symlink"; +enable_query_log; diff --git a/mysql-test/t/partition_mgm_err2.test b/mysql-test/t/partition_mgm_err2.test index 925178a720d..f683ec6277e 100644 --- a/mysql-test/t/partition_mgm_err2.test +++ b/mysql-test/t/partition_mgm_err2.test @@ -1,18 +1,13 @@ # # Test of partitions that require symlinks # --- source include/have_partition.inc +--source include/have_partition.inc +--source include/have_symlink.inc # # This test is disabled on windows due to BUG#19107 # --- source include/not_windows.inc --- require r/have_symlink.require - -disable_query_log; -show variables like "have_symlink"; -enable_query_log; - +--source include/not_windows.inc # # BUG: 14354 Partitions: data directory clause fails # diff --git a/mysql-test/t/partition_not_windows.test b/mysql-test/t/partition_not_windows.test index 27f76eb4279..22bede08d54 100644 --- a/mysql-test/t/partition_not_windows.test +++ b/mysql-test/t/partition_not_windows.test @@ -1,6 +1,8 @@ # Non-windows specific partition tests. --source include/not_windows.inc --source include/have_partition.inc +# SUBPARTITION depends on symlink support +--source include/have_symlink.inc # partition.test used to contained the following note: # This test is disabled on Windows due to BUG#19107 diff --git a/mysql-test/t/symlink.test b/mysql-test/t/symlink.test index d79b6905224..981206ca54c 100644 --- a/mysql-test/t/symlink.test +++ b/mysql-test/t/symlink.test @@ -1,8 +1,4 @@ --- require r/have_symlink.require -disable_query_log; -show variables like "have_symlink"; -enable_query_log; - +--source include/have_symlink.inc --source include/not_windows.inc --disable_warnings diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b6b46524d3e..d6efebd32c4 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5872,6 +5872,11 @@ log and this option does nothing anymore.", #endif {"symbolic-links", 's', "Enable symbolic link support.", (gptr*) &my_use_symdir, (gptr*) &my_use_symdir, 0, GET_BOOL, NO_ARG, + /* + The system call realpath() produces warnings under valgrind and + purify. These are not suppressed: instead we disable symlinks + option if compiled with valgrind support. + */ IF_PURIFY(0,1), 0, 0, 0, 0, 0}, {"sysdate-is-now", OPT_SYSDATE_IS_NOW, "Non-default option to alias SYSDATE() to NOW() to make it safe-replicable. Since 5.0, SYSDATE() returns a `dynamic' value different for different invocations, even within the same statement.", @@ -5904,11 +5909,6 @@ log and this option does nothing anymore.", 0, 0, 0, 0, 0}, {"use-symbolic-links", 's', "Enable symbolic link support. Deprecated option; use --symbolic-links instead.", (gptr*) &my_use_symdir, (gptr*) &my_use_symdir, 0, GET_BOOL, NO_ARG, - /* - The system call realpath() produces warnings under valgrind and - purify. These are not suppressed: instead we disable symlinks - option if compiled with valgrind support. - */ IF_PURIFY(0,1), 0, 0, 0, 0, 0}, {"user", 'u', "Run mysqld daemon as user.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, From e0f148d5f076a974c4b98f1fdca4d072d2ee4c66 Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Wed, 25 Apr 2007 20:23:19 +0200 Subject: [PATCH 067/144] Fix test case that was broken for builds without InnoDB. --- mysql-test/t/sp.test | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 64876ae0584..c94a526e10c 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -7075,8 +7075,11 @@ DROP FUNCTION bug5274_f2| delimiter ;| drop table t1,t2; +# Disable warnings to allow test run without InnoDB +--disable_warnings CREATE TABLE t1 (a int auto_increment primary key) engine=MyISAM; CREATE TABLE t2 (a int auto_increment primary key, b int) engine=innodb; +--enable_warnings set @a=0; delimiter |; From b353df747403d1d18142ebcb9ea582760d86baff Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Wed, 25 Apr 2007 21:33:18 +0200 Subject: [PATCH 068/144] Fix test case that was broken for builds without InnoDB. --- Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-vanilla-building into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work-vanilla-building --- Fix test cases to pass for a plain ./configure && make build. This includes disabling two test cases when certain features are not present in the server. We're not losing coverage from this because these features are usually present, and disabling them here only serves the purpose to make the test cases work in the unlikely case that they aren't. --- fixes --- mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test | 3 +++ mysql-test/t/rpl_row_basic_11bugs.test | 4 +++- mysql-test/t/rpl_row_mysqlbinlog.test | 2 ++ mysql-test/t/sp.test | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test b/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test index 34e01b7a675..a8a3e33b8cd 100644 --- a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test +++ b/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test @@ -4,6 +4,9 @@ # Purpose: To test having extra columns on the slave. ################################################## +# Some tests in here requre partitioning +-- source include/have_partition.inc + ########### Clean up ################ --disable_warnings --disable_query_log diff --git a/mysql-test/t/rpl_row_basic_11bugs.test b/mysql-test/t/rpl_row_basic_11bugs.test index 17f5848ceef..0109edf4264 100644 --- a/mysql-test/t/rpl_row_basic_11bugs.test +++ b/mysql-test/t/rpl_row_basic_11bugs.test @@ -1,6 +1,5 @@ --source include/have_binlog_format_row.inc - let $SERVER_VERSION=`select version()`; #This test case is not written for NDB, the result files @@ -127,6 +126,8 @@ sync_slave_with_master; --source include/master-slave-reset.inc --enable_query_log +# disabling warnings temporarily for ENGINE=INNODB to work without InnoDB +--disable_warnings --echo **** On Master **** connection master; CREATE TABLE t1_myisam (k INT, a BIT(1), b BIT(9)) ENGINE=MYISAM; @@ -139,6 +140,7 @@ ALTER TABLE t1_myisam ENGINE=INNODB; ALTER TABLE t1_innodb ENGINE=MYISAM; ALTER TABLE t2_myisam ENGINE=INNODB; ALTER TABLE t2_innodb ENGINE=MYISAM; +--enable_warnings --echo **** On Master **** connection master; diff --git a/mysql-test/t/rpl_row_mysqlbinlog.test b/mysql-test/t/rpl_row_mysqlbinlog.test index f7158107e4c..1a5dd281ae1 100644 --- a/mysql-test/t/rpl_row_mysqlbinlog.test +++ b/mysql-test/t/rpl_row_mysqlbinlog.test @@ -10,6 +10,8 @@ # Embedded server doesn't support binlogging -- source include/not_embedded.inc -- source include/master-slave.inc +# This test requires the cp932 charset compiled in +-- source include/have_cp932.inc # Setup Section # we need this for getting fixed timestamps inside of this test diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 626a963e340..a9ef5ba8ea7 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -7167,8 +7167,11 @@ DROP FUNCTION bug5274_f2| delimiter ;| drop table t1,t2; +# Disable warnings to allow test run without InnoDB +--disable_warnings CREATE TABLE t1 (a int auto_increment primary key) engine=MyISAM; CREATE TABLE t2 (a int auto_increment primary key, b int) engine=innodb; +--enable_warnings set @a=0; delimiter |; From 7c7f5104ebac31aea3cc55f4178a3a29b7b51f5f Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Wed, 25 Apr 2007 22:50:35 +0200 Subject: [PATCH 069/144] ndb - clean up varsize by putting varpart ref "inside" fixpart instead of "optionally" at the end --- storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp | 35 +++-- .../src/kernel/blocks/dbtup/DbtupAbort.cpp | 3 +- .../src/kernel/blocks/dbtup/DbtupCommit.cpp | 19 ++- .../src/kernel/blocks/dbtup/DbtupDebug.cpp | 2 +- .../kernel/blocks/dbtup/DbtupExecQuery.cpp | 130 ++++-------------- .../src/kernel/blocks/dbtup/DbtupIndex.cpp | 3 +- .../ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp | 26 ++-- .../ndb/src/kernel/blocks/dbtup/DbtupScan.cpp | 3 +- .../src/kernel/blocks/dbtup/DbtupVarAlloc.cpp | 24 +--- 9 files changed, 89 insertions(+), 156 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp index 2b723d745b2..a31c2cf5702 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +++ b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp @@ -940,18 +940,12 @@ ArrayPool c_triggerPool; Uint8 m_null_words; Uint8 m_null_offset; Uint16 m_disk_ref_offset; // In words relative m_data - union { - Uint16 m_varpart_offset; // In words relative m_data - Uint16 m_fix_header_size; // For fix size tuples= total rec size(part) - }; + Uint16 m_fix_header_size; // For fix size tuples= total rec size(part) Uint16 m_max_var_offset; // In bytes relative m_var_data.m_data_ptr } m_offsets[2]; - Uint32 get_check_offset(Uint32 mm) const { - Uint32 cnt= m_attributes[mm].m_no_of_varsize; - Uint32 off= m_offsets[mm].m_varpart_offset; - return off - (cnt ? 0 : Tuple_header::HeaderSize); + return m_offsets[mm].m_fix_header_size; } struct { @@ -1240,6 +1234,11 @@ typedef Ptr HostBufferPtr; #endif }; + struct Disk_part_ref + { + STATIC_CONST( SZ32 = 2 ); + }; + struct Tuple_header { union { @@ -1288,14 +1287,24 @@ typedef Ptr HostBufferPtr; return m_null_bits+tabPtrP->m_offsets[mm].m_null_offset; } - Uint32* get_var_part_ptr(const Tablerec* tabPtrP) { - return m_data + tabPtrP->m_offsets[MM].m_varpart_offset; + Var_part_ref* get_var_part_ref_ptr(const Tablerec* tabPtrP) { + return (Var_part_ref*)(get_disk_ref_ptr(tabPtrP) + Disk_part_ref::SZ32); } - const Uint32* get_var_part_ptr(const Tablerec* tabPtrP) const { - return m_data + tabPtrP->m_offsets[MM].m_varpart_offset; + const Var_part_ref* get_var_part_ref_ptr(const Tablerec* tabPtrP) const { + return (Var_part_ref*)(get_disk_ref_ptr(tabPtrP) + Disk_part_ref::SZ32); } - + + Uint32* get_end_of_fix_part_ptr(const Tablerec* tabPtrP) { + return m_data + tabPtrP->m_offsets[MM].m_fix_header_size - + Tuple_header::HeaderSize; + } + + const Uint32* get_end_of_fix_part_ptr(const Tablerec* tabPtrP) const { + return m_data + tabPtrP->m_offsets[MM].m_fix_header_size - + Tuple_header::HeaderSize; + } + Uint32* get_disk_ref_ptr(const Tablerec* tabPtrP) { return m_data + tabPtrP->m_offsets[MM].m_disk_ref_offset; } diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp index 4eb8f4d845d..b03a07cd6e9 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp @@ -153,8 +153,7 @@ void Dbtup::do_tup_abortreq(Signal* signal, Uint32 flags) ndbassert(tuple_ptr->m_header_bits & Tuple_header::CHAINED_ROW); - Var_part_ref *ref = - (Var_part_ref*)tuple_ptr->get_var_part_ptr(regTabPtr.p); + Var_part_ref *ref = tuple_ptr->get_var_part_ref_ptr(regTabPtr.p); Local_key tmp; ref->copyout(&tmp); diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp index 61a88f1f501..5780c8395bd 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp @@ -235,16 +235,22 @@ Dbtup::commit_operation(Signal* signal, } else { - Var_part_ref *ref= (Var_part_ref*)tuple_ptr->get_var_part_ptr(regTabPtr); - memcpy(tuple_ptr, copy, 4*(Tuple_header::HeaderSize+fixsize)); - + /** + * Var_part_ref is only stored in *allocated* tuple + * so memcpy from copy, will over write it... + * hence subtle copyout/assign... + */ Local_key tmp; + Var_part_ref *ref= tuple_ptr->get_var_part_ref_ptr(regTabPtr); ref->copyout(&tmp); + memcpy(tuple_ptr, copy, 4*fixsize); + ref->assign(&tmp); + PagePtr vpagePtr; Uint32 *dst= get_ptr(&vpagePtr, *ref); Var_page* vpagePtrP = (Var_page*)vpagePtr.p; - Uint32 *src= copy->get_var_part_ptr(regTabPtr); + Uint32 *src= copy->get_end_of_fix_part_ptr(regTabPtr); Uint32 sz= ((mm_vars + 1) << 1) + (((Uint16*)src)[mm_vars]); ndbassert(4*vpagePtrP->get_entry_len(tmp.m_page_idx) >= sz); memcpy(dst, src, sz); @@ -257,9 +263,8 @@ Dbtup::commit_operation(Signal* signal, update_free_page_list(regFragPtr, vpagePtr); } - disk_ptr = (Tuple_header*) - (((Uint32*)copy)+Tuple_header::HeaderSize+fixsize+((sz + 3) >> 2)); - } + disk_ptr = (Tuple_header*)(((Uint32*)copy)+fixsize+((sz + 3) >> 2)); + } if (regTabPtr->m_no_of_disk_attributes && (copy_bits & Tuple_header::DISK_INLINE)) diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp index ccb0bdcb537..ecee7e867f8 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp @@ -368,7 +368,7 @@ operator<<(NdbOut& out, const Dbtup::Tablerec::Tuple_offsets& off) out << "[ null_words: " << (Uint32)off.m_null_words << " null off: " << (Uint32)off.m_null_offset << " disk_off: " << off.m_disk_ref_offset - << " var_off: " << off.m_varpart_offset + << " fixheadsz: " << off.m_fix_header_size << " max_var_off: " << off.m_max_var_offset << " ]"; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp index 03a18a20d96..f4cbe5d3398 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp @@ -221,9 +221,6 @@ Dbtup::calculateChecksum(Tuple_header* tuple_ptr, // includes tupVersion //printf("%p - ", tuple_ptr); - if (regTabPtr->m_attributes[MM].m_no_of_varsize) - rec_size += Tuple_header::HeaderSize; - for (i= 0; i < rec_size-2; i++) { checksum ^= tuple_header[i]; //printf("%.8x ", tuple_header[i]); @@ -1104,7 +1101,7 @@ Dbtup::prepare_initial_insert(KeyReqStruct *req_struct, const Uint32 cnt1= regTabPtr->m_attributes[MM].m_no_of_varsize; const Uint32 cnt2= regTabPtr->m_attributes[DD].m_no_of_varsize; - Uint32 *ptr= req_struct->m_tuple_ptr->get_var_part_ptr(regTabPtr); + Uint32 *ptr= req_struct->m_tuple_ptr->get_end_of_fix_part_ptr(regTabPtr); if(cnt1) { @@ -1126,22 +1123,10 @@ Dbtup::prepare_initial_insert(KeyReqStruct *req_struct, pos += AttributeDescriptor::getSizeInBytes(tab_descr[*order++].tabDescr); } } - else - { - ptr -= Tuple_header::HeaderSize; - } req_struct->m_disk_ptr= (Tuple_header*)ptr; - if(cnt2) - { - KeyReqStruct::Var_data *dst= &req_struct->m_var_data[DD]; - ptr=((Tuple_header*)ptr)->m_data+regTabPtr->m_offsets[DD].m_varpart_offset; - dst->m_data_ptr= (char*)(((Uint16*)ptr)+cnt2+1); - dst->m_offset_array_ptr= req_struct->var_pos_array + (cnt1 << 1); - dst->m_var_len_offset= cnt2; - dst->m_max_var_offset= regTabPtr->m_offsets[DD].m_max_var_offset; - } + ndbrequire(cnt2 == 0); // Set all null bits memset(req_struct->m_tuple_ptr->m_null_bits+ @@ -2510,13 +2495,14 @@ Dbtup::expand_tuple(KeyReqStruct* req_struct, Uint16 dd_tot= tabPtrP->m_no_of_disk_attributes; Uint16 mm_vars= tabPtrP->m_attributes[MM].m_no_of_varsize; - Uint32 fix_size= tabPtrP->m_offsets[MM].m_varpart_offset; + Uint32 fix_size= tabPtrP->m_offsets[MM].m_fix_header_size; Uint32 order_desc= tabPtrP->m_real_order_descriptor; - Uint32 *dst_ptr= ptr->get_var_part_ptr(tabPtrP); + Uint32 *dst_ptr= ptr->get_end_of_fix_part_ptr(tabPtrP); const Uint32 *disk_ref= src->get_disk_ref_ptr(tabPtrP); - const Uint32 *src_ptr= src->get_var_part_ptr(tabPtrP); - const Uint32 * desc= (Uint32*)req_struct->attr_descr; + const Uint32 *src_ptr= src->get_end_of_fix_part_ptr(tabPtrP); + const Var_part_ref* var_ref = src->get_var_part_ref_ptr(tabPtrP); + const Uint32 *desc= (Uint32*)req_struct->attr_descr; const Uint16 *order = (Uint16*)(&tableDescriptor[order_desc]); order += tabPtrP->m_attributes[MM].m_no_of_fixsize; @@ -2529,7 +2515,7 @@ Dbtup::expand_tuple(KeyReqStruct* req_struct, if(bits & Tuple_header::CHAINED_ROW) { Ptr var_page; - src_data= get_ptr(&var_page, * (Var_part_ref*)src_ptr); + src_data= get_ptr(&var_page, *var_ref); step= 4; sizes[MM]= (2 + (mm_vars << 1) + ((Uint16*)src_data)[mm_vars] + 3) >> 2; req_struct->m_varpart_page_ptr = var_page; @@ -2550,14 +2536,12 @@ Dbtup::expand_tuple(KeyReqStruct* req_struct, ndbassert((UintPtr(src_ptr) & 3) == 0); src_ptr = ALIGN_WORD(((char*)src_ptr)+step); - sizes[MM] += fix_size + Tuple_header::HeaderSize; - memcpy(ptr, src, 4*(fix_size + Tuple_header::HeaderSize)); + sizes[MM] += fix_size; + memcpy(ptr, src, 4*fix_size); } else { sizes[MM]= 1; - dst_ptr -= Tuple_header::HeaderSize; - src_ptr -= Tuple_header::HeaderSize; memcpy(ptr, src, 4*fix_size); } @@ -2591,20 +2575,7 @@ Dbtup::expand_tuple(KeyReqStruct* req_struct, ndbassert(! (req_struct->m_disk_ptr->m_header_bits & Tuple_header::FREE)); - if(dd_vars) - { - KeyReqStruct::Var_data* dst= &req_struct->m_var_data[DD]; - dst_ptr += tabPtrP->m_offsets[DD].m_varpart_offset; - src_ptr += tabPtrP->m_offsets[DD].m_varpart_offset; - order += tabPtrP->m_attributes[DD].m_no_of_fixsize; - - dst->m_data_ptr= (char*)(char*)(((Uint16*)dst_ptr)+dd_vars+1); - dst->m_offset_array_ptr= req_struct->var_pos_array + (mm_vars << 1); - dst->m_var_len_offset= dd_vars; - dst->m_max_var_offset= tabPtrP->m_offsets[DD].m_max_var_offset; - - expand_var_part(dst, src_ptr, desc, order); - } + ndbrequire(dd_vars == 0); } ptr->m_header_bits= (bits & ~(Uint32)(Tuple_header::CHAINED_ROW)); @@ -2620,9 +2591,9 @@ Dbtup::prepare_read(KeyReqStruct* req_struct, Uint16 dd_tot= tabPtrP->m_no_of_disk_attributes; Uint16 mm_vars= tabPtrP->m_attributes[MM].m_no_of_varsize; - const Uint32 *src_ptr= ptr->get_var_part_ptr(tabPtrP); + const Uint32 *src_ptr= ptr->get_end_of_fix_part_ptr(tabPtrP); const Uint32 *disk_ref= ptr->get_disk_ref_ptr(tabPtrP); - + const Var_part_ref* var_ref = ptr->get_var_part_ref_ptr(tabPtrP); if(mm_vars) { const Uint32 *src_data= src_ptr; @@ -2632,7 +2603,7 @@ Dbtup::prepare_read(KeyReqStruct* req_struct, #if VM_TRACE #endif - src_data= get_ptr(* (Var_part_ref*)src_ptr); + src_data= get_ptr(* var_ref); } dst->m_data_ptr= (char*)(((Uint16*)src_data)+mm_vars+1); dst->m_offset_array_ptr= (Uint16*)src_data; @@ -2642,11 +2613,6 @@ Dbtup::prepare_read(KeyReqStruct* req_struct, // disk part start after varsize (aligned) src_ptr = ALIGN_WORD(dst->m_data_ptr + dst->m_max_var_offset); } - else - { - // disk part if after fixsize part... - src_ptr -= Tuple_header::HeaderSize; - } if(disk && dd_tot) { @@ -2668,16 +2634,7 @@ Dbtup::prepare_read(KeyReqStruct* req_struct, // Fix diskpart req_struct->m_disk_ptr= (Tuple_header*)src_ptr; ndbassert(! (req_struct->m_disk_ptr->m_header_bits & Tuple_header::FREE)); - if(dd_vars) - { - KeyReqStruct::Var_data* dst= &req_struct->m_var_data[DD]; - src_ptr += tabPtrP->m_offsets[DD].m_varpart_offset; - - dst->m_data_ptr= (char*)(char*)(((Uint16*)src_ptr)+dd_vars+1); - dst->m_offset_array_ptr= (Uint16*)src_ptr; - dst->m_var_len_offset= 1; - dst->m_max_var_offset= ((Uint16*)src_ptr)[dd_vars]; - } + ndbrequire(dd_vars == 0); } } @@ -2692,10 +2649,11 @@ Dbtup::shrink_tuple(KeyReqStruct* req_struct, Uint32 sizes[2], Uint16 mm_vars= tabPtrP->m_attributes[MM].m_no_of_varsize; Uint16 dd_vars= tabPtrP->m_attributes[DD].m_no_of_varsize; - Uint32 *dst_ptr= ptr->get_var_part_ptr(tabPtrP); + Uint32 *dst_ptr= ptr->get_end_of_fix_part_ptr(tabPtrP); Uint16* src_off_ptr= req_struct->var_pos_array; - sizes[MM]= sizes[DD]= 0; + sizes[MM] = 1; + sizes[DD] = 0; if(mm_vars) { Uint16* dst_off_ptr= (Uint16*)dst_ptr; @@ -2719,25 +2677,14 @@ Dbtup::shrink_tuple(KeyReqStruct* req_struct, Uint32 sizes[2], dst_ptr = ALIGN_WORD(dst_data_ptr); } - else - { - sizes[MM] = 1; - dst_ptr -= Tuple_header::HeaderSize; - } if(disk && dd_tot) { Uint32 * src_ptr = (Uint32*)req_struct->m_disk_ptr; req_struct->m_disk_ptr = (Tuple_header*)dst_ptr; - if (unlikely(dd_vars)) - { - abort(); - } - else - { - sizes[DD] = tabPtrP->m_offsets[DD].m_fix_header_size; - memmove(dst_ptr, src_ptr, 4*tabPtrP->m_offsets[DD].m_fix_header_size); - } + ndbrequire(dd_vars == 0); + sizes[DD] = tabPtrP->m_offsets[DD].m_fix_header_size; + memmove(dst_ptr, src_ptr, 4*tabPtrP->m_offsets[DD].m_fix_header_size); } } @@ -2771,7 +2718,7 @@ Dbtup::validate_page(Tablerec* regTabPtr, Var_page* p) if(!(idx & Var_page::FREE) && !(idx & Var_page::CHAIN)) { Tuple_header *ptr= (Tuple_header*)page->get_ptr(i); - Uint32 *part= ptr->get_var_part_ptr(regTabPtr); + Uint32 *part= ptr->get_end_of_fix_part_ptr(regTabPtr); if(ptr->m_header_bits & Tuple_header::CHAINED_ROW) { ndbassert(len == fix_sz + 1); @@ -2835,8 +2782,7 @@ Dbtup::handle_size_change_after_update(KeyReqStruct* req_struct, Uint32 bits= org->m_header_bits; Uint32 copy_bits= req_struct->m_tuple_ptr->m_header_bits; - Uint32 fix_sz = Tuple_header::HeaderSize + - regTabPtr->m_offsets[MM].m_fix_header_size; + Uint32 fix_sz = regTabPtr->m_offsets[MM].m_fix_header_size; if(sizes[MM] == sizes[2+MM]) ; @@ -2851,7 +2797,7 @@ Dbtup::handle_size_change_after_update(KeyReqStruct* req_struct, Ptr pagePtr = req_struct->m_varpart_page_ptr; Var_page* pageP= (Var_page*)pagePtr.p; Uint32 idx, alloc, needed; - Var_part_ref *refptr = (Var_part_ref*)org->get_var_part_ptr(regTabPtr); + Var_part_ref *refptr = org->get_var_part_ref_ptr(regTabPtr); ndbassert(bits & Tuple_header::CHAINED_ROW); Local_key ref; @@ -2900,19 +2846,7 @@ Dbtup::nr_update_gci(Uint32 fragPtrI, const Local_key* key, Uint32 gci) Local_key tmp = *key; PagePtr page_ptr; - int ret; - if (tablePtr.p->m_attributes[MM].m_no_of_varsize) - { - tablePtr.p->m_offsets[MM].m_fix_header_size += - Tuple_header::HeaderSize+1; - ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); - tablePtr.p->m_offsets[MM].m_fix_header_size -= - Tuple_header::HeaderSize+1; - } - else - { - ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); - } + int ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); if (ret) return -1; @@ -2941,19 +2875,9 @@ Dbtup::nr_read_pk(Uint32 fragPtrI, Local_key tmp = *key; Uint32 pages = fragPtr.p->noOfPages; - int ret; + PagePtr page_ptr; - if (tablePtr.p->m_attributes[MM].m_no_of_varsize) - { - const Uint32 XXX = Tuple_header::HeaderSize+Var_part_ref::SZ32; - tablePtr.p->m_offsets[MM].m_fix_header_size += XXX; - ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); - tablePtr.p->m_offsets[MM].m_fix_header_size -= XXX; - } - else - { - ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); - } + int ret = alloc_page(tablePtr.p, fragPtr.p, &page_ptr, tmp.m_page_no); if (ret) return -1; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp index 4d49d961ac7..8a65e7f7864 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp @@ -478,8 +478,7 @@ Dbtup::buildIndex(Signal* signal, Uint32 buildPtrI) ptrCheckGuard(tablePtr, cnoOfTablerec, tablerec); const Uint32 firstTupleNo = 0; - const Uint32 tupheadsize = tablePtr.p->m_offsets[MM].m_fix_header_size + - (buildPtr.p->m_build_vs? Tuple_header::HeaderSize + Var_part_ref::SZ32: 0); + const Uint32 tupheadsize = tablePtr.p->m_offsets[MM].m_fix_header_size; #ifdef TIME_MEASUREMENT MicroSecondTimer start; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp index 7c200344032..c7ac8e14596 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp @@ -178,12 +178,12 @@ void Dbtup::execTUPFRAGREQ(Signal* signal) regTabPtr.p->m_offsets[MM].m_disk_ref_offset= 0; regTabPtr.p->m_offsets[MM].m_null_words= 0; - regTabPtr.p->m_offsets[MM].m_varpart_offset= 0; + regTabPtr.p->m_offsets[MM].m_fix_header_size= 0; regTabPtr.p->m_offsets[MM].m_max_var_offset= 0; regTabPtr.p->m_offsets[DD].m_disk_ref_offset= 0; regTabPtr.p->m_offsets[DD].m_null_words= 0; - regTabPtr.p->m_offsets[DD].m_varpart_offset= 0; + regTabPtr.p->m_offsets[DD].m_fix_header_size= 0; regTabPtr.p->m_offsets[DD].m_max_var_offset= 0; regTabPtr.p->m_attributes[MM].m_no_of_fixsize= 0; @@ -466,7 +466,19 @@ void Dbtup::execTUP_ADD_ATTRREQ(Signal* signal) if(regTabPtr.p->m_no_of_disk_attributes > 0) { regTabPtr.p->m_offsets[MM].m_disk_ref_offset= pos[MM]; - pos[MM] += 2; // 8 bytes + pos[MM] += Disk_part_ref::SZ32; // 8 bytes + } + else + { + /** + * var part ref is stored at m_disk_ref_offset + Disk_part_ref::SZ32 + */ + regTabPtr.p->m_offsets[MM].m_disk_ref_offset= pos[MM]-Disk_part_ref::SZ32; + } + + if (regTabPtr.p->m_attributes[MM].m_no_of_varsize) + { + pos[MM] += Var_part_ref::SZ32; } regTabPtr.p->m_offsets[MM].m_null_offset= pos[MM]; @@ -492,16 +504,14 @@ void Dbtup::execTUP_ADD_ATTRREQ(Signal* signal) } regTabPtr.p->m_offsets[MM].m_fix_header_size= + Tuple_header::HeaderSize + fragOperPtr.p->m_fix_attributes_size[MM] + pos[MM]; - + regTabPtr.p->m_offsets[DD].m_fix_header_size= fragOperPtr.p->m_fix_attributes_size[DD] + pos[DD]; - if(regTabPtr.p->m_attributes[MM].m_no_of_varsize == 0) - regTabPtr.p->m_offsets[MM].m_fix_header_size += Tuple_header::HeaderSize; - if(regTabPtr.p->m_attributes[DD].m_no_of_varsize == 0 && regTabPtr.p->m_attributes[DD].m_no_of_fixsize > 0) regTabPtr.p->m_offsets[DD].m_fix_header_size += Tuple_header::HeaderSize; @@ -541,8 +551,6 @@ void Dbtup::execTUP_ADD_ATTRREQ(Signal* signal) { Uint32 fix_tupheader = regTabPtr.p->m_offsets[MM].m_fix_header_size; - if(regTabPtr.p->m_attributes[MM].m_no_of_varsize != 0) - fix_tupheader += Tuple_header::HeaderSize + Var_part_ref::SZ32; ndbassert(fix_tupheader > 0); Uint32 noRowsPerPage = ZWORDS_ON_PAGE / fix_tupheader; Uint32 noAllocatedPages = diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp index 04e60edfb2e..58d7fa8e35c 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp @@ -599,8 +599,7 @@ Dbtup::scanNext(Signal* signal, ScanOpPtr scanPtr) const bool lcp = (bits & ScanOp::SCAN_LCP); Uint32 lcp_list = fragPtr.p->m_lcp_keep_list; - Uint32 size = table.m_offsets[mm].m_fix_header_size + - (bits&ScanOp::SCAN_VS ? Tuple_header::HeaderSize + Var_part_ref::SZ32 : 0); + Uint32 size = table.m_offsets[mm].m_fix_header_size; if (lcp && lcp_list != RNIL) goto found_lcp_keep; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp index 1e2596cfcb4..178744d7603 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp @@ -71,27 +71,22 @@ Uint32* Dbtup::alloc_var_rec(Fragrecord* fragPtr, /** * TODO alloc fix+var part */ - const Uint32 XXX = Tuple_header::HeaderSize + Var_part_ref::SZ32; - tabPtr->m_offsets[MM].m_fix_header_size += XXX; Uint32 *ptr = alloc_fix_rec(fragPtr, tabPtr, key, out_frag_page_id); - tabPtr->m_offsets[MM].m_fix_header_size -= XXX; if (unlikely(ptr == 0)) { return 0; } - ndbassert(alloc_size >= tabPtr->m_offsets[MM].m_fix_header_size + - Tuple_header::HeaderSize); + ndbassert(alloc_size >= tabPtr->m_offsets[MM].m_fix_header_size); - alloc_size -= tabPtr->m_offsets[MM].m_fix_header_size + - Tuple_header::HeaderSize; + alloc_size -= tabPtr->m_offsets[MM].m_fix_header_size; Local_key varref; if (likely(alloc_var_part(fragPtr, tabPtr, alloc_size, &varref) != 0)) { Tuple_header* tuple = (Tuple_header*)ptr; - Var_part_ref* dst = (Var_part_ref*)tuple->get_var_part_ptr(tabPtr); + Var_part_ref* dst = tuple->get_var_part_ref_ptr(tabPtr); dst->assign(&varref); return ptr; } @@ -170,7 +165,7 @@ void Dbtup::free_var_rec(Fragrecord* fragPtr, Tuple_header* tuple = (Tuple_header*)ptr; Local_key ref; - Var_part_ref * varref = (Var_part_ref*)tuple->get_var_part_ptr(tabPtr); + Var_part_ref * varref = tuple->get_var_part_ref_ptr(tabPtr); varref->copyout(&ref); free_fix_rec(fragPtr, tabPtr, key, (Fix_page*)pagePtr.p); @@ -402,26 +397,21 @@ Dbtup::alloc_var_rowid(Fragrecord* fragPtr, Local_key* key, Uint32 * out_frag_page_id) { - const Uint32 XXX = Tuple_header::HeaderSize + Var_part_ref::SZ32; - tabPtr->m_offsets[MM].m_fix_header_size += XXX; Uint32 *ptr = alloc_fix_rowid(fragPtr, tabPtr, key, out_frag_page_id); - tabPtr->m_offsets[MM].m_fix_header_size -= XXX; if (unlikely(ptr == 0)) { return 0; } - ndbassert(alloc_size >= tabPtr->m_offsets[MM].m_fix_header_size + - Tuple_header::HeaderSize); + ndbassert(alloc_size >= tabPtr->m_offsets[MM].m_fix_header_size); - alloc_size -= tabPtr->m_offsets[MM].m_fix_header_size + - Tuple_header::HeaderSize; + alloc_size -= tabPtr->m_offsets[MM].m_fix_header_size; Local_key varref; if (likely(alloc_var_part(fragPtr, tabPtr, alloc_size, &varref) != 0)) { Tuple_header* tuple = (Tuple_header*)ptr; - Var_part_ref* dst = (Var_part_ref*)tuple->get_var_part_ptr(tabPtr); + Var_part_ref* dst = (Var_part_ref*)tuple->get_var_part_ref_ptr(tabPtr); dst->assign(&varref); return ptr; } From c6f625bdbc0936ec9a72b3a5905513a4dea05e9b Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Wed, 25 Apr 2007 22:55:19 +0200 Subject: [PATCH 070/144] Add --symbolic-links=1 for partition_not_windows-master.opt. --- mysql-test/t/partition_not_windows-master.opt | 1 + mysql-test/t/partition_not_windows.test | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) create mode 100644 mysql-test/t/partition_not_windows-master.opt diff --git a/mysql-test/t/partition_not_windows-master.opt b/mysql-test/t/partition_not_windows-master.opt new file mode 100644 index 00000000000..b1392bfd485 --- /dev/null +++ b/mysql-test/t/partition_not_windows-master.opt @@ -0,0 +1 @@ +--symbolic-links=1 diff --git a/mysql-test/t/partition_not_windows.test b/mysql-test/t/partition_not_windows.test index 22bede08d54..012b8b50dee 100644 --- a/mysql-test/t/partition_not_windows.test +++ b/mysql-test/t/partition_not_windows.test @@ -1,13 +1,11 @@ # Non-windows specific partition tests. --source include/not_windows.inc --source include/have_partition.inc -# SUBPARTITION depends on symlink support +# DATA DIRECTORY/INDEX DIRECTORY require symbolic link support --source include/have_symlink.inc -# partition.test used to contained the following note: -# This test is disabled on Windows due to BUG#19107 -# All tests passed on Windows except the following which should be moved into -# partition.test once the bug has been resolved. +# The test for Bug 20770 is disabled on Windows due to BUG#19107; it +# should be moved into partition.test once the bug has been resolved. # # Bug 20770 Partitions: DATA DIRECTORY clause change in reorganize From 5983038a669f582ae256e774026e9a91dd0667d1 Mon Sep 17 00:00:00 2001 From: "gshchepa/uchum@gshchepa.loc" <> Date: Thu, 26 Apr 2007 02:01:23 +0500 Subject: [PATCH 071/144] Fixed bug #27650: INSERT into InnoDB table may cause "ERROR 1062 (23000): Duplicate entry..." errors or lost records after multi-row INSERT of the form: "INSERT INTO t (id...) VALUES (NULL...) ON DUPLICATE KEY UPDATE id=VALUES(id)", where "id" is an AUTO_INCREMENT column. It happens because InnoDB handler forgets to save next insert id after updating of auto_increment column with new values. As result of that last insert id stored inside InnoDB dictionary tables differs from it's cached thd->next_insert_id value. --- mysql-test/r/innodb_mysql.result | 39 ++++++++++++++++++++++++++ mysql-test/t/innodb_mysql.test | 47 ++++++++++++++++++++++++++++++++ sql/ha_innodb.cc | 2 ++ 3 files changed, 88 insertions(+) diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index 298fc58ffcb..88428840a82 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -446,4 +446,43 @@ a 2 5 drop table t1; +create table t1( +id int auto_increment, +c char(1) not null, +counter int not null default 1, +primary key (id), +unique key (c) +) engine=innodb; +insert into t1 (id, c) values +(NULL, 'a'), +(NULL, 'a') +on duplicate key update id = values(id), counter = counter + 1; +select * from t1; +id c counter +2 a 2 +insert into t1 (id, c) values +(NULL, 'b') +on duplicate key update id = values(id), counter = counter + 1; +select * from t1; +id c counter +2 a 2 +3 b 1 +truncate table t1; +insert into t1 (id, c) values (NULL, 'a'); +select * from t1; +id c counter +1 a 1 +insert into t1 (id, c) values (NULL, 'b'), (NULL, 'b') +on duplicate key update id = values(id), c = values(c), counter = counter + 1; +select * from t1; +id c counter +1 a 1 +3 b 2 +insert into t1 (id, c) values (NULL, 'a') +on duplicate key update id = values(id), c = values(c), counter = counter + 1; +select * from t1; +id c counter +3 b 2 +4 a 2 +drop table t1; End of 5.0 tests diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test index c351891d205..c2521656a9c 100644 --- a/mysql-test/t/innodb_mysql.test +++ b/mysql-test/t/innodb_mysql.test @@ -412,4 +412,51 @@ DROP TABLE t1; --source include/innodb_rollback_on_timeout.inc + +-- source include/have_innodb.inc + +# +# Bug #27650: INSERT fails after multi-row INSERT of the form: +# INSERT INTO t (id...) VALUES (NULL...) ON DUPLICATE KEY UPDATE id=VALUES(id) +# + +create table t1( +id int auto_increment, +c char(1) not null, +counter int not null default 1, +primary key (id), +unique key (c) +) engine=innodb; + +insert into t1 (id, c) values +(NULL, 'a'), +(NULL, 'a') +on duplicate key update id = values(id), counter = counter + 1; + +select * from t1; + +insert into t1 (id, c) values +(NULL, 'b') +on duplicate key update id = values(id), counter = counter + 1; + +select * from t1; + +truncate table t1; + +insert into t1 (id, c) values (NULL, 'a'); + +select * from t1; + +insert into t1 (id, c) values (NULL, 'b'), (NULL, 'b') +on duplicate key update id = values(id), c = values(c), counter = counter + 1; + +select * from t1; + +insert into t1 (id, c) values (NULL, 'a') +on duplicate key update id = values(id), c = values(c), counter = counter + 1; + +select * from t1; + +drop table t1; + --echo End of 5.0 tests diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 217f59d4b7e..808c3bcd41d 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -3299,6 +3299,8 @@ no_commit: if (error == DB_DUPLICATE_KEY && auto_inc_used && (user_thd->lex->sql_command == SQLCOM_REPLACE || user_thd->lex->sql_command == SQLCOM_REPLACE_SELECT + || (user_thd->lex->sql_command == SQLCOM_INSERT + && user_thd->lex->duplicates == DUP_UPDATE) || (user_thd->lex->sql_command == SQLCOM_LOAD && user_thd->lex->duplicates == DUP_REPLACE))) { From d384d67af2b21355720470c6498474e3f65836ff Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Thu, 26 Apr 2007 08:22:05 +0200 Subject: [PATCH 072/144] Two test cases didn't work without Blackhole compiled into the server. --- mysql-test/t/partition.test | 8 ++++++++ mysql-test/t/partition_hash.test | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index 399f3c4a41d..fb04f22d06e 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -420,9 +420,13 @@ drop table t1; # # BUG 14524 # +# Disable warnings to allow this test case to work without +# the Blackhole engine. +--disable_warnings CREATE TABLE `t1` ( `id` int(11) default NULL ) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; +--enable_warnings SELECT * FROM t1; drop table t1; @@ -430,9 +434,13 @@ drop table t1; # # BUG 14524 # +# Disable warnings to allow this test case to work without +# the Blackhole engine. +--disable_warnings CREATE TABLE `t1` ( `id` int(11) default NULL ) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; +--enable_warnings SELECT * FROM t1; drop table t1; diff --git a/mysql-test/t/partition_hash.test b/mysql-test/t/partition_hash.test index d3f1a5f4892..dc527cad2b7 100644 --- a/mysql-test/t/partition_hash.test +++ b/mysql-test/t/partition_hash.test @@ -129,7 +129,11 @@ drop table t1; # # BUG# 14524 Partitions: crash if blackhole # +# Disable warnings to allow this test case to run without +# the Blackhole storage engine. +--disable_warnings CREATE TABLE t1 (s1 int) ENGINE=BLACKHOLE PARTITION BY HASH (s1); +--enable_warnings INSERT INTO t1 VALUES (0); DROP TABLE t1; From 3b38c544eb3976599984d23a6dfec2f2a6fd7e1e Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Thu, 26 Apr 2007 08:34:38 +0200 Subject: [PATCH 073/144] ndb: force varpart part I, allow setting of flag in dictionary --- storage/ndb/include/kernel/signaldata/DictTabInfo.hpp | 2 ++ storage/ndb/include/kernel/signaldata/LqhFrag.hpp | 3 ++- storage/ndb/include/kernel/signaldata/TupFrag.hpp | 3 ++- storage/ndb/include/ndbapi/NdbDictionary.hpp | 8 ++++++++ .../ndb/src/common/debugger/signaldata/DictTabInfo.cpp | 2 ++ storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 6 +++++- storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp | 9 +++++---- storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp | 3 ++- storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 3 +++ storage/ndb/src/ndbapi/NdbDictionary.cpp | 10 ++++++++++ storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp | 2 ++ storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp | 1 + 12 files changed, 44 insertions(+), 8 deletions(-) diff --git a/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp b/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp index bc41d8373fd..bb35a31321d 100644 --- a/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp +++ b/storage/ndb/include/kernel/signaldata/DictTabInfo.hpp @@ -118,6 +118,7 @@ public: FrmData = 27, TableTemporaryFlag = 28, //Default not Temporary + ForceVarPartFlag = 29, FragmentCount = 128, // No of fragments in table (!fragment replicas) FragmentDataLen = 129, @@ -299,6 +300,7 @@ public: Uint32 PrimaryTableId; Uint32 TableLoggedFlag; Uint32 TableTemporaryFlag; + Uint32 ForceVarPartFlag; Uint32 NoOfKeyAttr; Uint32 NoOfAttributes; Uint32 NoOfNullable; diff --git a/storage/ndb/include/kernel/signaldata/LqhFrag.hpp b/storage/ndb/include/kernel/signaldata/LqhFrag.hpp index 40ed73ad2e7..d4f4877cc5b 100644 --- a/storage/ndb/include/kernel/signaldata/LqhFrag.hpp +++ b/storage/ndb/include/kernel/signaldata/LqhFrag.hpp @@ -105,7 +105,7 @@ class LqhFragReq { friend bool printLQH_FRAG_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: - STATIC_CONST( SignalLength = 24 ); + STATIC_CONST( SignalLength = 25 ); enum RequestInfo { CreateInRunning = 0x8000000, @@ -143,6 +143,7 @@ private: Uint32 maxRowsHigh; Uint32 minRowsLow; Uint32 minRowsHigh; + Uint32 forceVarPartFlag; }; class LqhFragConf { diff --git a/storage/ndb/include/kernel/signaldata/TupFrag.hpp b/storage/ndb/include/kernel/signaldata/TupFrag.hpp index cae548aa094..106518dd47b 100644 --- a/storage/ndb/include/kernel/signaldata/TupFrag.hpp +++ b/storage/ndb/include/kernel/signaldata/TupFrag.hpp @@ -29,7 +29,7 @@ class TupFragReq { friend class Dblqh; friend class Dbtup; public: - STATIC_CONST( SignalLength = 17 ); + STATIC_CONST( SignalLength = 18 ); private: Uint32 userPtr; Uint32 userRef; @@ -48,6 +48,7 @@ private: Uint32 checksumIndicator; Uint32 globalCheckpointIdIndicator; Uint32 tablespaceid; + Uint32 forceVarPartFlag; }; class TupFragConf { diff --git a/storage/ndb/include/ndbapi/NdbDictionary.hpp b/storage/ndb/include/ndbapi/NdbDictionary.hpp index 0687733df03..895bae09ab0 100644 --- a/storage/ndb/include/ndbapi/NdbDictionary.hpp +++ b/storage/ndb/include/ndbapi/NdbDictionary.hpp @@ -921,6 +921,14 @@ public: bool getTemporary(); void setTemporary(bool); + /** + * Only table with varpart do support online add column + * Add property so that table wo/ varsize column(s) still + * allocates varpart-ref, so that later online add column is possible + */ + bool getForceVarPart() const; + void setForceVarPart(bool); + /** * Check if any of column in bitmaps are disk columns * returns bitmap of different columns diff --git a/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp b/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp index 6d713e53351..89f9db835a1 100644 --- a/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp +++ b/storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp @@ -26,6 +26,7 @@ DictTabInfo::TableMapping[] = { DTIMAP(Table, PrimaryTableId, PrimaryTableId), DTIMAP2(Table, TableLoggedFlag, TableLoggedFlag, 0, 1), DTIMAP2(Table, TableTemporaryFlag, TableTemporaryFlag, 0, 1), + DTIMAP2(Table, ForceVarPartFlag, ForceVarPartFlag, 0, 1), DTIMAP2(Table, TableKValue, TableKValue, 6, 6), DTIMAP2(Table, MinLoadFactor, MinLoadFactor, 0, 90), DTIMAP2(Table, MaxLoadFactor, MaxLoadFactor, 25, 110), @@ -123,6 +124,7 @@ DictTabInfo::Table::init(){ PrimaryTableId = RNIL; TableLoggedFlag = 1; TableTemporaryFlag = 0; + ForceVarPartFlag = 0; NoOfKeyAttr = 0; NoOfAttributes = 0; NoOfNullable = 0; diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp index 7a3ecc5c090..cf5d7d06c5f 100644 --- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp +++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp @@ -449,6 +449,8 @@ Dbdict::packTableIntoPages(SimpleProperties::Writer & w, !!(tablePtr.p->m_bits & TableRecord::TR_RowChecksum)); w.add(DictTabInfo::TableTemporaryFlag, !!(tablePtr.p->m_bits & TableRecord::TR_Temporary)); + w.add(DictTabInfo::ForceVarPartFlag, + !!(tablePtr.p->m_bits & TableRecord::TR_ForceVarPart)); w.add(DictTabInfo::MinLoadFactor, tablePtr.p->minLoadFactor); w.add(DictTabInfo::MaxLoadFactor, tablePtr.p->maxLoadFactor); @@ -5503,8 +5505,8 @@ Dbdict::execADD_FRAGREQ(Signal* signal) { req->tableType = tabPtr.p->tableType; req->primaryTableId = tabPtr.p->primaryTableId; req->tablespace_id= tabPtr.p->m_tablespace_id; - //req->tablespace_id= tablespace_id; req->logPartId = logPart; + req->forceVarPartFlag = !!(tabPtr.p->m_bits& TableRecord::TR_ForceVarPart); sendSignal(DBLQH_REF, GSN_LQHFRAGREQ, signal, LqhFragReq::SignalLength, JBB); } @@ -6119,6 +6121,8 @@ void Dbdict::handleTabInfoInit(SimpleProperties::Reader & it, (c_tableDesc.RowGCIFlag ? TableRecord::TR_RowGCI : 0); tablePtr.p->m_bits |= (c_tableDesc.TableTemporaryFlag ? TableRecord::TR_Temporary : 0); + tablePtr.p->m_bits |= + (c_tableDesc.ForceVarPartFlag ? TableRecord::TR_ForceVarPart : 0); tablePtr.p->minLoadFactor = c_tableDesc.MinLoadFactor; tablePtr.p->maxLoadFactor = c_tableDesc.MaxLoadFactor; tablePtr.p->fragmentType = (DictTabInfo::FragmentType)c_tableDesc.FragmentType; diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp index 839d139a659..9801599fa08 100644 --- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp +++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp @@ -236,10 +236,11 @@ public: /* Is the table logged (i.e. data survives system restart) */ enum Bits { - TR_Logged = 0x1, - TR_RowGCI = 0x2, - TR_RowChecksum = 0x4, - TR_Temporary = 0x8 + TR_Logged = 0x1, + TR_RowGCI = 0x2, + TR_RowChecksum = 0x4, + TR_Temporary = 0x8, + TR_ForceVarPart = 0x10 }; Uint16 m_bits; diff --git a/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp b/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp index e3026fc59f0..3fc8891c082 100644 --- a/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp +++ b/storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp @@ -459,7 +459,8 @@ public: Uint32 maxRowsHigh; Uint32 minRowsLow; Uint32 minRowsHigh; - };// Size 128 bytes + Uint32 forceVarPartFlag; + }; typedef Ptr AddFragRecordPtr; /* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ */ diff --git a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index 869eb6e2689..a359267f9d9 100644 --- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -1071,6 +1071,7 @@ void Dblqh::execLQHFRAGREQ(Signal* signal) Uint32 primaryTableId = req->primaryTableId; Uint32 tablespace= req->tablespace_id; Uint32 logPart = req->logPartId; + Uint32 forceVarPartFlag = req->forceVarPartFlag; if (signal->getLength() < 20) { @@ -1190,6 +1191,7 @@ void Dblqh::execLQHFRAGREQ(Signal* signal) addfragptr.p->tableType = tableType; addfragptr.p->primaryTableId = primaryTableId; addfragptr.p->tablespace_id= tablespace; + addfragptr.p->forceVarPartFlag = forceVarPartFlag; // addfragptr.p->tupConnectptr = RNIL; addfragptr.p->tuxConnectptr = RNIL; @@ -1340,6 +1342,7 @@ Dblqh::sendAddFragReq(Signal* signal) tupFragReq->checksumIndicator = addfragptr.p->checksumIndicator; tupFragReq->globalCheckpointIdIndicator = addfragptr.p->GCPIndicator; tupFragReq->tablespaceid = addfragptr.p->tablespace_id; + tupFragReq->forceVarPartFlag = addfragptr.p->forceVarPartFlag; sendSignal(fragptr.p->tupBlockref, GSN_TUPFRAGREQ, signal, TupFragReq::SignalLength, JBB); return; diff --git a/storage/ndb/src/ndbapi/NdbDictionary.cpp b/storage/ndb/src/ndbapi/NdbDictionary.cpp index 47ba0335183..6d548126126 100644 --- a/storage/ndb/src/ndbapi/NdbDictionary.cpp +++ b/storage/ndb/src/ndbapi/NdbDictionary.cpp @@ -703,6 +703,16 @@ NdbDictionary::Table::getRowGCIIndicator() const { return m_impl.m_row_gci; } +void +NdbDictionary::Table::setForceVarPart(bool val){ + m_impl.m_force_var_part = val; +} + +bool +NdbDictionary::Table::getForceVarPart() const { + return m_impl.m_force_var_part; +} + int NdbDictionary::Table::aggregate(NdbError& error) { diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp index 76f0cf81823..d19ab74228a 100644 --- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp +++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp @@ -2105,6 +2105,7 @@ NdbDictInterface::parseTableInfo(NdbTableImpl ** ret, impl->m_temporary = tableDesc->TableTemporaryFlag; impl->m_row_gci = tableDesc->RowGCIFlag; impl->m_row_checksum = tableDesc->RowChecksumFlag; + impl->m_force_var_part = tableDesc->ForceVarPartFlag; impl->m_kvalue = tableDesc->TableKValue; impl->m_minLoadFactor = tableDesc->MinLoadFactor; impl->m_maxLoadFactor = tableDesc->MaxLoadFactor; @@ -2569,6 +2570,7 @@ NdbDictInterface::createOrAlterTable(Ndb & ndb, tmpTab->MinRowsLow = (Uint32)(impl.m_min_rows & 0xFFFFFFFF); tmpTab->DefaultNoPartFlag = impl.m_default_no_part_flag; tmpTab->LinearHashFlag = impl.m_linear_flag; + tmpTab->ForceVarPartFlag = impl.m_force_var_part; if (impl.m_ts_name.length()) { diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp index 26d7c13f968..68ca4edb5d0 100644 --- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp +++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp @@ -199,6 +199,7 @@ public: bool m_temporary; bool m_row_gci; bool m_row_checksum; + bool m_force_var_part; int m_kvalue; int m_minLoadFactor; int m_maxLoadFactor; From bfa29e175ecaf4ac64282bd5f9564ca0ce88026a Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Thu, 26 Apr 2007 11:12:17 +0300 Subject: [PATCH 074/144] Bug #27363: Validity checks for nested set functions were not taking into account that the enclosed set function may be on a nest level that is lower than the nest level of the enclosing set function. Fixed by : - propagating max_sum_func_level up the enclosing set functions chain. - updating the max_sum_func_level of the enclosing set function when the enclosed set function is aggregated above or on the same nest level of as the level of the enclosing set function. - updating the max_arg_level of the enclosing set function on a reference that refers to an item above or on the same nest level as the level of the enclosing set function. - Treating both Item_field and Item_ref as possibly referencing items from outer nest levels. --- mysql-test/r/bdb_notembedded.result | 35 ++++++++++++++++++++++++++ mysql-test/r/subselect.result | 23 +++++++++++++++++ mysql-test/t/bdb_notembedded.test | 38 +++++++++++++++++++++++++++++ mysql-test/t/subselect.test | 30 +++++++++++++++++++++++ sql/item.cc | 28 +++++++++++++++++++-- sql/item_sum.cc | 16 ++++++++++-- 6 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index d5a1c0b2451..dbeb9486c0f 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -3947,3 +3947,26 @@ WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a; ERROR HY000: Invalid use of group function SET @@sql_mode=default; DROP TABLE t1; +CREATE TABLE t1 (a INT); +INSERT INTO t1 values (1),(1),(1),(1); +CREATE TABLE t2 (x INT); +INSERT INTO t1 values (1000),(1001),(1002); +SELECT SUM( (SELECT COUNT(a) FROM t2) ) FROM t1; +ERROR HY000: Invalid use of group function +SELECT SUM( (SELECT SUM(COUNT(a)) FROM t2) ) FROM t1; +ERROR HY000: Invalid use of group function +SELECT COUNT(1) FROM DUAL; +COUNT(1) +1 +SELECT SUM( (SELECT AVG( (SELECT t1.a FROM t2) ) FROM DUAL) ) FROM t1; +ERROR HY000: Invalid use of group function +SELECT +SUM( (SELECT AVG( (SELECT COUNT(*) FROM t1 t HAVING t1.a < 12) ) FROM t2) ) +FROM t1; +ERROR HY000: Invalid use of group function +SELECT t1.a as XXA, +SUM( (SELECT AVG( (SELECT COUNT(*) FROM t1 t HAVING XXA < 12) ) FROM t2) ) +FROM t1; +ERROR HY000: Invalid use of group function +DROP TABLE t1,t2; +End of 5.0 tests. diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index 182b9b27ef7..a9f130f1870 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -2809,3 +2809,33 @@ SELECT a FROM t1 t0 SET @@sql_mode=default; DROP TABLE t1; + +# +# Bug #27363: nested aggregates in outer, subquery / sum(select +# count(outer)) +# +CREATE TABLE t1 (a INT); INSERT INTO t1 values (1),(1),(1),(1); +CREATE TABLE t2 (x INT); INSERT INTO t1 values (1000),(1001),(1002); + +--error ER_INVALID_GROUP_FUNC_USE +SELECT SUM( (SELECT COUNT(a) FROM t2) ) FROM t1; +--error ER_INVALID_GROUP_FUNC_USE +SELECT SUM( (SELECT SUM(COUNT(a)) FROM t2) ) FROM t1; +SELECT COUNT(1) FROM DUAL; + +--error ER_INVALID_GROUP_FUNC_USE +SELECT SUM( (SELECT AVG( (SELECT t1.a FROM t2) ) FROM DUAL) ) FROM t1; + +--error ER_INVALID_GROUP_FUNC_USE +SELECT + SUM( (SELECT AVG( (SELECT COUNT(*) FROM t1 t HAVING t1.a < 12) ) FROM t2) ) +FROM t1; + +--error ER_INVALID_GROUP_FUNC_USE +SELECT t1.a as XXA, + SUM( (SELECT AVG( (SELECT COUNT(*) FROM t1 t HAVING XXA < 12) ) FROM t2) ) +FROM t1; + +DROP TABLE t1,t2; + +--echo End of 5.0 tests. diff --git a/sql/item.cc b/sql/item.cc index 8568a44c547..05067cf16dc 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -3538,9 +3538,13 @@ Item_field::fix_outer_field(THD *thd, Field **from_field, Item **reference) thd->restore_active_arena(arena, &backup); fixed_as_field= 1; } + /* + A reference is resolved to a nest level that's outer or the same as + the nest level of the enclosing set function : adjust the value of + max_arg_level for the function if it's needed. + */ if (thd->lex->in_sum_func && - thd->lex->in_sum_func->nest_level == - thd->lex->current_select->nest_level) + thd->lex->in_sum_func->nest_level >= select->nest_level) { Item::Type ref_type= (*reference)->type(); set_if_bigger(thd->lex->in_sum_func->max_arg_level, @@ -5182,6 +5186,16 @@ bool Item_ref::fix_fields(THD *thd, Item **reference) thd->change_item_tree(reference, fld); mark_as_dependent(thd, last_checked_context->select_lex, thd->lex->current_select, this, fld); + /* + A reference is resolved to a nest level that's outer or the same as + the nest level of the enclosing set function : adjust the value of + max_arg_level for the function if it's needed. + */ + if (thd->lex->in_sum_func && + thd->lex->in_sum_func->nest_level >= + last_checked_context->select_lex->nest_level) + set_if_bigger(thd->lex->in_sum_func->max_arg_level, + last_checked_context->select_lex->nest_level); return FALSE; } if (ref == 0) @@ -5195,6 +5209,16 @@ bool Item_ref::fix_fields(THD *thd, Item **reference) DBUG_ASSERT(*ref && (*ref)->fixed); mark_as_dependent(thd, last_checked_context->select_lex, context->select_lex, this, this); + /* + A reference is resolved to a nest level that's outer or the same as + the nest level of the enclosing set function : adjust the value of + max_arg_level for the function if it's needed. + */ + if (thd->lex->in_sum_func && + thd->lex->in_sum_func->nest_level >= + last_checked_context->select_lex->nest_level) + set_if_bigger(thd->lex->in_sum_func->max_arg_level, + last_checked_context->select_lex->nest_level); } } diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 359b4516c3c..ca8aa2f06e7 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -175,13 +175,25 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref) MYF(0)); return TRUE; } - if (in_sum_func && in_sum_func->nest_level == nest_level) + if (in_sum_func) { /* If the set function is nested adjust the value of max_sum_func_level for the nesting set function. + We take into account only enclosed set functions that are to be + aggregated on the same level or above of the nest level of + the enclosing set function. + But we must always pass up the max_sum_func_level because it is + the maximum nested level of all directly and indirectly enclosed + set functions. We must do that even for set functions that are + aggregated inside of their enclosing set function's nest level + because the enclosing function may contain another enclosing + function that is to be aggregated outside or on the same level + as its parent's nest level. */ - set_if_bigger(in_sum_func->max_sum_func_level, aggr_level); + if (in_sum_func->nest_level >= aggr_level) + set_if_bigger(in_sum_func->max_sum_func_level, aggr_level); + set_if_bigger(in_sum_func->max_sum_func_level, max_sum_func_level); } update_used_tables(); thd->lex->in_sum_func= in_sum_func; From 5c2138f57bcedfbeb5c038bb726e6f53feb3975a Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Thu, 26 Apr 2007 13:12:43 +0200 Subject: [PATCH 075/144] Bug #24667 After ALTER TABLE operation ndb_dd table becomes regular ndb --- sql/ha_ndbcluster.cc | 64 ++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 9e4d53a36a6..dfe76bb3770 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -4749,14 +4749,14 @@ static int create_ndb_column(NDBCOL &col, int ha_ndbcluster::create(const char *name, TABLE *form, - HA_CREATE_INFO *info) + HA_CREATE_INFO *create_info) { THD *thd= current_thd; NDBTAB tab; NDBCOL col; uint pack_length, length, i, pk_length= 0; const void *data= NULL, *pack_data= NULL; - bool create_from_engine= (info->table_options & HA_OPTION_CREATE_FROM_ENGINE); + bool create_from_engine= (create_info->table_options & HA_OPTION_CREATE_FROM_ENGINE); bool is_truncate= (thd->lex->sql_command == SQLCOM_TRUNCATE); char tablespace[FN_LEN]; @@ -4780,7 +4780,7 @@ int ha_ndbcluster::create(const char *name, if (!(m_table= ndbtab_g.get_table())) ERR_RETURN(dict->getNdbError()); if ((get_tablespace_name(thd, tablespace, FN_LEN))) - info->tablespace= tablespace; + create_info->tablespace= tablespace; m_table= NULL; } DBUG_PRINT("info", ("Dropping and re-creating table for TRUNCATE")); @@ -4821,7 +4821,7 @@ int ha_ndbcluster::create(const char *name, DBUG_PRINT("table", ("name: %s", m_tabname)); tab.setName(m_tabname); - tab.setLogging(!(info->options & HA_LEX_CREATE_TMP_TABLE)); + tab.setLogging(!(create_info->options & HA_LEX_CREATE_TMP_TABLE)); // Save frm data for this table if (readfrm(name, &data, &length)) @@ -4836,16 +4836,45 @@ int ha_ndbcluster::create(const char *name, my_free((char*)data, MYF(0)); my_free((char*)pack_data, MYF(0)); + /* + Check for disk options + */ + if (create_info->storage_media == HA_SM_DISK) + { + if (create_info->tablespace) + tab.setTablespaceName(create_info->tablespace); + else + tab.setTablespaceName("DEFAULT-TS"); + } + else if (create_info->tablespace) + { + if (create_info->storage_media == HA_SM_MEMORY) + { + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, + ER_ILLEGAL_HA_CREATE_OPTION, + ER(ER_ILLEGAL_HA_CREATE_OPTION), + ndbcluster_hton_name, + "TABLESPACE currently only supported for " + "STORAGE DISK"); + DBUG_RETURN(HA_ERR_UNSUPPORTED); + } + tab.setTablespaceName(create_info->tablespace); + create_info->storage_media = HA_SM_DISK; //if use tablespace, that also means store on disk + } + + /* + Setup columns + */ for (i= 0; i < form->s->fields; i++) { Field *field= form->field[i]; DBUG_PRINT("info", ("name: %s, type: %u, pack_length: %d", field->field_name, field->real_type(), field->pack_length())); - if ((my_errno= create_ndb_column(col, field, info))) + if ((my_errno= create_ndb_column(col, field, create_info))) DBUG_RETURN(my_errno); - if (info->storage_media == HA_SM_DISK) + if (create_info->storage_media == HA_SM_DISK) col.setStorageType(NdbDictionary::Column::StorageTypeDisk); else col.setStorageType(NdbDictionary::Column::StorageTypeMemory); @@ -4865,29 +4894,6 @@ int ha_ndbcluster::create(const char *name, NdbDictionary::Column::StorageTypeMemory); } - if (info->storage_media == HA_SM_DISK) - { - if (info->tablespace) - tab.setTablespaceName(info->tablespace); - else - tab.setTablespaceName("DEFAULT-TS"); - } - else if (info->tablespace) - { - if (info->storage_media == HA_SM_MEMORY) - { - push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, - ER_ILLEGAL_HA_CREATE_OPTION, - ER(ER_ILLEGAL_HA_CREATE_OPTION), - ndbcluster_hton_name, - "TABLESPACE currently only supported for " - "STORAGE DISK"); - DBUG_RETURN(HA_ERR_UNSUPPORTED); - } - tab.setTablespaceName(info->tablespace); - info->storage_media = HA_SM_DISK; //if use tablespace, that also means store on disk - } - // No primary key, create shadow key as 64 bit, auto increment if (form->s->primary_key == MAX_KEY) { From 8dd90e88177244b760c6b266027e23b7f5c5207f Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Thu, 26 Apr 2007 13:36:51 +0200 Subject: [PATCH 076/144] WL#1190 preparatory work needed for compatability with future online add column --- mysql-test/r/ndb_partition_key.result | 1 + mysql-test/r/ndb_row_format.result | 39 ++++++++++++++++ mysql-test/t/ndb_row_format.test | 62 ++++++++++++++++++++++++++ sql/ha_ndbcluster.cc | 64 +++++++++++++++++++++++++++ storage/ndb/test/src/NDBT_Table.cpp | 1 + 5 files changed, 167 insertions(+) create mode 100644 mysql-test/r/ndb_row_format.result create mode 100644 mysql-test/t/ndb_row_format.test diff --git a/mysql-test/r/ndb_partition_key.result b/mysql-test/r/ndb_partition_key.result index e294807b40d..3b2de5456e6 100644 --- a/mysql-test/r/ndb_partition_key.result +++ b/mysql-test/r/ndb_partition_key.result @@ -57,6 +57,7 @@ Number of primary keys: 3 Length of frm data: # Row Checksum: 1 Row GCI: 1 +ForceVarPart: 1 TableStatus: Retrieved -- Attributes -- a Int PRIMARY KEY AT=FIXED ST=MEMORY diff --git a/mysql-test/r/ndb_row_format.result b/mysql-test/r/ndb_row_format.result new file mode 100644 index 00000000000..4865e23c779 --- /dev/null +++ b/mysql-test/r/ndb_row_format.result @@ -0,0 +1,39 @@ +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +drop database if exists mysqltest; +CREATE TABLE t1 +( a INT KEY, +b VARCHAR(10) ) +ROW_FORMAT=FIXED +ENGINE=NDB; +ERROR HY000: Can't create table 'test.t1' (errno: 138) +SHOW WARNINGS; +Level Code Message +Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Row format FIXED incompatible with variable sized attributes' +Error 1005 Can't create table 'test.t1' (errno: 138) +CREATE TABLE t1 +( a INT KEY, +b INT ) +ENGINE=NDB; +ForceVarPart: 1 +DROP TABLE t1; +CREATE TABLE t1 +( a INT KEY, +b INT ) +ROW_FORMAT=DEFAULT +ENGINE=NDB; +ForceVarPart: 1 +DROP TABLE t1; +CREATE TABLE t1 +( a INT KEY, +b INT ) +ROW_FORMAT=FIXED +ENGINE=NDB; +ForceVarPart: 0 +DROP TABLE t1; +CREATE TABLE t1 +( a INT KEY, +b INT ) +ROW_FORMAT=DYNAMIC +ENGINE=NDB; +ForceVarPart: 1 +DROP TABLE t1; diff --git a/mysql-test/t/ndb_row_format.test b/mysql-test/t/ndb_row_format.test new file mode 100644 index 00000000000..9668d8ea515 --- /dev/null +++ b/mysql-test/t/ndb_row_format.test @@ -0,0 +1,62 @@ +-- source include/have_ndb.inc +-- source include/not_embedded.inc + +--disable_warnings +DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; +drop database if exists mysqltest; +--enable_warnings + +# +# some negative tests +# + +# cannot have ROW_FORMAT=FIXED and var attrs mixed +--error 1005 +CREATE TABLE t1 + ( a INT KEY, + b VARCHAR(10) ) + ROW_FORMAT=FIXED + ENGINE=NDB; + +# warnings give more detail on the error +SHOW WARNINGS; + + +# +# Check force var part for different ROW_FORMAT +# + +# default => ForceVarPart: 1 +CREATE TABLE t1 + ( a INT KEY, + b INT ) + ENGINE=NDB; +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart +DROP TABLE t1; + +# explicit DEFAULT => ForceVarPart: 1 +CREATE TABLE t1 + ( a INT KEY, + b INT ) + ROW_FORMAT=DEFAULT + ENGINE=NDB; +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart +DROP TABLE t1; + +# FIXED => ForceVarPart: 0 +CREATE TABLE t1 + ( a INT KEY, + b INT ) + ROW_FORMAT=FIXED + ENGINE=NDB; +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart +DROP TABLE t1; + +# DYNAMIC => ForceVarPart: 1 +CREATE TABLE t1 + ( a INT KEY, + b INT ) + ROW_FORMAT=DYNAMIC + ENGINE=NDB; +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart +DROP TABLE t1; diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index dfe76bb3770..7f94268f4f5 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -647,6 +647,26 @@ static bool ndb_supported_type(enum_field_types type) #endif /* !DBUG_OFF */ +/* + Check if MySQL field type forces var part in ndb storage +*/ +static bool field_type_forces_var_part(enum_field_types type) +{ + switch (type) { + case MYSQL_TYPE_VAR_STRING: + case MYSQL_TYPE_VARCHAR: + return TRUE; + case MYSQL_TYPE_TINY_BLOB: + case MYSQL_TYPE_BLOB: + case MYSQL_TYPE_MEDIUM_BLOB: + case MYSQL_TYPE_LONG_BLOB: + case MYSQL_TYPE_GEOMETRY: + return FALSE; + default: + return FALSE; + } +} + /* Instruct NDB to set the value of the hidden primary key */ @@ -4862,6 +4882,28 @@ int ha_ndbcluster::create(const char *name, create_info->storage_media = HA_SM_DISK; //if use tablespace, that also means store on disk } + /* + Handle table row type + + Default is to let table rows have var part reference so that online + add column can be performed in the future. Explicitly setting row + type to fixed will omit var part reference, which will save data + memory in ndb, but at the cost of not being able to online add + column to this table + */ + switch (create_info->row_type) { + case ROW_TYPE_FIXED: + tab.setForceVarPart(FALSE); + break; + case ROW_TYPE_DYNAMIC: + /* fall through, treat as default */ + default: + /* fall through, treat as default */ + case ROW_TYPE_DEFAULT: + tab.setForceVarPart(TRUE); + break; + } + /* Setup columns */ @@ -4879,6 +4921,28 @@ int ha_ndbcluster::create(const char *name, else col.setStorageType(NdbDictionary::Column::StorageTypeMemory); + switch (create_info->row_type) { + case ROW_TYPE_FIXED: + if (field_type_forces_var_part(field->type())) + { + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, + ER_ILLEGAL_HA_CREATE_OPTION, + ER(ER_ILLEGAL_HA_CREATE_OPTION), + ndbcluster_hton_name, + "Row format FIXED incompatible with " + "variable sized attribute"); + DBUG_RETURN(HA_ERR_UNSUPPORTED); + } + break; + case ROW_TYPE_DYNAMIC: + /* + Future: make columns dynamic in this case + */ + break; + default: + break; + } + tab.addColumn(col); if (col.getPrimaryKey()) pk_length += (field->pack_length() + 3) / 4; diff --git a/storage/ndb/test/src/NDBT_Table.cpp b/storage/ndb/test/src/NDBT_Table.cpp index d6a0b014fda..74940396422 100644 --- a/storage/ndb/test/src/NDBT_Table.cpp +++ b/storage/ndb/test/src/NDBT_Table.cpp @@ -33,6 +33,7 @@ operator <<(class NdbOut& ndbout, const NDBT_Table & tab) ndbout << "Length of frm data: " << tab.getFrmLength() << endl; ndbout << "Row Checksum: " << tab.getRowChecksumIndicator() << endl; ndbout << "Row GCI: " << tab.getRowGCIIndicator() << endl; + ndbout << "ForceVarPart: " << tab.getForceVarPart() << endl; //<< ((tab.getTupleKey() == TupleId) ? " tupleid" : "") < Date: Thu, 26 Apr 2007 13:41:33 +0200 Subject: [PATCH 077/144] Bug #27205 Occational 899 if delete+insert during LCP - put page of deleted row last in list --- storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp | 2 +- .../src/kernel/blocks/dbtup/DbtupFixAlloc.cpp | 16 ++++++------- .../src/kernel/blocks/dbtup/DbtupPageMap.cpp | 2 +- storage/ndb/src/kernel/vm/DLFifoList.hpp | 23 ++++++++++++++++--- 4 files changed, 30 insertions(+), 13 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp index 2b723d745b2..9e3d3a71b9e 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +++ b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp @@ -610,7 +610,7 @@ struct Fragrecord { Uint32 noOfPagesToGrow; DLList::Head emptyPrimPage; // allocated pages (not init) - DLList::Head thFreeFirst; // pages with atleast 1 free record + DLFifoList::Head thFreeFirst; // pages with atleast 1 free record SLList::Head m_empty_pages; // Empty pages not in logical/physical map Uint32 m_lcp_scan_op; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp index 88a818e6fd7..1e9436c2306 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp @@ -92,8 +92,8 @@ Dbtup::alloc_fix_rec(Fragrecord* const regFragPtr, pagePtr.p->page_state = ZTH_MM_FREE; - LocalDLList free_pages(c_page_pool, regFragPtr->thFreeFirst); - free_pages.add(pagePtr); + LocalDLFifoList free_pages(c_page_pool, regFragPtr->thFreeFirst); + free_pages.addFirst(pagePtr); } else { ljam(); /* ---------------------------------------------------------------- */ @@ -176,7 +176,7 @@ Dbtup::alloc_tuple_from_page(Fragrecord* const regFragPtr, /* ARE MAINTAINED EVEN AFTER A SYSTEM CRASH. */ /* ---------------------------------------------------------------- */ ndbrequire(regPagePtr->page_state == ZTH_MM_FREE); - LocalDLList free_pages(c_page_pool, regFragPtr->thFreeFirst); + LocalDLFifoList free_pages(c_page_pool, regFragPtr->thFreeFirst); free_pages.remove((Page*)regPagePtr); regPagePtr->page_state = ZTH_MM_FULL; } @@ -196,10 +196,10 @@ void Dbtup::free_fix_rec(Fragrecord* regFragPtr, { ljam(); PagePtr pagePtr = { (Page*)regPagePtr, key->m_page_no }; - LocalDLList free_pages(c_page_pool, regFragPtr->thFreeFirst); + LocalDLFifoList free_pages(c_page_pool, regFragPtr->thFreeFirst); ndbrequire(regPagePtr->page_state == ZTH_MM_FULL); regPagePtr->page_state = ZTH_MM_FREE; - free_pages.add(pagePtr); + free_pages.addLast(pagePtr); } }//Dbtup::freeTh() @@ -227,13 +227,13 @@ Dbtup::alloc_page(Tablerec* tabPtrP, Fragrecord* fragPtrP, c_page_pool.getPtr(pagePtr, getRealpid(fragPtrP, page_no)); LocalDLList alloc_pages(c_page_pool, fragPtrP->emptyPrimPage); - LocalDLList free_pages(c_page_pool, fragPtrP->thFreeFirst); + LocalDLFifoList free_pages(c_page_pool, fragPtrP->thFreeFirst); if (pagePtr.p->page_state == ZEMPTY_MM) { convertThPage((Fix_page*)pagePtr.p, tabPtrP, MM); pagePtr.p->page_state = ZTH_MM_FREE; alloc_pages.remove(pagePtr); - free_pages.add(pagePtr); + free_pages.addFirst(pagePtr); } *ret = pagePtr; @@ -257,7 +257,7 @@ Dbtup::alloc_fix_rowid(Fragrecord* regFragPtr, } Uint32 state = pagePtr.p->page_state; - LocalDLList free_pages(c_page_pool, regFragPtr->thFreeFirst); + LocalDLFifoList free_pages(c_page_pool, regFragPtr->thFreeFirst); switch(state){ case ZTH_MM_FREE: if (((Fix_page*)pagePtr.p)->alloc_record(idx) != idx) diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp index 69b9ccc60e4..8493e0561cc 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp @@ -295,7 +295,7 @@ void Dbtup::releaseFragPages(Fragrecord* regFragPtr) } { - LocalDLList tmp(c_page_pool, regFragPtr->thFreeFirst); + LocalDLFifoList tmp(c_page_pool, regFragPtr->thFreeFirst); tmp.remove(); } diff --git a/storage/ndb/src/kernel/vm/DLFifoList.hpp b/storage/ndb/src/kernel/vm/DLFifoList.hpp index a71cb71e207..da92390dd8f 100644 --- a/storage/ndb/src/kernel/vm/DLFifoList.hpp +++ b/storage/ndb/src/kernel/vm/DLFifoList.hpp @@ -62,8 +62,9 @@ public: */ void insert(Ptr & ptr, Ptr& loc); + void remove(); void remove(Ptr &); - + void remove(T*); /** * Update i & p value according to i */ @@ -274,12 +275,28 @@ DLFifoListImpl::insert(Ptr & ptr, Ptr & loc) ptr.p->U::nextList = loc.i; } +template +inline +void +DLFifoListImpl::remove() +{ + head.firstItem = RNIL; + head.lastItem = RNIL; +} + template inline void DLFifoListImpl::remove(Ptr & p) { - T * t = p.p; + remove(p.p); +} + +template +inline +void +DLFifoListImpl::remove(T * t) +{ Uint32 ni = t->U::nextList; Uint32 pi = t->U::prevList; @@ -328,7 +345,7 @@ inline void DLFifoListImpl::release(Ptr & p) { - remove(p); + remove(p.p); thePool.release(p); } From 99b81f15f5f8c247faad3ff787158db4bae3fd70 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Thu, 26 Apr 2007 13:56:09 +0200 Subject: [PATCH 078/144] remove compiler warning --- storage/ndb/test/ndbapi/bank/Bank.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/ndb/test/ndbapi/bank/Bank.hpp b/storage/ndb/test/ndbapi/bank/Bank.hpp index 312c80ce411..ef6e6976092 100644 --- a/storage/ndb/test/ndbapi/bank/Bank.hpp +++ b/storage/ndb/test/ndbapi/bank/Bank.hpp @@ -28,7 +28,7 @@ public: Bank(Ndb_cluster_connection&, bool init = true, const char *dbase="BANK"); - int setSkipCreate(bool skip) { m_skip_create = skip; } + void setSkipCreate(bool skip) { m_skip_create = skip; } int createAndLoadBank(bool overWrite, bool disk= false, int num_accounts=10); int dropBank(); From cfbb8672ab5d44320afd1b20305c448d29536423 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Thu, 26 Apr 2007 21:32:02 +0200 Subject: [PATCH 079/144] correction of result file --- mysql-test/r/ndb_row_format.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/ndb_row_format.result b/mysql-test/r/ndb_row_format.result index 4865e23c779..6db289c75aa 100644 --- a/mysql-test/r/ndb_row_format.result +++ b/mysql-test/r/ndb_row_format.result @@ -8,7 +8,7 @@ ENGINE=NDB; ERROR HY000: Can't create table 'test.t1' (errno: 138) SHOW WARNINGS; Level Code Message -Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Row format FIXED incompatible with variable sized attributes' +Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Row format FIXED incompatible with variable sized attribute' Error 1005 Can't create table 'test.t1' (errno: 138) CREATE TABLE t1 ( a INT KEY, From 4747fa0c033cda9a80f7be13ea7144e18a14b709 Mon Sep 17 00:00:00 2001 From: "evgen@moonbone.local" <> Date: Fri, 27 Apr 2007 00:12:09 +0400 Subject: [PATCH 080/144] Bug#27590: Wrong DATE/DATETIME comparison. DATE and DATETIME can be compared either as strings or as int. Both methods have their disadvantages. Strings can contain valid DATETIME value but have insignificant zeros omitted thus became non-comparable with other DATETIME strings. The comparison as int usually will require conversion from the string representation and the automatic conversion in most cases is carried out in a wrong way thus producing wrong comparison result. Another problem occurs when one tries to compare DATE field with a DATETIME constant. The constant is converted to DATE losing its precision i.e. losing time part. This fix addresses the problems described above by adding a special DATE/DATETIME comparator. The comparator correctly converts DATE/DATETIME string values to int when it's necessary, adds zero time part (00:00:00) to DATE values to compare them correctly to DATETIME values. Due to correct conversion malformed DATETIME string values are correctly compared to other DATE/DATETIME values. As of this patch a DATE value equals to DATETIME value with zero time part. For example '2001-01-01' equals to '2001-01-01 00:00:00'. The compare_datetime() function is added to the Arg_comparator class. It implements the correct comparator for DATE/DATETIME values. Two supplementary functions called get_date_from_str() and get_datetime_value() are added. The first one extracts DATE/DATETIME value from a string and the second one retrieves the correct DATE/DATETIME value from an item. The new Arg_comparator::can_compare_as_dates() function is added and used to check whether two given items can be compared by the compare_datetime() comparator. Two caching variables were added to the Arg_comparator class to speedup the DATE/DATETIME comparison. One more store() method was added to the Item_cache_int class to cache int values. The new is_datetime() function was added to the Item class. It indicates whether the item returns a DATE/DATETIME value. --- mysql-test/include/ps_conv.inc | 4 +- mysql-test/r/bdb_notembedded.result | 35 +++ mysql-test/r/distinct.result | 2 +- mysql-test/r/ps_2myisam.result | 4 +- mysql-test/r/ps_3innodb.result | 4 +- mysql-test/r/ps_4heap.result | 4 +- mysql-test/r/ps_5merge.result | 8 +- mysql-test/r/subselect.result | 4 +- mysql-test/r/type_datetime.result | 39 ++++ mysql-test/t/bdb_notembedded.test | 38 ++++ mysql-test/t/type_datetime.test | 20 ++ sql/item.cc | 23 ++ sql/item.h | 3 + sql/item_cmpfunc.cc | 318 +++++++++++++++++++++++++++- sql/item_cmpfunc.h | 27 ++- sql/sql_select.cc | 18 +- tests/mysql_client_test.c | 6 +- 17 files changed, 517 insertions(+), 40 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/include/ps_conv.inc b/mysql-test/include/ps_conv.inc index 09290d760ce..195d1061664 100644 --- a/mysql-test/include/ps_conv.inc +++ b/mysql-test/include/ps_conv.inc @@ -1171,7 +1171,7 @@ execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ; ######## SELECT .. WHERE column(date/time/..)=value(DATETIME/LONGBLOB) ######## set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -1180,7 +1180,7 @@ select 'true' as found from t9 where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00 and c17= @arg00 ; prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result index 190e8595126..8525e0f19e4 100644 --- a/mysql-test/r/distinct.result +++ b/mysql-test/r/distinct.result @@ -633,7 +633,7 @@ EXPLAIN SELECT (SELECT DISTINCT ADDDATE(a,1) FROM t1 WHERE ADDDATE(a,1) = '2002-08-03'); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used -2 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using where; Using temporary +2 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using where CREATE TABLE t2 (a CHAR(5) CHARACTER SET latin1 COLLATE latin1_general_ci); INSERT INTO t2 VALUES (0xf6); INSERT INTO t2 VALUES ('oe'); diff --git a/mysql-test/r/ps_2myisam.result b/mysql-test/r/ps_2myisam.result index de6e2d62763..2b2a29b2122 100644 --- a/mysql-test/r/ps_2myisam.result +++ b/mysql-test/r/ps_2myisam.result @@ -3070,7 +3070,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -3083,7 +3083,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/mysql-test/r/ps_3innodb.result b/mysql-test/r/ps_3innodb.result index 1ebaafdd488..f30262ef219 100644 --- a/mysql-test/r/ps_3innodb.result +++ b/mysql-test/r/ps_3innodb.result @@ -3053,7 +3053,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -3066,7 +3066,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/mysql-test/r/ps_4heap.result b/mysql-test/r/ps_4heap.result index 74b9326dbc1..a012e516404 100644 --- a/mysql-test/r/ps_4heap.result +++ b/mysql-test/r/ps_4heap.result @@ -3054,7 +3054,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -3067,7 +3067,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/mysql-test/r/ps_5merge.result b/mysql-test/r/ps_5merge.result index bf80514906b..ac9c8ae55ff 100644 --- a/mysql-test/r/ps_5merge.result +++ b/mysql-test/r/ps_5merge.result @@ -2990,7 +2990,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -3003,7 +3003,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -6004,7 +6004,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -6017,7 +6017,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index d5a1c0b2451..09c7b92f51b 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -394,13 +394,13 @@ EXPLAIN EXTENDED SELECT DISTINCT date FROM t1 WHERE date='2002-08-03'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 index NULL PRIMARY 43 NULL 2 Using where; Using index Warnings: -Note 1003 select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = 20020803) +Note 1003 select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = _latin1'2002-08-03') EXPLAIN EXTENDED SELECT (SELECT DISTINCT date FROM t1 WHERE date='2002-08-03'); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No tables used 2 SUBQUERY t1 index NULL PRIMARY 43 NULL 2 Using where; Using index Warnings: -Note 1003 select (select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = 20020803)) AS `(SELECT DISTINCT date FROM t1 WHERE date='2002-08-03')` +Note 1003 select (select distinct `test`.`t1`.`date` AS `date` from `test`.`t1` where (`test`.`t1`.`date` = _latin1'2002-08-03')) AS `(SELECT DISTINCT date FROM t1 WHERE date='2002-08-03')` SELECT DISTINCT date FROM t1 WHERE date='2002-08-03'; date 2002-08-03 diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index 7caa23d330d..42f97a6d53b 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -192,3 +192,42 @@ CAST(CAST('2006-08-10 10:11:12' AS DATETIME) + INTERVAL 14 MICROSECOND AS DECIMA SELECT CAST(CAST('10:11:12.098700' AS TIME) AS DECIMAL(20,6)); CAST(CAST('10:11:12.098700' AS TIME) AS DECIMAL(20,6)) 101112.098700 +create table t1 (f1 date, f2 datetime, f3 timestamp); +insert into t1(f1) values(curdate()); +select curdate() < now(), f1 < now(), cast(f1 as date) < now() from t1; +curdate() < now() f1 < now() cast(f1 as date) < now() +1 1 1 +delete from t1; +insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01'); +insert into t1 values('2001-02-05','2001-02-05 00:00:00','2001-02-05 01:01:01'); +insert into t1 values('2001-03-10','2001-03-09 01:01:01','2001-03-10 01:01:01'); +insert into t1 values('2001-04-15','2001-04-15 00:00:00','2001-04-15 00:00:00'); +insert into t1 values('2001-05-20','2001-05-20 01:01:01','2001-05-20 01:01:01'); +select f1, f3 from t1 where f1 >= '2001-02-05 00:00:00' and f3 <= '2001-04-15'; +f1 f3 +2001-02-05 2001-02-05 01:01:01 +2001-03-10 2001-03-10 01:01:01 +2001-04-15 2001-04-15 00:00:00 +select f1, f3 from t1 where f1 >= '2001-2-5 0:0:0' and f2 <= '2001-4-15'; +f1 f3 +2001-02-05 2001-02-05 01:01:01 +2001-03-10 2001-03-10 01:01:01 +2001-04-15 2001-04-15 00:00:00 +select f1, f2 from t1 where if(1, f1, 0) >= f2; +f1 f2 +2001-02-05 2001-02-05 00:00:00 +2001-03-10 2001-03-09 01:01:01 +2001-04-15 2001-04-15 00:00:00 +select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime); +1 +1 +select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), +f1 > f2, f1 = f2, f1 < f2 +from t1; +f1 f2 UNIX_TIMESTAMP(f2) UNIX_TIMESTAMP(f1) f1 > f2 f1 = f2 f1 < f2 +2001-01-01 2001-01-01 01:01:01 978300061 978296400 0 0 1 +2001-02-05 2001-02-05 00:00:00 981320400 981320400 0 1 0 +2001-03-10 2001-03-09 01:01:01 984088861 984171600 1 0 0 +2001-04-15 2001-04-15 00:00:00 987282000 987282000 0 1 0 +2001-05-20 2001-05-20 01:01:01 990309661 990306000 0 0 1 +drop table t1; diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index 3d04eb85cf3..69a19f45411 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -141,3 +141,23 @@ SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME) AS DECIMAL(20,6)); SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME) + INTERVAL 14 MICROSECOND AS DECIMAL(20,6)); SELECT CAST(CAST('10:11:12.098700' AS TIME) AS DECIMAL(20,6)); +# +# Bug#27590: Wrong DATE/DATETIME comparison. +# +create table t1 (f1 date, f2 datetime, f3 timestamp); +insert into t1(f1) values(curdate()); +select curdate() < now(), f1 < now(), cast(f1 as date) < now() from t1; +delete from t1; +insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01'); +insert into t1 values('2001-02-05','2001-02-05 00:00:00','2001-02-05 01:01:01'); +insert into t1 values('2001-03-10','2001-03-09 01:01:01','2001-03-10 01:01:01'); +insert into t1 values('2001-04-15','2001-04-15 00:00:00','2001-04-15 00:00:00'); +insert into t1 values('2001-05-20','2001-05-20 01:01:01','2001-05-20 01:01:01'); +select f1, f3 from t1 where f1 >= '2001-02-05 00:00:00' and f3 <= '2001-04-15'; +select f1, f3 from t1 where f1 >= '2001-2-5 0:0:0' and f2 <= '2001-4-15'; +select f1, f2 from t1 where if(1, f1, 0) >= f2; +select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime); +select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), + f1 > f2, f1 = f2, f1 < f2 + from t1; +drop table t1; diff --git a/sql/item.cc b/sql/item.cc index 8568a44c547..c28771ef382 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -4166,6 +4166,21 @@ enum_field_types Item::field_type() const } +bool Item::is_datetime() +{ + switch (field_type()) + { + case MYSQL_TYPE_DATE: + case MYSQL_TYPE_DATETIME: + case MYSQL_TYPE_TIMESTAMP: + return TRUE; + default: + break; + } + return FALSE; +} + + /* Create a field to hold a string value from an item @@ -6123,6 +6138,14 @@ void Item_cache_int::store(Item *item) } +void Item_cache_int::store(Item *item, longlong val_arg) +{ + value= val_arg; + null_value= item->null_value; + unsigned_flag= item->unsigned_flag; +} + + String *Item_cache_int::val_str(String *str) { DBUG_ASSERT(fixed == 1); diff --git a/sql/item.h b/sql/item.h index 2c4943bea6e..06f20dde8f8 100644 --- a/sql/item.h +++ b/sql/item.h @@ -847,6 +847,7 @@ public: representation is more precise than the string one). */ virtual bool result_as_longlong() { return FALSE; } + bool is_datetime(); }; @@ -2406,11 +2407,13 @@ public: Item_cache_int(): Item_cache(), value(0) {} void store(Item *item); + void store(Item *item, longlong val_arg); double val_real() { DBUG_ASSERT(fixed == 1); return (double) value; } longlong val_int() { DBUG_ASSERT(fixed == 1); return value; } String* val_str(String *str); my_decimal *val_decimal(my_decimal *); enum Item_result result_type() const { return INT_RESULT; } + bool result_as_longlong() { return TRUE; } }; diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index ac1adc235c3..4d258ca1e6e 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -326,7 +326,9 @@ void Item_bool_func2::fix_length_and_dec() if (arg_real_item->type() == FIELD_ITEM) { Field *field=((Item_field*) arg_real_item)->field; - if (field->can_be_compared_as_longlong()) + if (field->can_be_compared_as_longlong() && + !(arg_real_item->is_datetime() && + args[1]->result_type() == STRING_RESULT)) { if (convert_constant_item(thd, field,&args[1])) { @@ -341,7 +343,9 @@ void Item_bool_func2::fix_length_and_dec() if (arg_real_item->type() == FIELD_ITEM) { Field *field=((Item_field*) arg_real_item)->field; - if (field->can_be_compared_as_longlong()) + if (field->can_be_compared_as_longlong() && + !(arg_real_item->is_datetime() && + args[0]->result_type() == STRING_RESULT)) { if (convert_constant_item(thd, field,&args[0])) { @@ -460,6 +464,316 @@ int Arg_comparator::set_compare_func(Item_bool_func2 *item, Item_result type) } +/* + Convert date provided in a string to the int representation. + + SYNOPSIS + get_date_from_str() + thd Thread handle + str a string to convert + warn_type type of the timestamp for issuing the warning + warn_name field name for issuing the warning + error_arg [out] TRUE if string isn't a DATETIME or clipping occur + + DESCRIPTION + Convert date provided in the string str to the int representation. + if the string contains wrong date or doesn't contain it at all + then the warning is issued and TRUE returned in the error_arg argument. + The warn_type and the warn_name arguments are used as the name and the + type of the field when issuing the warning. + + RETURN + converted value. +*/ + +static ulonglong +get_date_from_str(THD *thd, String *str, timestamp_type warn_type, + char *warn_name, bool *error_arg) +{ + ulonglong value; + int error; + MYSQL_TIME l_time; + enum_mysql_timestamp_type ret; + *error_arg= TRUE; + + ret= str_to_datetime(str->ptr(), str->length(), &l_time, + (TIME_FUZZY_DATE | MODE_INVALID_DATES | + (thd->variables.sql_mode & + (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE))), + &error); + if ((ret == MYSQL_TIMESTAMP_DATETIME || ret == MYSQL_TIMESTAMP_DATE)) + { + value= TIME_to_ulonglong_datetime(&l_time); + *error_arg= FALSE; + } + + if (error || *error_arg) + { + make_truncated_value_warning(thd, str->ptr(), str->length(), warn_type, + warn_name); + *error_arg= TRUE; + } + return value; +} + + +/* + Check whether compare_datetime() can be used to compare items. + + SYNOPSIS + Arg_comparator::can_compare_as_dates() + a, b [in] items to be compared + const_value [out] converted value of the string constant, if any + + DESCRIPTION + Check several cases when the DATE/DATETIME comparator should be used. + The following cases are checked: + 1. Both a and b is a DATE/DATETIME field/function returning string or + int result. + 2. Only a or b is a DATE/DATETIME field/function returning string or + int result and the other item (b or a) is an item with string result. + If the second item is a constant one then it's checked to be + convertible to the DATE/DATETIME type. If the constant can't be + converted to a DATE/DATETIME then the compare_datetime() comparator + isn't used and the warning about wrong DATE/DATETIME value is issued. + In all other cases (date-[int|real|decimal]/[int|real|decimal]-date) + the comparison is handled by other comparators. + If the datetime comparator can be used and one the operands of the + comparison is a string constant that was successfully converted to a + DATE/DATETIME type then the result of the conversion is returned in the + const_value if it is provided. If there is no constant or + compare_datetime() isn't applicable then the *const_value remains + unchanged. + + RETURN + the found type of date comparison +*/ + +enum Arg_comparator::enum_date_cmp_type +Arg_comparator::can_compare_as_dates(Item *a, Item *b, ulonglong *const_value) +{ + enum enum_date_cmp_type cmp_type= CMP_DATE_DFLT; + Item *str_arg= 0, *date_arg= 0; + + if (a->type() == Item::ROW_ITEM || b->type() == Item::ROW_ITEM) + return CMP_DATE_DFLT; + + if (a->is_datetime()) + { + if (b->is_datetime()) + cmp_type= CMP_DATE_WITH_DATE; + else if (b->result_type() == STRING_RESULT) + { + cmp_type= CMP_DATE_WITH_STR; + date_arg= a; + str_arg= b; + } + } + else if (b->is_datetime() && a->result_type() == STRING_RESULT) + { + cmp_type= CMP_STR_WITH_DATE; + date_arg= b; + str_arg= a; + } + + if (cmp_type != CMP_DATE_DFLT) + { + if (cmp_type != CMP_DATE_WITH_DATE && str_arg->const_item()) + { + THD *thd= current_thd; + ulonglong value; + bool error; + String tmp, *str_val= 0; + timestamp_type t_type= (date_arg->field_type() == MYSQL_TYPE_DATE ? + MYSQL_TIMESTAMP_DATE : MYSQL_TIMESTAMP_DATETIME); + + str_val= str_arg->val_str(&tmp); + if (str_arg->null_value) + return CMP_DATE_DFLT; + value= get_date_from_str(thd, str_val, t_type, date_arg->name, &error); + if (error) + return CMP_DATE_DFLT; + if (const_value) + *const_value= value; + } + } + return cmp_type; +} + + +int Arg_comparator::set_cmp_func(Item_bool_func2 *owner_arg, + Item **a1, Item **a2, + Item_result type) +{ + enum enum_date_cmp_type cmp_type; + ulonglong const_value; + a= a1; + b= a2; + + if ((cmp_type= can_compare_as_dates(*a, *b, &const_value))) + { + thd= current_thd; + owner= owner_arg; + a_type= (*a)->field_type(); + b_type= (*b)->field_type(); + a_cache= 0; + b_cache= 0; + + if (cmp_type != CMP_DATE_WITH_DATE && + ((*b)->const_item() || (*a)->const_item())) + { + Item_cache_int *cache= new Item_cache_int(); + /* Mark the cache as non-const to prevent re-caching. */ + cache->set_used_tables(1); + if (!(*a)->is_datetime()) + { + cache->store((*a), const_value); + a_cache= cache; + a= (Item **)&a_cache; + } + else + { + cache->store((*b), const_value); + b_cache= cache; + b= (Item **)&b_cache; + } + } + is_nulls_eq= owner->functype() == Item_func::EQUAL_FUNC; + func= &Arg_comparator::compare_datetime; + return 0; + } + return set_compare_func(owner_arg, type); +} + + +/* + Retrieves correct DATETIME value from given item. + + SYNOPSIS + get_datetime_value() + thd thread handle + item_arg [in/out] item to retrieve DATETIME value from + cache_arg [in/out] pointer to place to store the caching item to + warn_item [in] item for issuing the conversion warning + is_null [out] TRUE <=> the item_arg is null + + DESCRIPTION + Retrieves the correct DATETIME value from given item for comparison by the + compare_datetime() function. + If item's result can be compared as longlong then its int value is used + and its string value is used otherwise. Strings are always parsed and + converted to int values by the get_date_from_str() function. + This allows us to compare correctly string dates with missed insignificant + zeros. If an item is a constant one then its value is cached and it isn't + get parsed again. An Item_cache_int object is used for caching values. It + seamlessly substitutes the original item. The cache item is marked as + non-constant to prevent re-caching it again. In order to compare + correctly DATE and DATETIME items the result of the former are treated as + a DATETIME with zero time (00:00:00). + + RETURN + obtained value +*/ + +static ulonglong +get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, + Item *warn_item, bool *is_null) +{ + ulonglong value; + String buf, *str= 0; + Item *item= **item_arg; + + if (item->result_as_longlong()) + { + value= item->val_int(); + *is_null= item->null_value; + if (item->field_type() == MYSQL_TYPE_DATE) + value*= 1000000L; + } + else + { + str= item->val_str(&buf); + *is_null= item->null_value; + } + if (*is_null) + return -1; + /* + Convert strings to the integer DATE/DATETIME representation. + Even if both dates provided in strings we can't compare them directly as + strings as there is no warranty that they are correct and do not miss + some insignificant zeros. + */ + if (str) + { + bool error; + enum_field_types f_type= warn_item->field_type(); + timestamp_type t_type= f_type == + MYSQL_TYPE_DATE ? MYSQL_TIMESTAMP_DATE : MYSQL_TIMESTAMP_DATETIME; + value= get_date_from_str(thd, str, t_type, warn_item->name, &error); + } + if (item->const_item()) + { + Item_cache_int *cache= new Item_cache_int(); + /* Mark the cache as non-const to prevent re-caching. */ + cache->set_used_tables(1); + cache->store(item, value); + *cache_arg= cache; + *item_arg= cache_arg; + } + return value; +} + +/* + Compare items values as dates. + + SYNOPSIS + Arg_comparator::compare_datetime() + + DESCRIPTION + Compare items values as DATE/DATETIME for both EQUAL_FUNC and from other + comparison functions. The correct DATETIME values are obtained + with help of the get_datetime_value() function. + + RETURN + If is_nulls_eq is TRUE: + 1 if items are equal or both are null + 0 otherwise + If is_nulls_eq is FALSE: + -1 a < b or one of items is null + 0 a == b + 1 a > b +*/ + +int Arg_comparator::compare_datetime() +{ + bool is_null= FALSE; + ulonglong a_value, b_value; + + /* Get DATE/DATETIME value of the 'a' item. */ + a_value= get_datetime_value(thd, &a, &a_cache, *b, &is_null); + if (!is_nulls_eq && is_null) + { + owner->null_value= 1; + return -1; + } + + /* Get DATE/DATETIME value of the 'b' item. */ + b_value= get_datetime_value(thd, &b, &b_cache, *a, &is_null); + if (is_null) + { + owner->null_value= is_nulls_eq ? 0 : 1; + return is_nulls_eq ? 1 : -1; + } + + owner->null_value= 0; + + /* Compare values. */ + if (is_nulls_eq) + return (a_value == b_value); + return a_value < b_value ? -1 : (a_value > b_value ? 1 : 0); +} + + int Arg_comparator::compare_string() { String *res1,*res2; diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 0c4a62aaa24..ce4d470a34a 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -35,12 +35,19 @@ class Arg_comparator: public Sql_alloc Item_bool_func2 *owner; Arg_comparator *comparators; // used only for compare_row() double precision; - + /* Fields used in DATE/DATETIME comparison. */ + THD *thd; + enum_field_types a_type, b_type; // Types of a and b items + Item *a_cache, *b_cache; // Cached values of a and b items + bool is_nulls_eq; // TRUE <=> compare for the EQUAL_FUNC + enum enum_date_cmp_type { CMP_DATE_DFLT= 0, CMP_DATE_WITH_DATE, + CMP_DATE_WITH_STR, CMP_STR_WITH_DATE }; public: DTCollation cmp_collation; - Arg_comparator() {}; - Arg_comparator(Item **a1, Item **a2): a(a1), b(a2) {}; + Arg_comparator(): thd(0), a_cache(0), b_cache(0) {}; + Arg_comparator(Item **a1, Item **a2): a(a1), b(a2), thd(0), + a_cache(0), b_cache(0) {}; int set_compare_func(Item_bool_func2 *owner, Item_result type); inline int set_compare_func(Item_bool_func2 *owner_arg) @@ -48,14 +55,10 @@ public: return set_compare_func(owner_arg, item_cmp_type((*a)->result_type(), (*b)->result_type())); } - inline int set_cmp_func(Item_bool_func2 *owner_arg, + int set_cmp_func(Item_bool_func2 *owner_arg, Item **a1, Item **a2, - Item_result type) - { - a= a1; - b= a2; - return set_compare_func(owner_arg, type); - } + Item_result type); + inline int set_cmp_func(Item_bool_func2 *owner_arg, Item **a1, Item **a2) { @@ -83,6 +86,10 @@ public: int compare_e_row(); // compare args[0] & args[1] int compare_real_fixed(); int compare_e_real_fixed(); + int compare_datetime(); // compare args[0] & args[1] as DATETIMEs + + static enum enum_date_cmp_type can_compare_as_dates(Item *a, Item *b, + ulonglong *const_val_arg); static arg_cmp_func comparator_matrix [5][2]; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 79ae4ade8ab..86dec87b9fb 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -8621,17 +8621,13 @@ static bool test_if_equality_guarantees_uniqueness(Item *l, Item *r) { return r->const_item() && - /* elements must be of the same result type */ - (r->result_type() == l->result_type() || - /* or dates compared to longs */ - (((l->type() == Item::FIELD_ITEM && - ((Item_field *)l)->field->can_be_compared_as_longlong()) || - (l->type() == Item::FUNC_ITEM && - ((Item_func *)l)->result_as_longlong())) && - r->result_type() == INT_RESULT)) - /* and must have the same collation if compared as strings */ - && (l->result_type() != STRING_RESULT || - l->collation.collation == r->collation.collation); + /* elements must be compared as dates */ + (Arg_comparator::can_compare_as_dates(l, r, 0) || + /* or of the same result type */ + (r->result_type() == l->result_type() && + /* and must have the same collation if compared as strings */ + (l->result_type() != STRING_RESULT || + l->collation.collation == r->collation.collation))); } /* diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index d64ec08a71d..dffd7517e78 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -8852,12 +8852,14 @@ static void test_ts() mysql_free_result(prep_res); mysql_stmt_close(stmt); - + char queries [3][60]= {"SELECT a, b, c FROM test_ts WHERE %c=?", + "SELECT a, b, c FROM test_ts WHERE %c=?", + "SELECT a, b, c FROM test_ts WHERE %c=CAST(? AS DATE)"}; for (name= 'a'; field_count--; name++) { int row_count= 0; - sprintf(query, "SELECT a, b, c FROM test_ts WHERE %c=?", name); + sprintf(query, queries[field_count], name); if (!opt_silent) fprintf(stdout, "\n %s", query); From 7a1c61efb6341b049a328da0a4d1539e67bb05c5 Mon Sep 17 00:00:00 2001 From: "evgen@moonbone.local" <> Date: Fri, 27 Apr 2007 00:40:35 +0400 Subject: [PATCH 081/144] Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function. The BETWEEN function was comparing DATE/DATETIME values either as ints or as strings. Both methods have their disadvantages and may lead to a wrong result. Now BETWEEN function checks whether all of its arguments has the STRING result types and at least one of them is a DATE/DATETIME item. If so it sets up two Arg_comparator obects to compare with the compare_datetime() comparator and uses them to compare such items. Added two Arg_comparator object members and one flag to the Item_func_between class for the correct DATE/DATETIME comparison. The Item_func_between::fix_length_and_dec() function now detects whether it's used for DATE/DATETIME comparison and sets up newly added Arg_comparator objects to do this. The Item_func_between::val_int() now uses Arg_comparator objects to perform correct DATE/DATETIME comparison. The owner variable of the Arg_comparator class now can be set to NULL if the caller wants to handle NULL values by itself. Now the Item_date_add_interval::get_date() function ajusts cached_field type according to the detected type. --- mysql-test/r/query_cache.result | 12 ++--- mysql-test/r/type_datetime.result | 35 ++++++++++++ mysql-test/t/type_datetime.test | 19 +++++++ sql/item_cmpfunc.cc | 90 +++++++++++++++++++++++-------- sql/item_cmpfunc.h | 7 ++- sql/item_timefunc.cc | 21 ++++++++ 6 files changed, 151 insertions(+), 33 deletions(-) diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index d77745176f7..151ddd95f84 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -945,25 +945,19 @@ COUNT(*) 0 Warnings: Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1 -Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1 -Warning 1292 Truncated incorrect INTEGER value: '20050327 invalid' -Warning 1292 Truncated incorrect INTEGER value: '20050327 invalid' +Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 0 SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050328 invalid'; COUNT(*) 0 Warnings: Warning 1292 Incorrect datetime value: '20050328 invalid' for column 'date' at row 1 -Warning 1292 Incorrect datetime value: '20050328 invalid' for column 'date' at row 1 -Warning 1292 Truncated incorrect INTEGER value: '20050328 invalid' -Warning 1292 Truncated incorrect INTEGER value: '20050328 invalid' +Warning 1292 Incorrect datetime value: '20050328 invalid' for column 'date' at row 0 SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 invalid'; COUNT(*) 0 Warnings: Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1 -Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1 -Warning 1292 Truncated incorrect INTEGER value: '20050327 invalid' -Warning 1292 Truncated incorrect INTEGER value: '20050327 invalid' +Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 0 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index 42f97a6d53b..f5ff3369c8b 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -231,3 +231,38 @@ f1 f2 UNIX_TIMESTAMP(f2) UNIX_TIMESTAMP(f1) f1 > f2 f1 = f2 f1 < f2 2001-04-15 2001-04-15 00:00:00 987282000 987282000 0 1 0 2001-05-20 2001-05-20 01:01:01 990309661 990306000 0 0 1 drop table t1; +create table t1 (f1 date, f2 datetime, f3 timestamp); +insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01'); +insert into t1 values('2001-02-05','2001-02-05 00:00:00','2001-02-05 01:01:01'); +insert into t1 values('2001-03-10','2001-03-09 01:01:01','2001-03-10 01:01:01'); +insert into t1 values('2001-04-15','2001-04-15 00:00:00','2001-04-15 00:00:00'); +insert into t1 values('2001-05-20','2001-05-20 01:01:01','2001-05-20 01:01:01'); +select f2 from t1 where f2 between '2001-2-5' and '01-04-14'; +f2 +2001-02-05 00:00:00 +2001-03-09 01:01:01 +select f1, f2, f3 from t1 where f1 between f2 and f3; +f1 f2 f3 +2001-02-05 2001-02-05 00:00:00 2001-02-05 01:01:01 +2001-03-10 2001-03-09 01:01:01 2001-03-10 01:01:01 +2001-04-15 2001-04-15 00:00:00 2001-04-15 00:00:00 +select f1, f2, f3 from t1 where cast(f1 as datetime) between f2 and +cast(f3 as date); +f1 f2 f3 +2001-02-05 2001-02-05 00:00:00 2001-02-05 01:01:01 +2001-03-10 2001-03-09 01:01:01 2001-03-10 01:01:01 +2001-04-15 2001-04-15 00:00:00 2001-04-15 00:00:00 +select f2 from t1 where '2001-04-10 12:34:56' between f2 and '01-05-01'; +f2 +2001-01-01 01:01:01 +2001-02-05 00:00:00 +2001-03-09 01:01:01 +select f2, f3 from t1 where '01-03-10' between f2 and f3; +f2 f3 +2001-03-09 01:01:01 2001-03-10 01:01:01 +select f2 from t1 where DATE(f2) between "2001-4-15" AND "01-4-15"; +f2 +2001-04-15 00:00:00 +SELECT 1 from dual where NOW() BETWEEN CURRENT_DATE() - INTERVAL 1 DAY AND CURRENT_DATE(); +1 +drop table t1; diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index 69a19f45411..2c38b3ea9e3 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -161,3 +161,22 @@ select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), f1 > f2, f1 = f2, f1 < f2 from t1; drop table t1; + +# +# Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function. +# +create table t1 (f1 date, f2 datetime, f3 timestamp); +insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01'); +insert into t1 values('2001-02-05','2001-02-05 00:00:00','2001-02-05 01:01:01'); +insert into t1 values('2001-03-10','2001-03-09 01:01:01','2001-03-10 01:01:01'); +insert into t1 values('2001-04-15','2001-04-15 00:00:00','2001-04-15 00:00:00'); +insert into t1 values('2001-05-20','2001-05-20 01:01:01','2001-05-20 01:01:01'); +select f2 from t1 where f2 between '2001-2-5' and '01-04-14'; +select f1, f2, f3 from t1 where f1 between f2 and f3; +select f1, f2, f3 from t1 where cast(f1 as datetime) between f2 and + cast(f3 as date); +select f2 from t1 where '2001-04-10 12:34:56' between f2 and '01-05-01'; +select f2, f3 from t1 where '01-03-10' between f2 and f3; +select f2 from t1 where DATE(f2) between "2001-4-15" AND "01-4-15"; +SELECT 1 from dual where NOW() BETWEEN CURRENT_DATE() - INTERVAL 1 DAY AND CURRENT_DATE(); +drop table t1; diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index b52a320abbf..8d38b71ca4d 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -692,7 +692,7 @@ int Arg_comparator::set_cmp_func(Item_bool_func2 *owner_arg, b= (Item **)&b_cache; } } - is_nulls_eq= owner->functype() == Item_func::EQUAL_FUNC; + is_nulls_eq= test(owner && owner->functype() == Item_func::EQUAL_FUNC); func= &Arg_comparator::compare_datetime; return 0; } @@ -700,6 +700,21 @@ int Arg_comparator::set_cmp_func(Item_bool_func2 *owner_arg, } +void Arg_comparator::set_datetime_cmp_func(Item **a1, Item **b1) +{ + thd= current_thd; + /* A caller will handle null values by itself. */ + owner= NULL; + a= a1; + b= b1; + a_type= (*a)->field_type(); + b_type= (*b)->field_type(); + a_cache= 0; + b_cache= 0; + is_nulls_eq= FALSE; + func= &Arg_comparator::compare_datetime; +} + /* Retrieves correct DATETIME value from given item. @@ -807,7 +822,8 @@ int Arg_comparator::compare_datetime() a_value= get_datetime_value(thd, &a, &a_cache, *b, &is_null); if (!is_nulls_eq && is_null) { - owner->null_value= 1; + if (owner) + owner->null_value= 1; return -1; } @@ -815,11 +831,13 @@ int Arg_comparator::compare_datetime() b_value= get_datetime_value(thd, &b, &b_cache, *a, &is_null); if (is_null) { - owner->null_value= is_nulls_eq ? 0 : 1; + if (owner) + owner->null_value= is_nulls_eq ? 0 : 1; return is_nulls_eq ? 1 : -1; } - owner->null_value= 0; + if (owner) + owner->null_value= 0; /* Compare values. */ if (is_nulls_eq) @@ -1674,8 +1692,11 @@ bool Item_func_between::fix_fields(THD *thd, Item **ref) void Item_func_between::fix_length_and_dec() { - max_length= 1; - THD *thd= current_thd; + max_length= 1; + THD *thd= current_thd; + int i; + bool datetime_found= FALSE; + compare_as_dates= TRUE; /* As some compare functions are generated after sql_yacc, @@ -1690,26 +1711,29 @@ void Item_func_between::fix_length_and_dec() return; /* - Make a special case of compare with date/time and longlong fields. - They are compared as integers, so for const item this time-consuming - conversion can be done only once, not for every single comparison + Detect the comparison of DATE/DATETIME items. + At least one of items should be a DATE/DATETIME item and other items + should return the STRING result. */ - if (args[0]->real_item()->type() == FIELD_ITEM && - thd->lex->sql_command != SQLCOM_CREATE_VIEW && - thd->lex->sql_command != SQLCOM_SHOW_CREATE) + for (i= 0; i < 3; i++) { - Field *field=((Item_field*) (args[0]->real_item()))->field; - if (field->can_be_compared_as_longlong()) + if (args[i]->is_datetime()) { - /* - The following can't be recoded with || as convert_constant_item - changes the argument - */ - if (convert_constant_item(thd, field,&args[1])) - cmp_type=INT_RESULT; // Works for all types. - if (convert_constant_item(thd, field,&args[2])) - cmp_type=INT_RESULT; // Works for all types. + datetime_found= TRUE; + continue; } + if (args[i]->result_type() == STRING_RESULT) + continue; + compare_as_dates= FALSE; + break; + } + if (!datetime_found) + compare_as_dates= FALSE; + + if (compare_as_dates) + { + ge_cmp.set_datetime_cmp_func(args, args + 1); + le_cmp.set_datetime_cmp_func(args, args + 2); } } @@ -1717,7 +1741,27 @@ void Item_func_between::fix_length_and_dec() longlong Item_func_between::val_int() { // ANSI BETWEEN DBUG_ASSERT(fixed == 1); - if (cmp_type == STRING_RESULT) + if (compare_as_dates) + { + int ge_res, le_res; + + ge_res= ge_cmp.compare(); + if ((null_value= args[0]->null_value)) + return 0; + le_res= le_cmp.compare(); + + if (!args[1]->null_value && !args[2]->null_value) + return (longlong) ((ge_res >= 0 && le_res <=0) != negated); + else if (args[1]->null_value) + { + null_value= le_res > 0; // not null if false range. + } + else + { + null_value= ge_res < 0; + } + } + else if (cmp_type == STRING_RESULT) { String *value,*a,*b; value=args[0]->val_str(&value0); diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 6318c7444de..761ca90d0a7 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -91,6 +91,7 @@ public: static enum enum_date_cmp_type can_compare_as_dates(Item *a, Item *b, ulonglong *const_val_arg); + void set_datetime_cmp_func(Item **a1, Item **b1); static arg_cmp_func comparator_matrix [5][2]; friend class Item_func; @@ -579,8 +580,12 @@ class Item_func_between :public Item_func_opt_neg public: Item_result cmp_type; String value0,value1,value2; + /* TRUE <=> arguments will be compared as dates. */ + bool compare_as_dates; + /* Comparators used for DATE/DATETIME comparison. */ + Arg_comparator ge_cmp, le_cmp; Item_func_between(Item *a, Item *b, Item *c) - :Item_func_opt_neg(a, b, c) {} + :Item_func_opt_neg(a, b, c), compare_as_dates(FALSE) {} longlong val_int(); optimize_type select_optimize() const { return OPTIMIZE_KEY; } enum Functype functype() const { return BETWEEN; } diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index 683cd8803d6..194fb6445fa 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -2173,6 +2173,27 @@ bool Item_date_add_interval::get_date(TIME *ltime, uint fuzzy_date) default: goto null_date; } + + /* Adjust cached_field_type according to the detected type. */ + if (cached_field_type == MYSQL_TYPE_STRING) + { + switch (ltime->time_type) + { + case MYSQL_TIMESTAMP_DATE: + cached_field_type= MYSQL_TYPE_DATE; + break; + case MYSQL_TIMESTAMP_DATETIME: + cached_field_type= MYSQL_TYPE_DATETIME; + break; + case MYSQL_TIMESTAMP_TIME: + cached_field_type= MYSQL_TYPE_TIME; + break; + default: + /* Shouldn't get here. */ + DBUG_ASSERT(0); + break; + } + } return 0; // Ok invalid_date: From 9e9df36d8e30c047ef8cd5c74623d5de16462fd9 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Thu, 26 Apr 2007 22:49:58 +0200 Subject: [PATCH 082/144] BUG#25741 AllocNodeIdRef::NodeFailureHandlingNotCompleted --- storage/ndb/src/mgmsrv/MgmtSrvr.cpp | 3 ++- storage/ndb/src/ndbapi/ndberror.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp index 34f4927f804..f377e78bb5f 100644 --- a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp +++ b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp @@ -2127,7 +2127,8 @@ MgmtSrvr::alloc_node_id_req(NodeId free_node_id, enum ndb_mgm_node_type type) const AllocNodeIdRef * const ref = CAST_CONSTPTR(AllocNodeIdRef, signal->getDataPtr()); if (ref->errorCode == AllocNodeIdRef::NotMaster || - ref->errorCode == AllocNodeIdRef::Busy) + ref->errorCode == AllocNodeIdRef::Busy || + ref->errorCode == AllocNodeIdRef::NodeFailureHandlingNotCompleted) { do_send = 1; nodeId = refToNode(ref->masterRef); diff --git a/storage/ndb/src/ndbapi/ndberror.c b/storage/ndb/src/ndbapi/ndberror.c index ed3829ed74f..fc0d53b6a6e 100644 --- a/storage/ndb/src/ndbapi/ndberror.c +++ b/storage/ndb/src/ndbapi/ndberror.c @@ -470,7 +470,7 @@ ErrorBundle ErrorCodes[] = { { 1700, DMEC, IE, "Undefined error" }, { 1701, DMEC, AE, "Node already reserved" }, { 1702, DMEC, AE, "Node already connected" }, - { 1703, DMEC, AE, "Node failure handling not completed" }, + { 1703, DMEC, IT, "Node failure handling not completed" }, { 1704, DMEC, AE, "Node type mismatch" }, /** From 70a742f8171cb6f0a8a23d84edbbe390364b7872 Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Fri, 27 Apr 2007 00:35:09 +0200 Subject: [PATCH 083/144] mysql_install_db.sh: Fix algorithm for finding pkgdata directory --- scripts/mysql_install_db.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index f90e99ec468..934d245db15 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -154,6 +154,7 @@ else if test -f $i/$fill_help_tables then pkgdatadir=$i + break fi done From 9b41ce38ef0708b9ba026ba20cc1fdd5ca8bff8e Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 27 Apr 2007 12:11:29 +0200 Subject: [PATCH 084/144] Bug #25741 Unable to allocate node id during restarting data node - add additional sleep so that we don't get 100% cpu usage retrying saomething that can take some time before succeeding --- storage/ndb/src/mgmsrv/MgmtSrvr.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp index 2e9f16a5bd4..dde6829c82c 100644 --- a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp +++ b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp @@ -2167,6 +2167,11 @@ MgmtSrvr::alloc_node_id_req(NodeId free_node_id, enum ndb_mgm_node_type type) nodeId = refToNode(ref->masterRef); if (!theFacade->get_node_alive(nodeId)) nodeId = 0; + if (ref->errorCode != AllocNodeIdRef::NotMaster) + { + /* sleep for a while (100ms) before retrying */ + NdbSleep_MilliSleep(100); + } continue; } return ref->errorCode; From e2dea46a7c6b53753b11fec80ecd653aa5314039 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 27 Apr 2007 12:21:23 +0200 Subject: [PATCH 085/144] Bug#25431, Adding index to table with BLOB is not done on-line add a new method is_equal in class Field_blob to compare BLOB field when alter table --- sql/field.cc | 30 +++++++++++++++++++++++++----- sql/field.h | 2 ++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/sql/field.cc b/sql/field.cc index 82f8283ba56..0225e24b195 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -6099,13 +6099,21 @@ uint Field::is_equal(create_field *new_field) } +/* If one of the fields is binary and the other one isn't return 1 else 0 */ + +bool Field_str::compare_str_field_flags(create_field *new_field, uint32 flags) +{ + return (((new_field->flags & (BINCMP_FLAG | BINARY_FLAG)) && + !(flags & (BINCMP_FLAG | BINARY_FLAG))) || + (!(new_field->flags & (BINCMP_FLAG | BINARY_FLAG)) && + (flags & (BINCMP_FLAG | BINARY_FLAG)))); +} + + uint Field_str::is_equal(create_field *new_field) { - if (((new_field->flags & (BINCMP_FLAG | BINARY_FLAG)) && - !(flags & (BINCMP_FLAG | BINARY_FLAG))) || - (!(new_field->flags & (BINCMP_FLAG | BINARY_FLAG)) && - (flags & (BINCMP_FLAG | BINARY_FLAG)))) - return 0; /* One of the fields is binary and the other one isn't */ + if (compare_str_field_flags(new_field, flags)) + return 0; return ((new_field->sql_type == real_type()) && new_field->charset == field_charset && @@ -7611,6 +7619,18 @@ uint Field_blob::max_packed_col_length(uint max_length) } +uint Field_blob::is_equal(create_field *new_field) +{ + if (compare_str_field_flags(new_field, flags)) + return 0; + + return ((new_field->sql_type == get_blob_type_from_length(max_data_length())) + && new_field->charset == field_charset && + ((Field_blob *)new_field->field)->max_data_length() == + max_data_length()); +} + + #ifdef HAVE_SPATIAL void Field_geom::get_key_image(char *buff, uint length, imagetype type_arg) diff --git a/sql/field.h b/sql/field.h index 441ff9079c1..8df52abffd4 100644 --- a/sql/field.h +++ b/sql/field.h @@ -476,6 +476,7 @@ public: friend class create_field; my_decimal *val_decimal(my_decimal *); virtual bool str_needs_quotes() { return TRUE; } + bool compare_str_field_flags(create_field *new_field, uint32 flags); uint is_equal(create_field *new_field); }; @@ -1328,6 +1329,7 @@ public: bool has_charset(void) const { return charset() == &my_charset_bin ? FALSE : TRUE; } uint32 max_display_length(); + uint is_equal(create_field *new_field); }; From cfd4183e5e30ef787e993067fa01bd155d9ed1a9 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 27 Apr 2007 12:23:40 +0200 Subject: [PATCH 086/144] Bug#24951, Data nodes died(lgman) during creating tables --- storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp | 8 ++++++-- storage/ndb/src/kernel/blocks/lgman.cpp | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp index 29fa430a66e..9fdfccc8845 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp @@ -599,8 +599,12 @@ void Dbtup::execTUP_ADD_ATTRREQ(Signal* signal) Uint32 sz= sizeof(Disk_undo::Create) >> 2; Logfile_client lgman(this, c_lgman, regFragPtr.p->m_logfile_group_id); - (void) c_lgman->alloc_log_space(regFragPtr.p->m_logfile_group_id, - sz); + if((terrorCode = + c_lgman->alloc_log_space(regFragPtr.p->m_logfile_group_id, sz))) + { + addattrrefuseLab(signal, regFragPtr, fragOperPtr, regTabPtr.p, fragId); + return; + } int res= lgman.get_log_buffer(signal, sz, &cb); switch(res){ diff --git a/storage/ndb/src/kernel/blocks/lgman.cpp b/storage/ndb/src/kernel/blocks/lgman.cpp index 82fed94f62e..481530cf3e8 100644 --- a/storage/ndb/src/kernel/blocks/lgman.cpp +++ b/storage/ndb/src/kernel/blocks/lgman.cpp @@ -1961,6 +1961,11 @@ Lgman::alloc_log_space(Uint32 ref, Uint32 words) if(m_logfile_group_hash.find(ptr, key) && ptr.p->m_free_file_words >= (words + (4 * File_formats::UNDO_PAGE_WORDS))) { + Uint32 group_pages = + ((ptr.p->m_free_file_words + File_formats::UNDO_PAGE_WORDS - 1)/ File_formats::UNDO_PAGE_WORDS); + if(group_pages > compute_free_file_pages(ptr)) + return 1501; + ptr.p->m_free_file_words -= words; validate_logfile_group(ptr, "alloc_log_space"); return 0; From f53e1929a2919db302fc2677e3cb4625592e6bbb Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 27 Apr 2007 12:26:13 +0200 Subject: [PATCH 087/144] Bug#24560 Data nodes died(lgman) if undo_buffer_size from logfile group has small value --- storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp index 13ecd230f8c..66cd523f333 100644 --- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp +++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp @@ -18,6 +18,7 @@ #define DBDICT_C #include "Dbdict.hpp" +#include "diskpage.hpp" #include #include @@ -15498,7 +15499,10 @@ Dbdict::create_fg_prepare_start(Signal* signal, SchemaOp* op){ } else if(fg.FilegroupType == DictTabInfo::LogfileGroup) { - if(!fg.LF_UndoBufferSize) + /** + * undo_buffer_size can't be less than 96KB in LGMAN block + */ + if(fg.LF_UndoBufferSize < 3 * File_formats::NDB_PAGE_SIZE) { op->m_errorCode = CreateFilegroupRef::InvalidUndoBufferSize; break; From 10be9bf531ae2c9247a63b8023b011eb359baaf3 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 27 Apr 2007 13:50:33 +0200 Subject: [PATCH 088/144] Bug#24951, Data nodes died(lgman) during creating tables - reverting wrong part in patch --- storage/ndb/src/kernel/blocks/lgman.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/storage/ndb/src/kernel/blocks/lgman.cpp b/storage/ndb/src/kernel/blocks/lgman.cpp index 481530cf3e8..82fed94f62e 100644 --- a/storage/ndb/src/kernel/blocks/lgman.cpp +++ b/storage/ndb/src/kernel/blocks/lgman.cpp @@ -1961,11 +1961,6 @@ Lgman::alloc_log_space(Uint32 ref, Uint32 words) if(m_logfile_group_hash.find(ptr, key) && ptr.p->m_free_file_words >= (words + (4 * File_formats::UNDO_PAGE_WORDS))) { - Uint32 group_pages = - ((ptr.p->m_free_file_words + File_formats::UNDO_PAGE_WORDS - 1)/ File_formats::UNDO_PAGE_WORDS); - if(group_pages > compute_free_file_pages(ptr)) - return 1501; - ptr.p->m_free_file_words -= words; validate_logfile_group(ptr, "alloc_log_space"); return 0; From d424f0d890c854c6ada0d6ee289d41fc5f4d0711 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 27 Apr 2007 21:00:21 +0200 Subject: [PATCH 089/144] ndb: missing init and copy of m_force_var_part --- storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp index d19ab74228a..c9b25189b6e 100644 --- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp +++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp @@ -459,6 +459,7 @@ NdbTableImpl::init(){ m_temporary = false; m_row_gci = true; m_row_checksum = true; + m_force_var_part = false; m_kvalue= 6; m_minLoadFactor= 78; m_maxLoadFactor= 80; @@ -725,6 +726,7 @@ NdbTableImpl::assign(const NdbTableImpl& org) m_temporary = org.m_temporary; m_row_gci = org.m_row_gci; m_row_checksum = org.m_row_checksum; + m_force_var_part = org.m_force_var_part; m_kvalue = org.m_kvalue; m_minLoadFactor = org.m_minLoadFactor; m_maxLoadFactor = org.m_maxLoadFactor; From 4b5c387f5df7939c408f647c4b1d456a2f22aa8a Mon Sep 17 00:00:00 2001 From: "evgen@sunlight.local" <> Date: Sat, 28 Apr 2007 00:04:50 +0400 Subject: [PATCH 090/144] Additional fix for the bug#27590. --- mysql-test/r/ps_6bdb.result | 4 ++-- mysql-test/r/ps_7ndb.result | 4 ++-- sql/item_cmpfunc.cc | 4 ++-- tests/mysql_client_test.c | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mysql-test/r/ps_6bdb.result b/mysql-test/r/ps_6bdb.result index e83a3944d4e..407dddb6f53 100644 --- a/mysql-test/r/ps_6bdb.result +++ b/mysql-test/r/ps_6bdb.result @@ -3053,7 +3053,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -3066,7 +3066,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/mysql-test/r/ps_7ndb.result b/mysql-test/r/ps_7ndb.result index e8358098ee7..2673448489a 100644 --- a/mysql-test/r/ps_7ndb.result +++ b/mysql-test/r/ps_7ndb.result @@ -3053,7 +3053,7 @@ found true set @arg00= CAST('1991-01-01 01:01:01' as datetime) ; select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and @@ -3066,7 +3066,7 @@ and c17= @arg00 ; found true prepare stmt1 from "select 'true' as found from t9 -where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and +where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and c14= CAST('1991-01-01 01:01:01' as datetime) and c15= CAST('1991-01-01 01:01:01' as datetime) and c16= CAST('1991-01-01 01:01:01' as datetime) and diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 8d38b71ca4d..169c017c914 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -544,7 +544,7 @@ static ulonglong get_date_from_str(THD *thd, String *str, timestamp_type warn_type, char *warn_name, bool *error_arg) { - ulonglong value; + ulonglong value= 0; int error; MYSQL_TIME l_time; enum_mysql_timestamp_type ret; @@ -748,7 +748,7 @@ static ulonglong get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, Item *warn_item, bool *is_null) { - ulonglong value; + ulonglong value= 0; String buf, *str= 0; Item *item= **item_arg; diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index dffd7517e78..3f0c24aa28a 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -8785,7 +8785,9 @@ static void test_ts() int rc, field_count; char name; char query[MAX_TEST_QUERY_LENGTH]; - + const char *queries [3]= {"SELECT a, b, c FROM test_ts WHERE %c=?", + "SELECT a, b, c FROM test_ts WHERE %c=?", + "SELECT a, b, c FROM test_ts WHERE %c=CAST(? AS DATE)"}; myheader("test_ts"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_ts"); @@ -8852,9 +8854,7 @@ static void test_ts() mysql_free_result(prep_res); mysql_stmt_close(stmt); - char queries [3][60]= {"SELECT a, b, c FROM test_ts WHERE %c=?", - "SELECT a, b, c FROM test_ts WHERE %c=?", - "SELECT a, b, c FROM test_ts WHERE %c=CAST(? AS DATE)"}; + for (name= 'a'; field_count--; name++) { int row_count= 0; From b90b0c7eb28993ca1abe5e288702efb309ba27a2 Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Sat, 28 Apr 2007 01:27:54 +0200 Subject: [PATCH 091/144] Bug #27390: mysqld_multi --config-file= not working as documented Recognize the --no-defaults, --defaults-file and --defaults-extra-file options. Treat old --config-file argument as if --defaults-extra-file had been specified instead. Plus a few other defaults-related cleanups. --- extra/my_print_defaults.c | 23 ++- mysys/default.c | 2 +- scripts/mysqld_multi.sh | 318 ++++++++++++++++---------------------- 3 files changed, 149 insertions(+), 194 deletions(-) diff --git a/extra/my_print_defaults.c b/extra/my_print_defaults.c index eb077f91ece..f5f7e68c9e6 100644 --- a/extra/my_print_defaults.c +++ b/extra/my_print_defaults.c @@ -33,7 +33,20 @@ const char *default_dbug_option="d:t:o,/tmp/my_print_defaults.trace"; static struct my_option my_long_options[] = { - {"config-file", 'c', "The config file to be used.", + /* + NB: --config-file is troublesome, because get_defaults_options() doesn't + know about it, but we pretend --config-file is like --defaults-file. In + fact they behave differently: see the comments at the top of + mysys/default.c for how --defaults-file should behave. + + This --config-file option behaves as: + - If it has a directory name part (absolute or relative), then only this + file is read; no error is given if the file doesn't exist + - If the file has no directory name part, the standard locations are + searched for a file of this name (and standard filename extensions are + added if the file has no extension) + */ + {"config-file", 'c', "Deprecated, please use --defaults-file instead. Name of config file to read; if no extension is given, default extension (e.g., .ini or .cnf) will be added", (gptr*) &config_file, (gptr*) &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #ifdef DBUG_OFF @@ -43,11 +56,11 @@ static struct my_option my_long_options[] = {"debug", '#', "Output debug log", (gptr*) &default_dbug_option, (gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, #endif - {"defaults-file", 'c', "Synonym for --config-file.", + {"defaults-file", 'c', "Like --config-file, except: if first option, then read this file only, do not read global or per-user config files; should be the first option", (gptr*) &config_file, (gptr*) &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"defaults-extra-file", 'e', - "Read this file after the global /etc config file and before the config file in the users home directory.", + "Read this file after the global config file and before the config file in the users home directory; should be the first option", (gptr*) &my_defaults_extra_file, (gptr*) &my_defaults_extra_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"defaults-group-suffix", 'g', @@ -55,7 +68,7 @@ static struct my_option my_long_options[] = (gptr*) &my_defaults_group_suffix, (gptr*) &my_defaults_group_suffix, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"extra-file", 'e', - "Synonym for --defaults-extra-file.", + "Deprecated. Synonym for --defaults-extra-file.", (gptr*) &my_defaults_extra_file, (gptr*) &my_defaults_extra_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -86,7 +99,7 @@ static void usage(my_bool version) my_print_help(my_long_options); my_print_default_files(config_file); my_print_variables(my_long_options); - printf("\nExample usage:\n%s --config-file=my client mysql\n", my_progname); + printf("\nExample usage:\n%s --defaults-file=example.cnf client mysql\n", my_progname); } #include diff --git a/mysys/default.c b/mysys/default.c index dc1c5a698b8..aff38b6af0b 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -877,8 +877,8 @@ void my_print_default_files(const char *conf_file) fputs(name,stdout); } } - puts(""); } + puts(""); } void print_defaults(const char *conf_file, const char **groups) diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index a664bcfd3ad..92cfbe3ef22 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -4,9 +4,10 @@ use Getopt::Long; use POSIX qw(strftime); $|=1; -$VER="2.15"; +$VER="2.16"; + +my @defaults_options; # Leading --no-defaults, --defaults-file, etc. -$opt_config_file = undef(); $opt_example = 0; $opt_help = 0; $opt_log = undef(); @@ -49,54 +50,52 @@ sub main print "MySQL distribution.\n"; $my_print_defaults_exists= 0; } - if ($my_print_defaults_exists) + + # Remove leading defaults options from @ARGV + while (@ARGV > 0) { - foreach my $arg (@ARGV) - { - if ($arg =~ m/^--config-file=(.*)/) - { - if (!length($1)) - { - die "Option config-file requires an argument\n"; - } - elsif (!( -e $1 && -r $1)) - { - die "Option file '$1' doesn't exists, or is not readable\n"; - } - else - { - $opt_config_file= $1; - if (!($opt_config_file =~ m/\//)) - { - # No path. Use current working directory - $opt_config_file= "./" . $opt_config_file; - } - } - } - } - my $com= "my_print_defaults "; - $com.= "--config-file=$opt_config_file " if (defined($opt_config_file)); - $com.= "mysqld_multi"; - my @defops = `$com`; - chop @defops; - splice @ARGV, 0, 0, @defops; + last unless $ARGV[0] =~ + /^--(?:no-defaults$|(?:defaults-file|defaults-extra-file)=)/; + push @defaults_options, (shift @ARGV); } - if (!GetOptions("help","example","version","mysqld=s","mysqladmin=s", - "config-file=s","user=s","password=s","log=s","no-log", - "tcp-ip", "silent","verbose")) + + # Handle deprecated --config-file option: convert to --defaults-extra-file + foreach my $arg (@ARGV) + { + if ($arg =~ m/^--config-file=(.*)/) + { + # Put it at the beginning of the list, so it has lower precedence + # than a correct --defaults-extra-file option + + unshift @defaults_options, "--defaults-extra-file=$1"; + } + } + + foreach (@defaults_options) + { + $_ = quote_shell_word($_); + } + + # Add [mysqld_multi] options to front of @ARGV, ready for GetOptions() + unshift @ARGV, defaults_for_group('mysqld_multi'); + + # The --config-file option can be ignored; if passed on the command + # line, it's already handled; if specified in the configuration file, + # it's redundant and not useful + @ARGV= grep { not /^--config-file=/ } @ARGV; + + # We've already handled --no-defaults, --defaults-file, etc. + if (!GetOptions("help", "example", "version", "mysqld=s", "mysqladmin=s", + "user=s", "password=s", "log=s", "no-log", + "tcp-ip", "silent", "verbose")) { $flag_exit= 1; } - if (defined($opt_config_file) && !($opt_config_file =~ m/\//)) - { - # No path. Use current working directory - $opt_config_file= "./" . $opt_config_file; - } usage() if ($opt_help); if ($opt_verbose && $opt_silent) { - print "Both --verbose and --silent has been given. Some of the warnings "; + print "Both --verbose and --silent have been given. Some of the warnings "; print "will be disabled\nand some will be enabled.\n\n"; } @@ -168,51 +167,42 @@ sub main } } -#### -#### Quote option argument. Add double quotes around the argument -#### and escape the following: $, \, " -#### This function is needed, because my_print_defaults drops possible -#### quotes, single or double, from in front of an argument and from -#### the end. -#### +# +# Quote word for shell +# -sub quote_opt_arg +sub quote_shell_word { my ($option)= @_; - if ($option =~ m/(\-\-[a-zA-Z0-9\_\-]+)=(.*)/) - { - $option= $1; - $arg= $2; - $arg=~ s/\\/\\\\/g; # Escape escape character first to avoid doubling. - $arg=~ s/\$/\\\$/g; - $arg=~ s/\"/\\\"/g; - $arg= "\"" . $arg . "\""; - $option= $option . "=" . $arg; - } + $option =~ s!([^\w=./-])!\\$1!g; return $option; } +sub defaults_for_group +{ + my ($group) = @_; + + return () unless $my_print_defaults_exists; + + my $com= join ' ', 'my_print_defaults', @defaults_options, $group; + my @defaults = `$com`; + chomp @defaults; + return @defaults; +} + #### #### Init log file. Check for appropriate place for log file, in the following -#### order my_print_defaults mysqld datadir, @datadir@, /var/log, /tmp +#### order: my_print_defaults mysqld datadir, @datadir@ #### sub init_log { - if ($my_print_defaults_exists) + foreach my $opt (defaults_for_group('mysqld')) { - @mysqld_opts= `my_print_defaults mysqld`; - chomp @mysqld_opts; - foreach my $opt (@mysqld_opts) + if ($opt =~ m/^--datadir=(.*)/ && -d "$1" && -w "$1") { - if ($opt =~ m/^\-\-datadir[=](.*)/) - { - if (-d "$1" && -w "$1") - { - $logdir= $1; - } - } + $logdir= $1; } } if (!defined($logdir)) @@ -303,11 +293,7 @@ sub start_mysqlds() @groups = &find_groups($groupids); for ($i = 0; defined($groups[$i]); $i++) { - $com = "my_print_defaults"; - $com.= defined($opt_config_file) ? " --config-file=$opt_config_file" : ""; - $com.= " $groups[$i]"; - @options = `$com`; - chop @options; + @options = defaults_for_group($groups[$i]); $mysqld_found= 1; # The default $mysqld_found= 0 if (!length($mysqld)); @@ -326,7 +312,7 @@ sub start_mysqlds() } else { - $options[$j]= quote_opt_arg($options[$j]); + $options[$j]= quote_shell_word($options[$j]); $tmp.= " $options[$j]"; } } @@ -401,11 +387,7 @@ sub get_mysqladmin_options my ($i, @groups)= @_; my ($mysqladmin_found, $com, $tmp, $j); - $com = "my_print_defaults"; - $com.= defined($opt_config_file) ? " --config-file=$opt_config_file" : ""; - $com.= " $groups[$i]"; - @options = `$com`; - chop @options; + @options = defaults_for_group($groups[$i]); $mysqladmin_found= 1; # The default $mysqladmin_found= 0 if (!length($mysqladmin)); @@ -445,129 +427,81 @@ sub get_mysqladmin_options return $com; } -#### -#### Find groups. Takes the valid group numbers as an argument, parses -#### them, puts them in the ascending order, removes duplicates and -#### returns the wanted groups accordingly. -#### +# Return a list of option files which can be opened. Similar, but not +# identical, to behavior of my_search_option_files() +sub list_defaults_files +{ + my %opt; + foreach (@defaults_options) + { + return () if /^--no-defaults$/; + $opt{$1} = $2 if /^--defaults-(extra-file|file)=(.*)$/; + } + return ($opt{file}) if exists $opt{file}; + + my %seen; # Don't list the same file more than once + return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } + ('/etc/my.cnf', + '/etc/mysql/my.cnf', + '@sysconfdir@/my.cnf', + ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), + $opt{'extra-file'}, + ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); +} + + +# Takes a specification of GNRs (see --help), and returns a list of matching +# groups which actually are mentioned in a relevant config file sub find_groups { my ($raw_gids) = @_; - my (@groups, @data, @tmp, $line, $i, $k, @pre_gids, @gids, @tmp2, - $prev_value); - # Read the lines from the config file to variable 'data' - if (defined($opt_config_file)) - { - open(MY_CNF, "<$opt_config_file") && (@data=) && close(MY_CNF); - } - else - { - if (-f "@sysconfdir@/my.cnf" && -r "@sysconfdir@/my.cnf") - { - open(MY_CNF, "<@sysconfdir@/my.cnf") && (@tmp=) && close(MY_CNF); - } elsif (-f "/etc/my.cnf" && -r "/etc/my.cnf") - { - open(MY_CNF, ") && close(MY_CNF); - } - for ($i = 0; ($line = shift @tmp); $i++) - { - $data[$i] = $line; - } - if (-f "/etc/mysql/my.cnf" && -r "/etc/mysql/my.cnf") - { - open(MY_CNF, ") && close(MY_CNF); - } - for (; ($line = shift @tmp); $i++) - { - $data[$i] = $line; - } - if (defined($ENV{MYSQL_HOME}) && -f "$ENV{MYSQL_HOME}/my.cnf" && - -r "$ENV{MYSQL_HOME}/my.cnf") - { - open(MY_CNF, "<$ENV{MYSQL_HOME}/my.cnf") && (@tmp=) && - close(MY_CNF); - } - for (; ($line = shift @tmp); $i++) - { - $data[$i] = $line; - } - if (-f "$homedir/.my.cnf" && -r "$homedir/.my.cnf") - { - open(MY_CNF, "<$homedir/.my.cnf") && (@tmp=) && close(MY_CNF); - } - for (; ($line = shift @tmp); $i++) - { - $data[$i] = $line; - } - } - chomp @data; - # Make a list of the wanted group ids + my %gids; + my @groups; + if (defined($raw_gids)) { - @pre_gids = split(',', $raw_gids); - } - if (defined($raw_gids)) - { - for ($i = 0, $j = 0; defined($pre_gids[$i]); $i++) + # Make a hash of the wanted group ids + foreach my $raw_gid (split ',', $raw_gids) { - if ($pre_gids[$i] =~ m/^(\d+)$/) + # Match 123 or 123-456 + my ($start, $end) = ($raw_gid =~ /^\s*(\d+)(?:\s*-\s*(\d+))?\s*$/); + $end = $start if not defined $end; + if (not defined $start or $end < $start or $start < 0) { - $gids[$j] = $1; - $j++; + print "ABORT: Bad GNR: $raw_gid; see $my_progname --help\n"; + exit(1); } - elsif ($pre_gids[$i] =~ m/^(\d+)(\-)(\d+)$/) + + foreach my $i ($start .. $end) { - for ($k = $1; $k <= $3; $k++) - { - $gids[$j] = $k; - $j++; - } - } - else - { - print "ABORT: Bad GNR: $pre_gids[$i] See $my_progname --help\n"; - exit(1); + # Use $i + 0 to normalize numbers (002 + 0 -> 2) + $gids{$i + 0}= 1; } } } - # Sort the list of gids numerically in ascending order - @gids = sort {$a <=> $b} @gids; - # Remove non-positive integers and duplicates - for ($i = 0, $j = 0; defined($gids[$i]); $i++) + + my @defaults_files = list_defaults_files(); + #warn "@{[sort keys %gids]} -> @defaults_files\n"; + foreach my $file (@defaults_files) { - next if ($gids[$i] <= 0); - if (!$i || $prev_value != $gids[$i]) + next unless open CONF, "< $file"; + + while () { - $tmp2[$j] = $gids[$i]; - $j++; - } - $prev_value = $gids[$i]; - } - @gids = @tmp2; - # Find and return the wanted groups - for ($i = 0, $j = 0; defined($data[$i]); $i++) - { - if ($data[$i] =~ m/^(\s*\[\s*)(mysqld)(\d+)(\s*\]\s*)$/) - { - if (defined($raw_gids)) + if (/^\s*\[\s*(mysqld)(\d+)\s*\]\s*$/) { - for ($k = 0; defined($gids[$k]); $k++) - { - if ($gids[$k] == $3) - { - $groups[$j] = $2 . $3; - $j++; - } - } - } - else - { - $groups[$j] = $2 . $3; - $j++; + #warn "Found a group: $1$2\n"; + # Use $2 + 0 to normalize numbers (002 + 0 -> 2) + if (not defined($raw_gids) or $gids{$2 + 0}) + { + push @groups, "$1$2"; + } } } + + close CONF; } return @groups; } @@ -806,8 +740,16 @@ groups found will either be started, stopped, or reported. Note that syntax for specifying GNRs must appear without spaces. Options: ---config-file=... Alternative config file. - Using: $opt_config_file + +These options must be given before any others: +--no-defaults Do not read any defaults file +--defaults-file=... Read only this configuration file, do not read the + standard system-wide and user-specific files +--defaults-extra-file=... Read this configuration file in addition to the + standard system-wide and user-specific files +Using: @{[join ' ', @defaults_options]} + +--config-file=... Deprecated, please use --defaults-extra-file instead --example Give an example of a config file with extra information. --help Print this help and exit. --log=... Log file. Full path to and the name for the log file. NOTE: From 5d7a264cf47860b153eb3ec62a2b071a84a04e65 Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Sat, 28 Apr 2007 10:13:27 +0200 Subject: [PATCH 092/144] mtr_report.pl: this has been driving me crazy: s/where/were/ in some messages --- mysql-test/lib/mtr_report.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl index a2f22ef8870..d08208d37a6 100644 --- a/mysql-test/lib/mtr_report.pl +++ b/mysql-test/lib/mtr_report.pl @@ -238,7 +238,7 @@ sub mtr_report_stats ($) { } if (!$::opt_extern) { - print "The servers where restarted $tot_restarts times\n"; + print "The servers were restarted $tot_restarts times\n"; } if ( $::opt_timer ) @@ -357,7 +357,7 @@ sub mtr_report_stats ($) { if ( $tot_failed != 0 || $found_problems) { - mtr_error("there where failing test cases"); + mtr_error("there were failing test cases"); } } From 050c6723e81bc443d708e1a02730ed971d5c9be6 Mon Sep 17 00:00:00 2001 From: "kaa@polly.local" <> Date: Sat, 28 Apr 2007 20:01:01 +0400 Subject: [PATCH 093/144] Fix for bug #24912 "problems with bigint in abs() ceiling() round() truncate() mod()" and a number of related problems: - unsigned flag was not handled correctly for a number of mathematical funcions, which led to incorrect results - passing large values as the number of decimals to ROUND() resulted in incorrect results and even server crashes in some cases - reverted the fix and the testcase for bug #10083 as it violates the manual - fixed some testcases which relied on broken ROUND() behavior --- mysql-test/r/bdb_notembedded.result | 35 +++++++++ mysql-test/r/func_math.result | 95 +++++++++++++++++++++-- mysql-test/r/type_newdecimal.result | 2 +- mysql-test/t/bdb_notembedded.test | 38 +++++++++ mysql-test/t/func_math.test | 39 ++++++++-- sql/item_func.cc | 115 +++++++++++++++++++--------- sql/item_func.h | 8 +- sql/item_strfunc.cc | 2 +- sql/mysql_priv.h | 3 +- 9 files changed, 280 insertions(+), 57 deletions(-) create mode 100644 mysql-test/r/bdb_notembedded.result create mode 100644 mysql-test/t/bdb_notembedded.test diff --git a/mysql-test/r/bdb_notembedded.result b/mysql-test/r/bdb_notembedded.result new file mode 100644 index 00000000000..14cb5fad915 --- /dev/null +++ b/mysql-test/r/bdb_notembedded.result @@ -0,0 +1,35 @@ +set autocommit=1; +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; insert into bug16206 values(2) +drop table bug16206; +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +show binlog events; +Log_name Pos Event_type Server_id End_log_pos Info +f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 +f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb +f n Query 1 n use `test`; insert into bug16206 values(0) +f n Query 1 n use `test`; insert into bug16206 values(1) +f n Query 1 n use `test`; BEGIN +f n Query 1 n use `test`; insert into bug16206 values(2) +f n Query 1 n use `test`; COMMIT +f n Query 1 n use `test`; insert into bug16206 values(3) +drop table bug16206; +set autocommit=0; +End of 5.0 tests diff --git a/mysql-test/r/func_math.result b/mysql-test/r/func_math.result index fc9bfb3b612..ace94217fdc 100644 --- a/mysql-test/r/func_math.result +++ b/mysql-test/r/func_math.result @@ -143,9 +143,6 @@ select format(col2,6) from t1 where col1=7; format(col2,6) 1,234,567,890,123,456.123450 drop table t1; -select round(150, 2); -round(150, 2) -150.00 select ceil(0.09); ceil(0.09) 1 @@ -156,11 +153,11 @@ create table t1 select round(1, 6); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `round(1, 6)` decimal(7,6) NOT NULL default '0.000000' + `round(1, 6)` int(1) NOT NULL default '0' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select * from t1; round(1, 6) -1.000000 +1 drop table t1; select abs(-2) * -2; abs(-2) * -2 @@ -238,3 +235,91 @@ format(t2.f2-t2.f1+1,0) 10,000 drop table t1, t2; set names default; +select cast(-2 as unsigned), 18446744073709551614, -2; +cast(-2 as unsigned) 18446744073709551614 -2 +18446744073709551614 18446744073709551614 -2 +select abs(cast(-2 as unsigned)), abs(18446744073709551614), abs(-2); +abs(cast(-2 as unsigned)) abs(18446744073709551614) abs(-2) +18446744073709551614 18446744073709551614 2 +select ceiling(cast(-2 as unsigned)), ceiling(18446744073709551614), ceiling(-2); +ceiling(cast(-2 as unsigned)) ceiling(18446744073709551614) ceiling(-2) +18446744073709551614 18446744073709551614 -2 +select floor(cast(-2 as unsigned)), floor(18446744073709551614), floor(-2); +floor(cast(-2 as unsigned)) floor(18446744073709551614) floor(-2) +18446744073709551614 18446744073709551614 -2 +select format(cast(-2 as unsigned), 2), format(18446744073709551614, 2), format(-2, 2); +format(cast(-2 as unsigned), 2) format(18446744073709551614, 2) format(-2, 2) +18,446,744,073,709,551,614.00 18,446,744,073,709,551,614.00 -2.00 +select sqrt(cast(-2 as unsigned)), sqrt(18446744073709551614), sqrt(-2); +sqrt(cast(-2 as unsigned)) sqrt(18446744073709551614) sqrt(-2) +4294967296 4294967296 NULL +select round(cast(-2 as unsigned), 1), round(18446744073709551614, 1), round(-2, 1); +round(cast(-2 as unsigned), 1) round(18446744073709551614, 1) round(-2, 1) +18446744073709551614 18446744073709551614 -2 +select round(4, cast(-2 as unsigned)), round(4, 18446744073709551614), round(4, -2); +round(4, cast(-2 as unsigned)) round(4, 18446744073709551614) round(4, -2) +4 4 0 +select truncate(cast(-2 as unsigned), 1), truncate(18446744073709551614, 1), truncate(-2, 1); +truncate(cast(-2 as unsigned), 1) truncate(18446744073709551614, 1) truncate(-2, 1) +18446744073709551614 18446744073709551614 -2 +select truncate(4, cast(-2 as unsigned)), truncate(4, 18446744073709551614), truncate(4, -2); +truncate(4, cast(-2 as unsigned)) truncate(4, 18446744073709551614) truncate(4, -2) +4 4 0 +select round(10000000000000000000, -19), truncate(10000000000000000000, -19); +round(10000000000000000000, -19) truncate(10000000000000000000, -19) +10000000000000000000 10000000000000000000 +select round(1e0, -309), truncate(1e0, -309); +round(1e0, -309) truncate(1e0, -309) +0 0 +select round(1e1,308), truncate(1e1, 308); +round(1e1,308) truncate(1e1, 308) +10 10 +select round(1e1, 2147483648), truncate(1e1, 2147483648); +round(1e1, 2147483648) truncate(1e1, 2147483648) +10 10 +select round(1.1e1, 4294967295), truncate(1.1e1, 4294967295); +round(1.1e1, 4294967295) truncate(1.1e1, 4294967295) +11 11 +select round(1.12e1, 4294967296), truncate(1.12e1, 4294967296); +round(1.12e1, 4294967296) truncate(1.12e1, 4294967296) +11.2 11.2 +select round(1.5, 2147483640), truncate(1.5, 2147483640); +round(1.5, 2147483640) truncate(1.5, 2147483640) +1.500000000000000000000000000000 1.500000000000000000000000000000 +select round(1.5, -2147483649), round(1.5, 2147483648); +round(1.5, -2147483649) round(1.5, 2147483648) +0 1.500000000000000000000000000000 +select truncate(1.5, -2147483649), truncate(1.5, 2147483648); +truncate(1.5, -2147483649) truncate(1.5, 2147483648) +0 1.500000000000000000000000000000 +select round(1.5, -4294967296), round(1.5, 4294967296); +round(1.5, -4294967296) round(1.5, 4294967296) +0 1.500000000000000000000000000000 +select truncate(1.5, -4294967296), truncate(1.5, 4294967296); +truncate(1.5, -4294967296) truncate(1.5, 4294967296) +0 1.500000000000000000000000000000 +select round(1.5, -9223372036854775808), round(1.5, 9223372036854775808); +round(1.5, -9223372036854775808) round(1.5, 9223372036854775808) +0 1.500000000000000000000000000000 +select truncate(1.5, -9223372036854775808), truncate(1.5, 9223372036854775808); +truncate(1.5, -9223372036854775808) truncate(1.5, 9223372036854775808) +0 1.500000000000000000000000000000 +select round(1.5, 18446744073709551615), truncate(1.5, 18446744073709551615); +round(1.5, 18446744073709551615) truncate(1.5, 18446744073709551615) +1.500000000000000000000000000000 1.500000000000000000000000000000 +select round(18446744073709551614, -1), truncate(18446744073709551614, -1); +round(18446744073709551614, -1) truncate(18446744073709551614, -1) +18446744073709551610 18446744073709551610 +select round(4, -4294967200), truncate(4, -4294967200); +round(4, -4294967200) truncate(4, -4294967200) +0 0 +select mod(cast(-2 as unsigned), 3), mod(18446744073709551614, 3), mod(-2, 3); +mod(cast(-2 as unsigned), 3) mod(18446744073709551614, 3) mod(-2, 3) +2 2 -2 +select mod(5, cast(-2 as unsigned)), mod(5, 18446744073709551614), mod(5, -2); +mod(5, cast(-2 as unsigned)) mod(5, 18446744073709551614) mod(5, -2) +5 5 1 +select pow(cast(-2 as unsigned), 5), pow(18446744073709551614, 5), pow(-2, 5); +pow(cast(-2 as unsigned), 5) pow(18446744073709551614, 5) pow(-2, 5) +2.1359870359209e+96 2.1359870359209e+96 -32 +End of 5.0 tests diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result index 359a929d9a3..c103de81bd7 100644 --- a/mysql-test/r/type_newdecimal.result +++ b/mysql-test/r/type_newdecimal.result @@ -763,7 +763,7 @@ truncate(99999999999999999999999999999999999999,31) 99999999999999999999999999999999999999.000000000000000000000000000000 select truncate(99.999999999999999999999999999999999999,31); truncate(99.999999999999999999999999999999999999,31) -100.000000000000000000000000000000 +99.999999999999999999999999999999 select truncate(99999999999999999999999999999999999999,-31); truncate(99999999999999999999999999999999999999,-31) 99999990000000000000000000000000000000 diff --git a/mysql-test/t/bdb_notembedded.test b/mysql-test/t/bdb_notembedded.test new file mode 100644 index 00000000000..24e64ebbfb2 --- /dev/null +++ b/mysql-test/t/bdb_notembedded.test @@ -0,0 +1,38 @@ +-- source include/not_embedded.inc +-- source include/have_bdb.inc + +# +# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode +# +set autocommit=1; + +let $VERSION=`select version()`; + +reset master; +create table bug16206 (a int); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +reset master; +create table bug16206 (a int) engine= bdb; +insert into bug16206 values(0); +insert into bug16206 values(1); +start transaction; +insert into bug16206 values(2); +commit; +insert into bug16206 values(3); +--replace_result $VERSION VERSION +--replace_column 1 f 2 n 5 n +show binlog events; +drop table bug16206; + +set autocommit=0; + + +--echo End of 5.0 tests diff --git a/mysql-test/t/func_math.test b/mysql-test/t/func_math.test index 4041c267134..2ba07dfc581 100644 --- a/mysql-test/t/func_math.test +++ b/mysql-test/t/func_math.test @@ -82,11 +82,6 @@ select format(col2,6) from t1 where col1=7; drop table t1; -# -# Bug #10083 (round doesn't increase decimals) -# -select round(150, 2); - # # Bug @10632 (Ceiling function returns wrong answer) # @@ -177,3 +172,37 @@ select format(t2.f2-t2.f1+1,0) from t1,t2 where t1.f2 = t2.f3 order by t1.f1; drop table t1, t2; set names default; + +# Bug 24912 -- misc functions have trouble with unsigned + +select cast(-2 as unsigned), 18446744073709551614, -2; +select abs(cast(-2 as unsigned)), abs(18446744073709551614), abs(-2); +select ceiling(cast(-2 as unsigned)), ceiling(18446744073709551614), ceiling(-2); +select floor(cast(-2 as unsigned)), floor(18446744073709551614), floor(-2); +select format(cast(-2 as unsigned), 2), format(18446744073709551614, 2), format(-2, 2); +select sqrt(cast(-2 as unsigned)), sqrt(18446744073709551614), sqrt(-2); +select round(cast(-2 as unsigned), 1), round(18446744073709551614, 1), round(-2, 1); +select round(4, cast(-2 as unsigned)), round(4, 18446744073709551614), round(4, -2); +select truncate(cast(-2 as unsigned), 1), truncate(18446744073709551614, 1), truncate(-2, 1); +select truncate(4, cast(-2 as unsigned)), truncate(4, 18446744073709551614), truncate(4, -2); +select round(10000000000000000000, -19), truncate(10000000000000000000, -19); +select round(1e0, -309), truncate(1e0, -309); +select round(1e1,308), truncate(1e1, 308); +select round(1e1, 2147483648), truncate(1e1, 2147483648); +select round(1.1e1, 4294967295), truncate(1.1e1, 4294967295); +select round(1.12e1, 4294967296), truncate(1.12e1, 4294967296); +select round(1.5, 2147483640), truncate(1.5, 2147483640); +select round(1.5, -2147483649), round(1.5, 2147483648); +select truncate(1.5, -2147483649), truncate(1.5, 2147483648); +select round(1.5, -4294967296), round(1.5, 4294967296); +select truncate(1.5, -4294967296), truncate(1.5, 4294967296); +select round(1.5, -9223372036854775808), round(1.5, 9223372036854775808); +select truncate(1.5, -9223372036854775808), truncate(1.5, 9223372036854775808); +select round(1.5, 18446744073709551615), truncate(1.5, 18446744073709551615); +select round(18446744073709551614, -1), truncate(18446744073709551614, -1); +select round(4, -4294967200), truncate(4, -4294967200); +select mod(cast(-2 as unsigned), 3), mod(18446744073709551614, 3), mod(-2, 3); +select mod(5, cast(-2 as unsigned)), mod(5, 18446744073709551614), mod(5, -2); +select pow(cast(-2 as unsigned), 5), pow(18446744073709551614, 5), pow(-2, 5); + +--echo End of 5.0 tests diff --git a/sql/item_func.cc b/sql/item_func.cc index e8ecd6b8f1c..b2bf9a27974 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -614,6 +614,14 @@ Item *Item_func::get_tmp_table_item(THD *thd) return copy_or_same(thd); } +double Item_int_func::val_real() +{ + DBUG_ASSERT(fixed == 1); + + return unsigned_flag ? (double) ((ulonglong) val_int()) : (double) val_int(); +} + + String *Item_int_func::val_str(String *str) { DBUG_ASSERT(fixed == 1); @@ -802,7 +810,10 @@ double Item_func_numhybrid::val_real() return result; } case INT_RESULT: - return (double)int_op(); + { + longlong result= int_op(); + return unsigned_flag ? (double) ((ulonglong) result) : (double) result; + } case REAL_RESULT: return real_op(); case STRING_RESULT: @@ -1339,6 +1350,8 @@ longlong Item_func_mod::int_op() DBUG_ASSERT(fixed == 1); longlong value= args[0]->val_int(); longlong val2= args[1]->val_int(); + longlong result; + if ((null_value= args[0]->null_value || args[1]->null_value)) return 0; /* purecov: inspected */ if (val2 == 0) @@ -1348,9 +1361,13 @@ longlong Item_func_mod::int_op() } if (args[0]->unsigned_flag) - return ((ulonglong) value) % val2; + result= args[1]->unsigned_flag ? + ((ulonglong) value) % ((ulonglong) val2) : ((ulonglong) value) % val2; + else + result= args[1]->unsigned_flag ? + value % ((ulonglong) val2) : value % val2; - return value % val2; + return result; } double Item_func_mod::real_op() @@ -1405,6 +1422,7 @@ void Item_func_mod::fix_length_and_dec() { Item_num_op::fix_length_and_dec(); maybe_null= 1; + unsigned_flag= args[0]->unsigned_flag; } @@ -1483,8 +1501,9 @@ double Item_func_abs::real_op() longlong Item_func_abs::int_op() { longlong value= args[0]->val_int(); - null_value= args[0]->null_value; - return value >= 0 ? value : -value; + if ((null_value= args[0]->null_value)) + return 0; + return (value >= 0) || unsigned_flag ? value : -value; } @@ -1505,6 +1524,7 @@ my_decimal *Item_func_abs::decimal_op(my_decimal *decimal_value) void Item_func_abs::fix_length_and_dec() { Item_func_num1::fix_length_and_dec(); + unsigned_flag= args[0]->unsigned_flag; } @@ -1879,6 +1899,10 @@ my_decimal *Item_func_floor::decimal_op(my_decimal *decimal_value) void Item_func_round::fix_length_and_dec() { + int decimals_to_set; + longlong val1; + bool val1_unsigned; + unsigned_flag= args[0]->unsigned_flag; if (!args[1]->const_item()) { @@ -1887,8 +1911,14 @@ void Item_func_round::fix_length_and_dec() hybrid_type= REAL_RESULT; return; } - - int decimals_to_set= max((int)args[1]->val_int(), 0); + + val1= args[1]->val_int(); + val1_unsigned= args[1]->unsigned_flag; + if (val1 < 0) + decimals_to_set= val1_unsigned ? INT_MAX : 0; + else + decimals_to_set= (val1 > INT_MAX) ? INT_MAX : (int) val1; + if (args[0]->decimals == NOT_FIXED_DEC) { max_length= args[0]->max_length; @@ -1905,10 +1935,9 @@ void Item_func_round::fix_length_and_dec() max_length= float_length(decimals); break; case INT_RESULT: - if (!decimals_to_set && - (truncate || (args[0]->decimal_precision() < DECIMAL_LONGLONG_DIGITS))) + if ((!decimals_to_set && truncate) || (args[0]->decimal_precision() < DECIMAL_LONGLONG_DIGITS)) { - int length_can_increase= test(!truncate && (args[1]->val_int() < 0)); + int length_can_increase= test(!truncate && (val1 < 0) && !val1_unsigned); max_length= args[0]->max_length + length_can_increase; /* Here we can keep INT_RESULT */ hybrid_type= INT_RESULT; @@ -1934,10 +1963,12 @@ void Item_func_round::fix_length_and_dec() } } -double my_double_round(double value, int dec, bool truncate) +double my_double_round(double value, longlong dec, bool dec_unsigned, + bool truncate) { double tmp; - uint abs_dec= abs(dec); + bool dec_negative= (dec < 0) && !dec_unsigned; + ulonglong abs_dec= dec_negative ? -dec : dec; /* tmp2 is here to avoid return the value with 80 bit precision This will fix that the test round(0.1,1) = round(0.1,1) is true @@ -1947,7 +1978,11 @@ double my_double_round(double value, int dec, bool truncate) tmp=(abs_dec < array_elements(log_10) ? log_10[abs_dec] : pow(10.0,(double) abs_dec)); - if (truncate) + if (dec_negative && isinf(tmp)) + tmp2= 0; + else if (!dec_negative && isinf(value * tmp)) + tmp2= value; + else if (truncate) { if (value >= 0) tmp2= dec < 0 ? floor(value/tmp)*tmp : floor(value*tmp)/tmp; @@ -1963,24 +1998,35 @@ double my_double_round(double value, int dec, bool truncate) double Item_func_round::real_op() { double value= args[0]->val_real(); - int dec= (int) args[1]->val_int(); if (!(null_value= args[0]->null_value || args[1]->null_value)) - return my_double_round(value, dec, truncate); + return my_double_round(value, args[1]->val_int(), args[1]->unsigned_flag, + truncate); return 0.0; } +/* + Rounds a given value to a power of 10 specified as the 'to' argument, + avoiding overflows when the value is close to the ulonglong range boundary. +*/ + +static inline ulonglong my_unsigned_round(ulonglong value, ulonglong to) +{ + ulonglong tmp= value / to * to; + return (value - tmp < (to >> 1)) ? tmp : tmp + to; +} + longlong Item_func_round::int_op() { longlong value= args[0]->val_int(); - int dec=(int) args[1]->val_int(); + longlong dec= args[1]->val_int(); decimals= 0; - uint abs_dec; + ulonglong abs_dec; if ((null_value= args[0]->null_value || args[1]->null_value)) return 0; - if (dec >= 0) + if ((dec >= 0) || args[1]->unsigned_flag) return value; // integer have not digits after point abs_dec= -dec; @@ -1992,21 +2038,12 @@ longlong Item_func_round::int_op() tmp= log_10_int[abs_dec]; if (truncate) - { - if (unsigned_flag) - value= (ulonglong(value)/tmp)*tmp; - else - value= (value/tmp)*tmp; - } + value= (unsigned_flag) ? + ((ulonglong) value / tmp) * tmp : (value / tmp) * tmp; else - { - if (unsigned_flag) - value= ((ulonglong(value)+(tmp>>1))/tmp)*tmp; - else if ( value >= 0) - value= ((value+(tmp>>1))/tmp)*tmp; - else - value= ((value-(tmp>>1))/tmp)*tmp; - } + value= (unsigned_flag || value >= 0) ? + my_unsigned_round((ulonglong) value, tmp) : + -my_unsigned_round((ulonglong) -value, tmp); return value; } @@ -2014,14 +2051,18 @@ longlong Item_func_round::int_op() my_decimal *Item_func_round::decimal_op(my_decimal *decimal_value) { my_decimal val, *value= args[0]->val_decimal(&val); - int dec=(int) args[1]->val_int(); - if (dec > 0) + longlong dec= args[1]->val_int(); + if (dec > 0 || (dec < 0 && args[1]->unsigned_flag)) { - decimals= min(dec, DECIMAL_MAX_SCALE); // to get correct output + dec= min((ulonglong) dec, DECIMAL_MAX_SCALE); + decimals= dec; // to get correct output } + else if (dec < INT_MIN) + dec= INT_MIN; + if (!(null_value= (args[0]->null_value || args[1]->null_value || - my_decimal_round(E_DEC_FATAL_ERROR, value, dec, truncate, - decimal_value) > 1))) + my_decimal_round(E_DEC_FATAL_ERROR, value, dec, + truncate, decimal_value) > 1))) return decimal_value; return 0; } diff --git a/sql/item_func.h b/sql/item_func.h index 68591f9c6f5..237a173212e 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -278,7 +278,7 @@ public: { max_length= 21; } Item_int_func(List &list) :Item_func(list) { max_length= 21; } Item_int_func(THD *thd, Item_int_func *item) :Item_func(thd, item) {} - double val_real() { DBUG_ASSERT(fixed == 1); return (double) val_int(); } + double val_real(); String *val_str(String*str); enum Item_result result_type () const { return INT_RESULT; } void fix_length_and_dec() {} @@ -303,12 +303,6 @@ class Item_func_signed :public Item_int_func public: Item_func_signed(Item *a) :Item_int_func(a) {} const char *func_name() const { return "cast_as_signed"; } - double val_real() - { - double tmp= args[0]->val_real(); - null_value= args[0]->null_value; - return tmp; - } longlong val_int(); longlong val_int_from_str(int *error); void fix_length_and_dec() diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 6b1921e5bc8..2bf196e9989 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -1918,7 +1918,7 @@ String *Item_func_format::val_str(String *str) double nr= args[0]->val_real(); if ((null_value=args[0]->null_value)) return 0; /* purecov: inspected */ - nr= my_double_round(nr, decimals, FALSE); + nr= my_double_round(nr, (longlong) decimals, FALSE, FALSE); /* Here default_charset() is right as this is not an automatic conversion */ str->set(nr,decimals, default_charset()); if (isnan(nr)) diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 88bd8576965..ca3e0f1ee7f 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1537,7 +1537,8 @@ ha_rows filesort(THD *thd, TABLE *form,struct st_sort_field *sortorder, ha_rows max_rows, ha_rows *examined_rows); void filesort_free_buffers(TABLE *table, bool full); void change_double_for_sort(double nr,byte *to); -double my_double_round(double value, int dec, bool truncate); +double my_double_round(double value, longlong dec, bool dec_unsigned, + bool truncate); int get_quick_record(SQL_SELECT *select); int calc_weekday(long daynr,bool sunday_first_day_of_week); uint calc_week(TIME *l_time, uint week_behaviour, uint *year); From edf6b73302007c2a9c069cdea8a9fc8dd7349fe6 Mon Sep 17 00:00:00 2001 From: "kaa@polly.local" <> Date: Sat, 28 Apr 2007 23:25:31 +0400 Subject: [PATCH 094/144] Avoid compiler warnings in Windows builds introduced by the patch for bug #24912 "problems with bigint in abs() ceiling() ruond() truncate() mod()" --- sql/item_func.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/item_func.cc b/sql/item_func.cc index 23747864aaa..14a4c4dcf4b 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2045,7 +2045,7 @@ longlong Item_func_round::int_op() else value= (unsigned_flag || value >= 0) ? my_unsigned_round((ulonglong) value, tmp) : - -my_unsigned_round((ulonglong) -value, tmp); + -(longlong) my_unsigned_round((ulonglong) -value, tmp); return value; } @@ -2057,13 +2057,13 @@ my_decimal *Item_func_round::decimal_op(my_decimal *decimal_value) if (dec > 0 || (dec < 0 && args[1]->unsigned_flag)) { dec= min((ulonglong) dec, DECIMAL_MAX_SCALE); - decimals= dec; // to get correct output + decimals= (uint8) dec; // to get correct output } else if (dec < INT_MIN) dec= INT_MIN; if (!(null_value= (args[0]->null_value || args[1]->null_value || - my_decimal_round(E_DEC_FATAL_ERROR, value, dec, + my_decimal_round(E_DEC_FATAL_ERROR, value, (int) dec, truncate, decimal_value) > 1))) return decimal_value; return 0; From 3322b3c0b924ff3b1aaa33711306d825eca36e4f Mon Sep 17 00:00:00 2001 From: "gshchepa/uchum@gshchepa.loc" <> Date: Sun, 29 Apr 2007 00:50:33 +0500 Subject: [PATCH 095/144] Fixed bug #20710. This bug occurs when error message length exceeds allowed limit: my_error() function outputs "%s" sequences instead of long string arguments. Formats like %-.64s are very common in errmsg.txt files, however my_error() function simply ignores precision of those formats. --- mysql-test/r/alter_table.result | 5 +++++ mysql-test/t/alter_table.test | 11 +++++++++++ mysys/my_error.c | 13 +++++++++++++ 3 files changed, 29 insertions(+) diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result index da5cf688325..8957e1ee7a1 100644 --- a/mysql-test/r/alter_table.result +++ b/mysql-test/r/alter_table.result @@ -803,3 +803,8 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp alter table table_24562 order by no_such_col; ERROR 42S22: Unknown column 'no_such_col' in 'order clause' drop table table_24562; +CREATE TABLE t1 (c1 CHAR(255)); +INSERT INTO t1 VALUES (REPEAT("x", 255)), (REPEAT("x", 255)); +ALTER TABLE t1 ADD UNIQUE (c1); +ERROR 23000: Duplicate entry 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' for key 1 +DROP TABLE t1; diff --git a/mysql-test/t/alter_table.test b/mysql-test/t/alter_table.test index 52a569dfb57..874c42ac0b6 100644 --- a/mysql-test/t/alter_table.test +++ b/mysql-test/t/alter_table.test @@ -583,5 +583,16 @@ alter table table_24562 order by no_such_col; drop table table_24562; +# +# Bug #20710: adding unique index of column with duplicated +# long values to reproduce error message with truncated key value. +# + +CREATE TABLE t1 (c1 CHAR(255)); +INSERT INTO t1 VALUES (REPEAT("x", 255)), (REPEAT("x", 255)); +--error 1062 +ALTER TABLE t1 ADD UNIQUE (c1); +DROP TABLE t1; + # End of 4.1 tests diff --git a/mysys/my_error.c b/mysys/my_error.c index 8a377f63c7e..0f8ffb7c05f 100644 --- a/mysys/my_error.c +++ b/mysys/my_error.c @@ -82,6 +82,11 @@ int my_error(int nr,myf MyFlags, ...) If "%.*u" or "%.*d" are encountered, the precision number is read from the variable argument list but its value is ignored. */ + if (*tpos == '-') + { + tpos++; + olen--; + } prec_supplied= 0; if (*tpos== '.') { @@ -94,6 +99,14 @@ int my_error(int nr,myf MyFlags, ...) prec_chars= va_arg(ap, int); /* get length parameter */ prec_supplied= 1; } + else + { + for (prec_chars= 0; my_isdigit(&my_charset_latin1, *tpos); tpos++, olen--) + { + prec_supplied= 1; + prec_chars= prec_chars * 10 + *tpos - '0'; + } + } } if (!prec_supplied) From 3adcb94ede4843385283ac14c9223e0c11c476b9 Mon Sep 17 00:00:00 2001 From: "gshchepa/uchum@gshchepa.loc" <> Date: Sun, 29 Apr 2007 04:16:17 +0500 Subject: [PATCH 096/144] Fixed bug #13191. INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: "Can't find record in ..." if we are inserting into InnoDB table unique index of partial key with underlying UTF-8 string field. This error occurs because INSERT...ON DUPLICATE uses a wrong procedure to copy string fields of multi-byte character sets for index search. --- mysql-test/r/innodb_mysql.result | 33 ++++++++++++++++++++++ mysql-test/t/innodb_mysql.test | 30 ++++++++++++++++++++ sql/field.cc | 41 ++++++++++++++++++--------- sql/field.h | 48 ++++++++++++++++++++++++++++---- sql/key.cc | 23 +++++++-------- 5 files changed, 145 insertions(+), 30 deletions(-) diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index 2cd6f7826ca..12c8b414d2d 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -128,4 +128,37 @@ show /*!50002 GLOBAL */ status like 'Handler_rollback'; Variable_name Value Handler_rollback 0 drop table t1; +CREATE TABLE t1(c1 TEXT, UNIQUE (c1(1)), cnt INT DEFAULT 1) +ENGINE=INNODB CHARACTER SET UTF8; +INSERT INTO t1 (c1) VALUES ('1a'); +SELECT * FROM t1; +c1 cnt +1a 1 +INSERT INTO t1 (c1) VALUES ('1b') ON DUPLICATE KEY UPDATE cnt=cnt+1; +SELECT * FROM t1; +c1 cnt +1a 2 +DROP TABLE t1; +CREATE TABLE t1(c1 VARCHAR(2), UNIQUE (c1(1)), cnt INT DEFAULT 1) +ENGINE=INNODB CHARACTER SET UTF8; +INSERT INTO t1 (c1) VALUES ('1a'); +SELECT * FROM t1; +c1 cnt +1a 1 +INSERT INTO t1 (c1) VALUES ('1b') ON DUPLICATE KEY UPDATE cnt=cnt+1; +SELECT * FROM t1; +c1 cnt +1a 2 +DROP TABLE t1; +CREATE TABLE t1(c1 CHAR(2), UNIQUE (c1(1)), cnt INT DEFAULT 1) +ENGINE=INNODB CHARACTER SET UTF8; +INSERT INTO t1 (c1) VALUES ('1a'); +SELECT * FROM t1; +c1 cnt +1a 1 +INSERT INTO t1 (c1) VALUES ('1b') ON DUPLICATE KEY UPDATE cnt=cnt+1; +SELECT * FROM t1; +c1 cnt +1a 2 +DROP TABLE t1; End of 4.1 tests diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test index c5a5e997775..0973385dc5b 100644 --- a/mysql-test/t/innodb_mysql.test +++ b/mysql-test/t/innodb_mysql.test @@ -161,4 +161,34 @@ show /*!50002 GLOBAL */ status like 'Handler_rollback'; connection default; drop table t1; disconnect con1; + +# +# Bug #13191: INSERT...ON DUPLICATE KEY UPDATE of UTF-8 string fields +# used in partial unique indices. +# + +CREATE TABLE t1(c1 TEXT, UNIQUE (c1(1)), cnt INT DEFAULT 1) + ENGINE=INNODB CHARACTER SET UTF8; +INSERT INTO t1 (c1) VALUES ('1a'); +SELECT * FROM t1; +INSERT INTO t1 (c1) VALUES ('1b') ON DUPLICATE KEY UPDATE cnt=cnt+1; +SELECT * FROM t1; +DROP TABLE t1; + +CREATE TABLE t1(c1 VARCHAR(2), UNIQUE (c1(1)), cnt INT DEFAULT 1) + ENGINE=INNODB CHARACTER SET UTF8; +INSERT INTO t1 (c1) VALUES ('1a'); +SELECT * FROM t1; +INSERT INTO t1 (c1) VALUES ('1b') ON DUPLICATE KEY UPDATE cnt=cnt+1; +SELECT * FROM t1; +DROP TABLE t1; + +CREATE TABLE t1(c1 CHAR(2), UNIQUE (c1(1)), cnt INT DEFAULT 1) + ENGINE=INNODB CHARACTER SET UTF8; +INSERT INTO t1 (c1) VALUES ('1a'); +SELECT * FROM t1; +INSERT INTO t1 (c1) VALUES ('1b') ON DUPLICATE KEY UPDATE cnt=cnt+1; +SELECT * FROM t1; +DROP TABLE t1; + --echo End of 4.1 tests diff --git a/sql/field.cc b/sql/field.cc index acc837c1d37..1b27e12e078 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -5204,6 +5204,16 @@ uint Field_string::max_packed_col_length(uint max_length) return (max_length > 255 ? 2 : 1)+max_length; } +uint Field_string::get_key_image(char *buff, uint length, CHARSET_INFO *cs, + imagetype type_arg) +{ + uint bytes = my_charpos(cs, ptr, ptr + field_length, + length / field_charset->mbmaxlen); + memcpy(buff, ptr, bytes); + if (bytes < length) + bzero(buff + bytes, length - bytes); + return bytes; +} /**************************************************************************** ** VARCHAR type (Not available for the end user yet) @@ -5414,8 +5424,8 @@ uint Field_varstring::max_packed_col_length(uint max_length) return (max_length > 255 ? 2 : 1)+max_length; } -void Field_varstring::get_key_image(char *buff, uint length, CHARSET_INFO *cs, - imagetype type) +uint Field_varstring::get_key_image(char *buff, uint length, CHARSET_INFO *cs, + imagetype type) { uint f_length=uint2korr(ptr); if (f_length > length) @@ -5426,6 +5436,7 @@ void Field_varstring::get_key_image(char *buff, uint length, CHARSET_INFO *cs, if (f_length < length) bzero(buff+HA_KEY_BLOB_LENGTH+f_length, (length-f_length)); #endif + return HA_KEY_BLOB_LENGTH+f_length; } void Field_varstring::set_key_image(char *buff,uint length, CHARSET_INFO *cs) @@ -5724,8 +5735,8 @@ int Field_blob::cmp_binary(const char *a_ptr, const char *b_ptr, /* The following is used only when comparing a key */ -void Field_blob::get_key_image(char *buff,uint length, - CHARSET_INFO *cs, imagetype type) +uint Field_blob::get_key_image(char *buff,uint length, + CHARSET_INFO *cs, imagetype type) { uint32 blob_length= get_length(ptr); char *blob; @@ -5737,16 +5748,17 @@ void Field_blob::get_key_image(char *buff,uint length, MBR mbr; Geometry_buffer buffer; Geometry *gobj; + const uint image_length= SIZEOF_STORED_DOUBLE*4; if (blob_length < SRID_SIZE) { - bzero(buff, SIZEOF_STORED_DOUBLE*4); - return; + bzero(buff, image_length); + return image_length; } get_ptr(&blob); gobj= Geometry::construct(&buffer, blob, blob_length); if (gobj->get_mbr(&mbr, &dummy)) - bzero(buff, SIZEOF_STORED_DOUBLE*4); + bzero(buff, image_length); else { float8store(buff, mbr.xmin); @@ -5754,7 +5766,7 @@ void Field_blob::get_key_image(char *buff,uint length, float8store(buff+16, mbr.ymin); float8store(buff+24, mbr.ymax); } - return; + return image_length; } #endif /*HAVE_SPATIAL*/ @@ -5774,6 +5786,7 @@ void Field_blob::get_key_image(char *buff,uint length, } int2store(buff,length); memcpy(buff+HA_KEY_BLOB_LENGTH, blob, length); + return HA_KEY_BLOB_LENGTH+length; } void Field_blob::set_key_image(char *buff,uint length, CHARSET_INFO *cs) @@ -6021,8 +6034,8 @@ uint Field_blob::max_packed_col_length(uint max_length) #ifdef HAVE_SPATIAL -void Field_geom::get_key_image(char *buff, uint length, CHARSET_INFO *cs, - imagetype type) +uint Field_geom::get_key_image(char *buff, uint length, CHARSET_INFO *cs, + imagetype type) { char *blob; const char *dummy; @@ -6030,16 +6043,17 @@ void Field_geom::get_key_image(char *buff, uint length, CHARSET_INFO *cs, ulong blob_length= get_length(ptr); Geometry_buffer buffer; Geometry *gobj; + const uint image_length= SIZEOF_STORED_DOUBLE*4; if (blob_length < SRID_SIZE) { - bzero(buff, SIZEOF_STORED_DOUBLE*4); - return; + bzero(buff, image_length); + return image_length; } get_ptr(&blob); gobj= Geometry::construct(&buffer, blob, blob_length); if (gobj->get_mbr(&mbr, &dummy)) - bzero(buff, SIZEOF_STORED_DOUBLE*4); + bzero(buff, image_length); else { float8store(buff, mbr.xmin); @@ -6047,6 +6061,7 @@ void Field_geom::get_key_image(char *buff, uint length, CHARSET_INFO *cs, float8store(buff + 16, mbr.ymin); float8store(buff + 24, mbr.ymax); } + return image_length; } diff --git a/sql/field.h b/sql/field.h index 58177747120..20f1209a439 100644 --- a/sql/field.h +++ b/sql/field.h @@ -228,9 +228,43 @@ public: { memcpy(buff,ptr,length); } inline void set_image(char *buff,uint length, CHARSET_INFO *cs) { memcpy(ptr,buff,length); } - virtual void get_key_image(char *buff,uint length, CHARSET_INFO *cs, - imagetype type) - { get_image(buff,length,cs); } + + + /* + Copy a field part into an output buffer. + + SYNOPSIS + Field::get_key_image() + buff [out] output buffer + length output buffer size + cs charset, always same as this->charset(), + (to be removed in 5.x) + type itMBR for geometry blobs, otherwise itRAW + + DESCRIPTION + This function makes a copy of field part of size equal to or + less than "length" parameter value. + For fields of string types (CHAR, VARCHAR, TEXT) the rest of buffer + is padded by zero byte. + + NOTES + For variable length character fields (i.e. UTF-8) the "length" + parameter means a number of output buffer bytes as if all field + characters have maximal possible size (mbmaxlen). In the other words, + "length" parameter is a number of characters multiplied by + field_charset->mbmaxlen. + + RETURN + Number of copied bytes (excluding padded zero bytes -- see above). + */ + + virtual uint get_key_image(char *buff, uint length, + CHARSET_INFO *cs, + imagetype type) + { + get_image(buff,length,cs); + return length; + } virtual void set_key_image(char *buff,uint length, CHARSET_INFO *cs) { set_image(buff,length,cs); } inline longlong val_int_offset(uint row_offset) @@ -947,6 +981,8 @@ public: enum_field_types real_type() const { return FIELD_TYPE_STRING; } bool has_charset(void) const { return charset() == &my_charset_bin ? FALSE : TRUE; } + virtual uint get_key_image(char *buff,uint length, CHARSET_INFO *cs, + imagetype type); }; @@ -981,7 +1017,7 @@ public: String *val_str(String*,String *); int cmp(const char *,const char*); void sort_string(char *buff,uint length); - void get_key_image(char *buff,uint length, CHARSET_INFO *cs, imagetype type); + uint get_key_image(char *buff,uint length, CHARSET_INFO *cs, imagetype type); void set_key_image(char *buff,uint length, CHARSET_INFO *cs); void sql_type(String &str) const; char *pack(char *to, const char *from, uint max_length=~(uint) 0); @@ -1060,7 +1096,7 @@ public: store_length(length); memcpy_fixed(ptr+packlength,&data,sizeof(char*)); } - void get_key_image(char *buff,uint length, CHARSET_INFO *cs, imagetype type); + uint get_key_image(char *buff,uint length, CHARSET_INFO *cs, imagetype type); void set_key_image(char *buff,uint length, CHARSET_INFO *cs); void sql_type(String &str) const; inline bool copy() @@ -1117,7 +1153,7 @@ public: int store(longlong nr) { return 1; } int reset(void) { return !maybe_null() || Field_blob::reset(); } - void get_key_image(char *buff,uint length, CHARSET_INFO *cs,imagetype type); + uint get_key_image(char *buff,uint length, CHARSET_INFO *cs,imagetype type); void set_key_image(char *buff,uint length, CHARSET_INFO *cs); }; #endif /*HAVE_SPATIAL*/ diff --git a/sql/key.cc b/sql/key.cc index 7ddd40de2c9..d57d1570da7 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -89,20 +89,21 @@ void key_copy(byte *key,TABLE *table,uint idx,uint key_length) } if (key_part->key_part_flag & HA_BLOB_PART) { - char *pos; - ulong blob_length=((Field_blob*) key_part->field)->get_length(); - key_length-=2; - ((Field_blob*) key_part->field)->get_ptr(&pos); - length=min(key_length,key_part->length); - set_if_smaller(blob_length,length); - int2store(key,(uint) blob_length); - key+=2; // Skip length info - memcpy(key,pos,blob_length); + key_length-= HA_KEY_BLOB_LENGTH; + length= min(key_length, key_part->length); + key_part->field->get_key_image((char *) key, length, + key_part->field->charset(), + Field::itRAW); + key+= HA_KEY_BLOB_LENGTH; } else { - length=min(key_length,key_part->length); - memcpy(key,table->record[0]+key_part->offset,(size_t) length); + length= min(key_length, key_part->length); + Field *field= key_part->field; + CHARSET_INFO *cs= field->charset(); + uint bytes= field->get_key_image(key, length, cs, Field::itRAW); + if (bytes < length) + cs->cset->fill(cs, key + bytes, length - bytes, ' '); } key+=length; key_length-=length; From bdebe3f5b41e9a846fc5efdff85877f42da95500 Mon Sep 17 00:00:00 2001 From: "gshchepa/uchum@gshchepa.loc" <> Date: Sun, 29 Apr 2007 05:06:14 +0500 Subject: [PATCH 097/144] Adjusted results after the fix for bug #20710. --- mysql-test/r/heap.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result index 6bb9d0c87ee..b19ccca2f44 100644 --- a/mysql-test/r/heap.result +++ b/mysql-test/r/heap.result @@ -294,7 +294,7 @@ drop table t1; create table t1 (c char(255), primary key(c(90))); insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); -ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 1 +ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 1 drop table t1; CREATE TABLE t1 (a int, key(a)) engine=heap; insert into t1 values (0); From fbed48268931611d6dd3e41f51b26f1a71f31e38 Mon Sep 17 00:00:00 2001 From: "gshchepa/uchum@gshchepa.loc" <> Date: Sun, 29 Apr 2007 11:56:23 +0500 Subject: [PATCH 098/144] Patch to eliminate compilation errors under VC after bug #13191 fix. --- sql/key.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/key.cc b/sql/key.cc index d57d1570da7..5bb389fcb45 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -101,9 +101,9 @@ void key_copy(byte *key,TABLE *table,uint idx,uint key_length) length= min(key_length, key_part->length); Field *field= key_part->field; CHARSET_INFO *cs= field->charset(); - uint bytes= field->get_key_image(key, length, cs, Field::itRAW); + uint bytes= field->get_key_image((char *) key, length, cs, Field::itRAW); if (bytes < length) - cs->cset->fill(cs, key + bytes, length - bytes, ' '); + cs->cset->fill(cs, (char *) key + bytes, length - bytes, ' '); } key+=length; key_length-=length; From 90864c2874917bca8794b71981c57263368b573a Mon Sep 17 00:00:00 2001 From: "gshchepa/uchum@gshchepa.loc" <> Date: Sun, 29 Apr 2007 12:56:46 +0500 Subject: [PATCH 099/144] Patch to eliminate compilation errors under VC after bug #13191 fix. --- sql/key.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/key.cc b/sql/key.cc index 1816e924c2b..2bdde46b6b3 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -124,7 +124,7 @@ void key_copy(byte *to_key, byte *from_record, KEY *key_info, uint key_length) { key_length-= HA_KEY_BLOB_LENGTH; length= min(key_length, key_part->length); - key_part->field->get_key_image(to_key, length, Field::itRAW); + key_part->field->get_key_image((char*) to_key, length, Field::itRAW); to_key+= HA_KEY_BLOB_LENGTH; } else From c49c7c5b8ae3128c28b487f9a902cb47a6db22ef Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Sun, 29 Apr 2007 10:18:13 +0200 Subject: [PATCH 100/144] enabled test --- mysql-test/t/disabled.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index ad2c7a6c08c..a5de6ca0022 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -37,7 +37,7 @@ synchronization : Bug#24529 Test 'synchronization' fails on Mac pushb #ndb_autodiscover3 : bug#21806 plugin : Bug#25659 memory leak via "plugins" test -rpl_ndb_dd_advance : Bug#25913 rpl_ndb_dd_advance fails randomly +#rpl_ndb_dd_advance : Bug#25913 rpl_ndb_dd_advance fails randomly rpl_ndb_stm_innodb : Bug#26783 ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms From 3bed46396346aac94ffa537621e70fd31ed5d68d Mon Sep 17 00:00:00 2001 From: "kaa@polly.local" <> Date: Sun, 29 Apr 2007 16:57:17 +0400 Subject: [PATCH 101/144] If isinf() is not available on a target platform, use our own imlementation via finite() and isnan(). If either of the last two is not available as well, use simple replacements which are platform-neutral, but slower than compiler intrinsics. --- include/my_global.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/my_global.h b/include/my_global.h index f446c283d50..e9b371d8d30 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -784,13 +784,20 @@ typedef SOCKET_SIZE_TYPE size_socket; #define SSIZE_MAX ((~((size_t) 0)) / 2) #endif +#ifndef HAVE_FINITE +#define finite(x) (1.0 / fabs(x) > 0.0) +#endif + +#ifndef HAVE_ISNAN +#define isnan(x) ((x) != (x)) +#endif + #if !defined(HAVE_ISINF) /* The configure check for "isinf with math.h" has failed */ #ifdef isinf #undef isinf #endif -/* Define isinf to never say that X is infinite */ -#define isinf(X) 0 +#define isinf(X) (!finite(X) && !isnan(X)) #endif /* Define missing math constants. */ From 35ca5a4f87816ea3bb43120b568fd53078dcf80e Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Sun, 29 Apr 2007 18:46:06 +0500 Subject: [PATCH 102/144] merging fix --- mysql-test/r/innodb_mysql.result | 1 + mysql-test/r/join.result | 15 --------------- mysql-test/r/subselect.result | 23 +++++++++++++++++++++++ sql/item_cmpfunc.cc | 5 +++-- sql/item_timefunc.cc | 25 ++++++++++++++++++++++++- sql/time.cc | 4 +++- 6 files changed, 54 insertions(+), 19 deletions(-) diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index 895cb88a018..d17820e37bc 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -459,6 +459,7 @@ id c counter 3 b 2 4 a 2 drop table t1; +End of 5.0 tests CREATE TABLE t1 (a int, b int); insert into t1 values (1,1),(1,2); CREATE TABLE t2 (primary key (a)) select * from t1; diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result index 840a92dcce2..b132c8b2e4c 100644 --- a/mysql-test/r/join.result +++ b/mysql-test/r/join.result @@ -847,19 +847,4 @@ select '^^: The above should be ~= 20 + cost(select * from t1). Value less than Z ^^: The above should be ~= 20 + cost(select * from t1). Value less than 20 is an error drop table t1, t2; -CREATE TABLE t1 (ID INTEGER, Name VARCHAR(50)); -CREATE TABLE t2 (Test_ID INTEGER); -CREATE VIEW v1 (Test_ID, Description) AS SELECT ID, Name FROM t1; -CREATE TABLE tv1 SELECT Description AS Name FROM v1 JOIN t2 -USING (Test_ID); -DESCRIBE tv1; -Field Type Null Key Default Extra -Name varchar(50) YES NULL -CREATE TABLE tv2 SELECT Description AS Name FROM v1 JOIN t2 -ON v1.Test_ID = t2.Test_ID; -DESCRIBE tv2; -Field Type Null Key Default Extra -Name varchar(50) YES NULL -DROP VIEW v1; -DROP TABLE t1,t2,tv1,tv2; End of 5.0 tests. diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 1fff29cd72c..0143b0c7fd3 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4035,6 +4035,29 @@ FROM t1; ERROR HY000: Invalid use of group function DROP TABLE t1,t2; End of 5.0 tests. +CREATE TABLE t1 (a int, b int); +INSERT INTO t1 VALUES (2,22),(1,11),(2,22); +SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a; +a +1 +2 +SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a; +a +SELECT a FROM t1 t0 +WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a; +a +1 +2 +SET @@sql_mode='ansi'; +SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a; +ERROR HY000: Invalid use of group function +SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a; +ERROR HY000: Invalid use of group function +SELECT a FROM t1 t0 +WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a; +ERROR HY000: Invalid use of group function +SET @@sql_mode=default; +DROP TABLE t1; CREATE TABLE t1 (s1 char(1)); INSERT INTO t1 VALUES ('a'); SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 982179a3bb2..ad7b877cd0b 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -619,8 +619,9 @@ get_date_from_str(THD *thd, String *str, timestamp_type warn_type, if (error || *error_arg) { - make_truncated_value_warning(thd, str->ptr(), str->length(), warn_type, - warn_name); + make_truncated_value_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + str->ptr(), str->length(), + warn_type, warn_name); *error_arg= TRUE; } return value; diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index 4d6ca2a9b3e..0fd57264784 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -2056,7 +2056,30 @@ bool Item_date_add_interval::get_date(MYSQL_TIME *ltime, uint fuzzy_date) if (date_sub_interval) interval.neg = !interval.neg; - return (null_value= date_add_interval(ltime, int_type, interval)); + if ((null_value= date_add_interval(ltime, int_type, interval))) + return 1; + + /* Adjust cached_field_type according to the detected type. */ + if (cached_field_type == MYSQL_TYPE_STRING) + { + switch (ltime->time_type) + { + case MYSQL_TIMESTAMP_DATE: + cached_field_type= MYSQL_TYPE_DATE; + break; + case MYSQL_TIMESTAMP_DATETIME: + cached_field_type= MYSQL_TYPE_DATETIME; + break; + case MYSQL_TIMESTAMP_TIME: + cached_field_type= MYSQL_TYPE_TIME; + break; + default: + /* Shouldn't get here. */ + DBUG_ASSERT(0); + break; + } + } + return 0; } diff --git a/sql/time.cc b/sql/time.cc index 249de3b879b..c552d085f5e 100644 --- a/sql/time.cc +++ b/sql/time.cc @@ -860,8 +860,9 @@ bool date_add_interval(MYSQL_TIME *ltime, interval_type int_type, INTERVAL inter } break; default: - return 1; + goto null_date; } + return 0; // Ok invalid_date: @@ -869,6 +870,7 @@ invalid_date: ER_DATETIME_FUNCTION_OVERFLOW, ER(ER_DATETIME_FUNCTION_OVERFLOW), "datetime"); +null_date: return 1; } From 62b4383b2034b5f593da2c650dcb6d7e3c6023f2 Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Sun, 29 Apr 2007 19:59:31 +0500 Subject: [PATCH 103/144] merging fix --- mysql-test/r/innodb_mysql.result | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index faceab76f0b..e51318af827 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -446,6 +446,69 @@ tes 1234 drop table test; set global query_cache_type=@save_qcache_type; set global query_cache_size=@save_qcache_size; +show variables like 'innodb_rollback_on_timeout'; +Variable_name Value +innodb_rollback_on_timeout OFF +create table t1 (a int unsigned not null primary key) engine = innodb; +insert into t1 values (1); +commit; +begin work; +insert into t1 values (2); +select * from t1; +a +1 +2 +begin work; +insert into t1 values (5); +select * from t1; +a +1 +5 +insert into t1 values (2); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +select * from t1; +a +1 +5 +commit; +select * from t1; +a +1 +2 +commit; +select * from t1; +a +1 +2 +5 +drop table t1; +set @save_qcache_size=@@global.query_cache_size; +set @save_qcache_type=@@global.query_cache_type; +set global query_cache_size=10*1024*1024; +set global query_cache_type=1; +drop table if exists `test`; +Warnings: +Note 1051 Unknown table 'test' +CREATE TABLE `test` (`test1` varchar(3) NOT NULL, +`test2` varchar(4) NOT NULL,PRIMARY KEY (`test1`)) +ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO `test` (`test1`, `test2`) VALUES ('tes', '5678'); +select * from test; +test1 test2 +tes 5678 +INSERT INTO `test` (`test1`, `test2`) VALUES ('tes', '1234') +ON DUPLICATE KEY UPDATE `test2` = '1234'; +select * from test; +test1 test2 +tes 1234 +flush tables; +select * from test; +test1 test2 +tes 1234 +drop table test; +set global query_cache_type=@save_qcache_type; +set global query_cache_size=@save_qcache_size; +End of 5.0 tests create table t1( id int auto_increment, c char(1) not null, From 4382bf720bab352034c73d370d4faf8c57dbf662 Mon Sep 17 00:00:00 2001 From: "evgen@moonbone.local" <> Date: Sun, 29 Apr 2007 20:23:05 +0400 Subject: [PATCH 104/144] type_datetime.result, type_datetime.test: The test case for the bug#27590 is altered. --- mysql-test/r/type_datetime.result | 16 +++++++--------- mysql-test/t/type_datetime.test | 4 +--- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index f5ff3369c8b..3a28410b7dc 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -221,15 +221,13 @@ f1 f2 select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime); 1 1 -select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), -f1 > f2, f1 = f2, f1 < f2 -from t1; -f1 f2 UNIX_TIMESTAMP(f2) UNIX_TIMESTAMP(f1) f1 > f2 f1 = f2 f1 < f2 -2001-01-01 2001-01-01 01:01:01 978300061 978296400 0 0 1 -2001-02-05 2001-02-05 00:00:00 981320400 981320400 0 1 0 -2001-03-10 2001-03-09 01:01:01 984088861 984171600 1 0 0 -2001-04-15 2001-04-15 00:00:00 987282000 987282000 0 1 0 -2001-05-20 2001-05-20 01:01:01 990309661 990306000 0 0 1 +select f1, f2, f1 > f2, f1 = f2, f1 < f2 from t1; +f1 f2 f1 > f2 f1 = f2 f1 < f2 +2001-01-01 2001-01-01 01:01:01 0 0 1 +2001-02-05 2001-02-05 00:00:00 0 1 0 +2001-03-10 2001-03-09 01:01:01 1 0 0 +2001-04-15 2001-04-15 00:00:00 0 1 0 +2001-05-20 2001-05-20 01:01:01 0 0 1 drop table t1; create table t1 (f1 date, f2 datetime, f3 timestamp); insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01'); diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index 2c38b3ea9e3..fc7b20d77a4 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -157,9 +157,7 @@ select f1, f3 from t1 where f1 >= '2001-02-05 00:00:00' and f3 <= '2001-04-15'; select f1, f3 from t1 where f1 >= '2001-2-5 0:0:0' and f2 <= '2001-4-15'; select f1, f2 from t1 where if(1, f1, 0) >= f2; select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime); -select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1), - f1 > f2, f1 = f2, f1 < f2 - from t1; +select f1, f2, f1 > f2, f1 = f2, f1 < f2 from t1; drop table t1; # From 2fe860e84beb8ba0bfa7ffd6ea35e30ee5dec46d Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Mon, 30 Apr 2007 01:06:16 +0500 Subject: [PATCH 105/144] 'no DBUG_RETURN' warning fixed --- storage/ndb/src/mgmapi/mgmapi.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/storage/ndb/src/mgmapi/mgmapi.cpp b/storage/ndb/src/mgmapi/mgmapi.cpp index b1a555872eb..e7dc1d1d503 100644 --- a/storage/ndb/src/mgmapi/mgmapi.cpp +++ b/storage/ndb/src/mgmapi/mgmapi.cpp @@ -394,7 +394,7 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow *command_reply, } out.println(""); - CHECK_TIMEDOUT_RET(handle, in, out, NULL); + DBUG_CHECK_TIMEDOUT_RET(handle, in, out, NULL); Parser_t::Context ctx; ParserDummy session(handle->socket); @@ -403,7 +403,7 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow *command_reply, const Properties* p = parser.parse(ctx, session); if (p == NULL){ if(!ndb_mgm_is_connected(handle)) { - CHECK_TIMEDOUT_RET(handle, in, out, NULL); + DBUG_CHECK_TIMEDOUT_RET(handle, in, out, NULL); DBUG_RETURN(NULL); } else @@ -413,7 +413,7 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow *command_reply, || ctx.m_status==Parser_t::NoLine) { ndb_mgm_disconnect(handle); - CHECK_TIMEDOUT_RET(handle, in, out, NULL); + DBUG_CHECK_TIMEDOUT_RET(handle, in, out, NULL); DBUG_RETURN(NULL); } /** @@ -438,7 +438,7 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow *command_reply, if(p && (in.timedout() || out.timedout())) delete p; - CHECK_TIMEDOUT_RET(handle, in, out, NULL); + DBUG_CHECK_TIMEDOUT_RET(handle, in, out, NULL); DBUG_RETURN(p); } From ce0be732d08b4966115486191fc37af5e1478b00 Mon Sep 17 00:00:00 2001 From: "igor@olga.mysql.com" <> Date: Sun, 29 Apr 2007 16:04:43 -0700 Subject: [PATCH 106/144] Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack some rollup rows (rows with NULLs for grouping attributes) if GROUP BY list contained constant expressions. This happened because the results of constant expressions were not put in the temporary table used for duplicate elimination. In fact a constant item from the GROUP BY list of a ROLLUP query can be replaced for an Item_null_result object when a rollup row is produced . Now the JOIN::rollup_init function wraps any constant item referenced in the GROYP BY list of a ROLLUP query into an Item_func object of a special class that is never detected as constant item. This ensures creation of fields for such constant items in temporary tables and guarantees right results when the result of the rollup operation first has to be written into a temporary table, e.g. in the cases when duplicate elimination is required. --- mysql-test/r/olap.result | 61 ++++++++++++++++++++++++++++++++++++++++ mysql-test/t/olap.test | 19 +++++++++++++ sql/item_func.h | 25 ++++++++++++++++ sql/sql_select.cc | 28 +++++++++++++++++- 4 files changed, 132 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result index 74b7570ea2a..0300fc1759e 100644 --- a/mysql-test/r/olap.result +++ b/mysql-test/r/olap.result @@ -556,3 +556,64 @@ x a sum(b) 2006-07-01 NULL 11 NULL NULL 11 drop table t1; +CREATE TABLE t1 (a int, b int); +INSERT INTO t1 +VALUES (2,10),(3,30),(2,40),(1,10),(2,30),(1,20),(2,10); +SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +a SUM(b) +1 30 +2 90 +3 30 +NULL 150 +SELECT DISTINCT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +a SUM(b) +1 30 +2 90 +3 30 +NULL 150 +SELECT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; +a b COUNT(*) +1 10 1 +1 20 1 +1 NULL 2 +2 10 2 +2 30 1 +2 40 1 +2 NULL 4 +3 30 1 +3 NULL 1 +NULL NULL 7 +SELECT DISTINCT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; +a b COUNT(*) +1 10 1 +1 20 1 +1 NULL 2 +2 10 2 +2 30 1 +2 40 1 +2 NULL 4 +3 30 1 +3 NULL 1 +NULL NULL 7 +SELECT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +x a SUM(b) +x 1 30 +x 2 90 +x 3 30 +x NULL 150 +NULL NULL 150 +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +x a SUM(b) +x 1 30 +x 2 90 +x 3 30 +x NULL 150 +NULL NULL 150 +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +x a SUM(b) +x 1 30 +x 2 90 +x 3 30 +x NULL 150 +NULL NULL 150 +DROP TABLE t1; diff --git a/mysql-test/t/olap.test b/mysql-test/t/olap.test index 683e1402678..99db3874883 100644 --- a/mysql-test/t/olap.test +++ b/mysql-test/t/olap.test @@ -281,4 +281,23 @@ select left(a,10), a, sum(b) from t1 group by 1,2 with rollup; select left(a,10) x, a, sum(b) from t1 group by x,a with rollup; drop table t1; +# +# Bug #20825: ROLLUP by const item in a query with DISTINCT +# + +CREATE TABLE t1 (a int, b int); +INSERT INTO t1 + VALUES (2,10),(3,30),(2,40),(1,10),(2,30),(1,20),(2,10); + +SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +SELECT DISTINCT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP; +SELECT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; +SELECT DISTINCT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP; + +SELECT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; +SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP; + +DROP TABLE t1; + # End of 4.1 tests diff --git a/sql/item_func.h b/sql/item_func.h index 467b88eda76..ebe3a589aa1 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -590,6 +590,31 @@ public: }; +/* + Objects of this class are used for ROLLUP queries to wrap up + each constant item referred to in GROUP BY list. +*/ + +class Item_func_rollup_const :public Item_func +{ +public: + Item_func_rollup_const(Item *a) :Item_func(a) + { name= a->name; } + double val() { return args[0]->val(); } + longlong val_int() { return args[0]->val_int(); } + String *val_str(String *str) { return args[0]->val_str(str); } + const char *func_name() const { return "rollup_const"; } + bool const_item() const { return 0; } + Item_result result_type() const { return args[0]->result_type(); } + void fix_length_and_dec() + { + collation= args[0]->collation; + max_length= args[0]->max_length; + decimals=args[0]->decimals; + } +}; + + class Item_func_length :public Item_int_func { String value; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index af3ad782ee3..36a15841065 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -9754,7 +9754,7 @@ bool JOIN::rollup_init() for (j=0 ; j < fields_list.elements ; j++) rollup.fields[i].push_back(rollup.null_items[i]); } - List_iterator_fast it(all_fields); + List_iterator it(all_fields); Item *item; while ((item= it++)) { @@ -9767,6 +9767,32 @@ bool JOIN::rollup_init() { item->maybe_null= 1; found_in_group= 1; + if (item->const_item()) + { + /* + For ROLLUP queries each constant item referenced in GROUP BY list + is wrapped up into an Item_func object yielding the same value + as the constant item. The objects of the wrapper class are never + considered as constant items and besides they inherit all + properties of the Item_result_field class. + This wrapping allows us to ensure writing constant items + into temporary tables whenever the result of the ROLLUP + operation has to be written into a temporary table, e.g. when + ROLLUP is used together with DISTINCT in the SELECT list. + Usually when creating temporary tables for a intermidiate + result we do not include fields for constant expressions. + */ + Item* new_item= new Item_func_rollup_const(item); + if (!new_item) + return 1; + new_item->fix_fields(thd,0, (Item **) 0); + thd->change_item_tree(it.ref(), new_item); + for (ORDER *tmp= group_tmp; tmp; tmp= tmp->next) + { + if (*tmp->item == item) + thd->change_item_tree(tmp->item, new_item); + } + } } } if (item->type() == Item::FUNC_ITEM && !found_in_group) From 395d8751d598bddd10a21064a30fa644240b4bd6 Mon Sep 17 00:00:00 2001 From: "igor@olga.mysql.com" <> Date: Sun, 29 Apr 2007 18:28:58 -0700 Subject: [PATCH 107/144] Fix in comments. --- mysql-test/t/olap.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/t/olap.test b/mysql-test/t/olap.test index 99db3874883..61c1bd45e5f 100644 --- a/mysql-test/t/olap.test +++ b/mysql-test/t/olap.test @@ -282,7 +282,7 @@ select left(a,10) x, a, sum(b) from t1 group by x,a with rollup; drop table t1; # -# Bug #20825: ROLLUP by const item in a query with DISTINCT +# Bug #24856: ROLLUP by const item in a query with DISTINCT # CREATE TABLE t1 (a int, b int); From 2cf753a1e84e53f784eaa095058419faaa225855 Mon Sep 17 00:00:00 2001 From: "igor@olga.mysql.com" <> Date: Sun, 29 Apr 2007 20:14:35 -0700 Subject: [PATCH 108/144] Post-merge fix. --- mysql-test/r/olap.result | 1 + sql/item_func.h | 8 ++++++-- sql/sql_select.cc | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/olap.result b/mysql-test/r/olap.result index fe6253611e8..b1c29a5aadb 100644 --- a/mysql-test/r/olap.result +++ b/mysql-test/r/olap.result @@ -667,6 +667,7 @@ x 2 90 x 3 30 x NULL 150 NULL NULL 150 +DROP TABLE t1; CREATE TABLE t1(id int, type char(1)); INSERT INTO t1 VALUES (1,"A"),(2,"C"),(3,"A"),(4,"A"),(5,"B"), diff --git a/sql/item_func.h b/sql/item_func.h index cdf397c82ed..ec5d6bcda02 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -728,10 +728,14 @@ class Item_func_rollup_const :public Item_func { public: Item_func_rollup_const(Item *a) :Item_func(a) - { name= a->name; } - double val() { return args[0]->val(); } + { + name= a->name; + name_length= a->name_length; + } + double val_real() { return args[0]->val_real(); } longlong val_int() { return args[0]->val_int(); } String *val_str(String *str) { return args[0]->val_str(str); } + my_decimal *val_decimal(my_decimal *dec) { return args[0]->val_decimal(dec); } const char *func_name() const { return "rollup_const"; } bool const_item() const { return 0; } Item_result result_type() const { return args[0]->result_type(); } diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 4545ff62f31..b7ac2130784 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -14571,7 +14571,7 @@ bool JOIN::rollup_init() Item* new_item= new Item_func_rollup_const(item); if (!new_item) return 1; - new_item->fix_fields(thd,0, (Item **) 0); + new_item->fix_fields(thd, (Item **) 0); thd->change_item_tree(it.ref(), new_item); for (ORDER *tmp= group_tmp; tmp; tmp= tmp->next) { From c5625bc1add115968a17205f001ab2075f0e7724 Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Mon, 30 Apr 2007 09:25:38 +0500 Subject: [PATCH 109/144] merging fix --- sql/item_cmpfunc.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 559461eda41..ff7b991448c 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -1754,7 +1754,6 @@ bool Item_func_between::fix_fields(THD *thd, Item **ref) void Item_func_between::fix_length_and_dec() { max_length= 1; - THD *thd= current_thd; int i; bool datetime_found= FALSE; compare_as_dates= TRUE; From b5339a8059f99934fa200e33393e1be0d93b85bd Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Mon, 30 Apr 2007 09:02:52 +0200 Subject: [PATCH 110/144] ndb - force var part, part III --- storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 1 + storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp | 3 ++- storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp | 7 +++++++ storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp | 7 +++++++ storage/ndb/test/src/NDBT_Tables.cpp | 8 ++++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index a359267f9d9..e5ef65602bc 100644 --- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -1365,6 +1365,7 @@ Dblqh::sendAddFragReq(Signal* signal) tupFragReq->noOfCharsets = addfragptr.p->noOfCharsets; tupFragReq->checksumIndicator = addfragptr.p->checksumIndicator; tupFragReq->globalCheckpointIdIndicator = addfragptr.p->GCPIndicator; + tupFragReq->forceVarPartFlag = addfragptr.p->forceVarPartFlag; sendSignal(fragptr.p->tupBlockref, GSN_TUPFRAGREQ, signal, TupFragReq::SignalLength, JBB); return; diff --git a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp index d9584c2c938..5b466c47a6f 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +++ b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp @@ -899,7 +899,8 @@ ArrayPool c_triggerPool; enum Bits { TR_Checksum = 0x1, // Need to be 1 - TR_RowGCI = 0x2 + TR_RowGCI = 0x2, + TR_ForceVarPart = 0x4 }; Uint16 m_bits; Uint16 total_rec_size; // Max total size for entire tuple in words diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp index f4cbe5d3398..5bc0244dd7f 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp @@ -1102,7 +1102,14 @@ Dbtup::prepare_initial_insert(KeyReqStruct *req_struct, const Uint32 cnt1= regTabPtr->m_attributes[MM].m_no_of_varsize; const Uint32 cnt2= regTabPtr->m_attributes[DD].m_no_of_varsize; Uint32 *ptr= req_struct->m_tuple_ptr->get_end_of_fix_part_ptr(regTabPtr); + Var_part_ref* ref = req_struct->m_tuple_ptr->get_var_part_ref_ptr(regTabPtr); + if (regTabPtr->m_bits & Tablerec::TR_ForceVarPart) + { + ref->m_page_no = RNIL; + ref->m_page_idx = Tup_varsize_page::END_OF_FREE_LIST; + } + if(cnt1) { KeyReqStruct::Var_data* dst= &req_struct->m_var_data[MM]; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp index c7ac8e14596..040a43d3dcd 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp @@ -61,6 +61,7 @@ void Dbtup::execTUPFRAGREQ(Signal* signal) Uint32 checksumIndicator = tupFragReq->checksumIndicator; Uint32 gcpIndicator = tupFragReq->globalCheckpointIdIndicator; Uint32 tablespace_id= tupFragReq->tablespaceid; + Uint32 forceVarPart = tupFragReq->forceVarPartFlag; Uint64 maxRows = (((Uint64)tupFragReq->maxRowsHigh) << 32) + tupFragReq->maxRowsLow; @@ -175,6 +176,7 @@ void Dbtup::execTUPFRAGREQ(Signal* signal) regTabPtr.p->m_bits = 0; regTabPtr.p->m_bits |= (checksumIndicator ? Tablerec::TR_Checksum : 0); regTabPtr.p->m_bits |= (gcpIndicator ? Tablerec::TR_RowGCI : 0); + regTabPtr.p->m_bits |= (forceVarPart ? Tablerec::TR_ForceVarPart : 0); regTabPtr.p->m_offsets[MM].m_disk_ref_offset= 0; regTabPtr.p->m_offsets[MM].m_null_words= 0; @@ -477,6 +479,11 @@ void Dbtup::execTUP_ADD_ATTRREQ(Signal* signal) } if (regTabPtr.p->m_attributes[MM].m_no_of_varsize) + { + pos[MM] += Var_part_ref::SZ32; + regTabPtr.p->m_bits &= ~(Uint32)Tablerec::TR_ForceVarPart; + } + else if (regTabPtr.p->m_bits & Tablerec::TR_ForceVarPart) { pos[MM] += Var_part_ref::SZ32; } diff --git a/storage/ndb/test/src/NDBT_Tables.cpp b/storage/ndb/test/src/NDBT_Tables.cpp index 11f97182f52..9c94dcc18d1 100644 --- a/storage/ndb/test/src/NDBT_Tables.cpp +++ b/storage/ndb/test/src/NDBT_Tables.cpp @@ -971,11 +971,19 @@ NDBT_Tables::createTable(Ndb* pNdb, const char* _name, bool _temp, "that NDBT_Tables can create!" << endl; return NDBT_WRONGARGS; } + + Uint32 sum = 0; + for (Uint32 i = 0; i Date: Mon, 30 Apr 2007 11:30:07 +0200 Subject: [PATCH 111/144] Bug#27293: mysqldump crashes when dumping procedure defined by different user mysqldump didn't properly handle getting no data on SHOW CREATE PROCEDURE. If S/C/P fails (due to dumping user's insufficient privileges on mysql.proc, say), mysqldump will print a comment to that effect to the output and return an error-code. If the -f (force) option is used, the dump will continue, otherwise, it will abort right there and then. Also fixes Bug#22761, "mysqldump reports no errors when using --routines without mysql.proc privileges" --- Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint into mysql.com:/home/tnurnberg/27293/50-27293 --- client/mysqldump.c | 13 ++++++++++--- mysql-test/r/mysqldump.result | 27 +++++++++++++++++++++++++++ mysql-test/t/mysqldump.test | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 3 deletions(-) diff --git a/client/mysqldump.c b/client/mysqldump.c index 63db2cc268e..4f908b531b1 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1489,8 +1489,15 @@ static uint dump_routines_for_db(char *db) routine body of other routines that are not the creator of! */ DBUG_PRINT("info",("length of body for %s row[2] '%s' is %d", - routine_name, row[2], (int) strlen(row[2]))); - if (strlen(row[2])) + routine_name, row[2] ? row[2] : "(null)", + row[2] ? (int) strlen(row[2]) : 0)); + if (row[2] == NULL) + { + fprintf(sql_file, "\n-- insufficient privileges to %s\n", query_buff); + fprintf(sql_file, "-- does %s have permissions on mysql.proc?\n\n", current_user); + maybe_die(EX_MYSQLERR,"%s has insufficent privileges to %s!", current_user, query_buff); + } + else if (strlen(row[2])) { char *query_str= NULL; char *definer_begin; @@ -1540,7 +1547,7 @@ static uint dump_routines_for_db(char *db) /* we need to change sql_mode only for the CREATE PROCEDURE/FUNCTION otherwise we may need to re-quote routine_name - */; + */ fprintf(sql_file, "/*!50003 SET SESSION SQL_MODE=\"%s\"*/;;\n", row[1] /* sql_mode */); fprintf(sql_file, "/*!50003 %s */;;\n", diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index 5caaa9264d0..d9198ffeb48 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -3282,6 +3282,33 @@ v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI drop database bug23491_original; drop database bug23491_restore; use test; +# +# Bug 27293: mysqldump crashes when dumping routines +# defined by a different user +# +# Bug #22761: mysqldump reports no errors when using +# --routines without mysql.proc privileges +# +create database mysqldump_test_db; +grant all privileges on mysqldump_test_db.* to user1; +grant all privileges on mysqldump_test_db.* to user2; +create procedure mysqldump_test_db.sp1() select 'hello'; +DELIMITER ;; + +-- insufficient privileges to SHOW CREATE PROCEDURE `sp1` +-- does user2 have permissions on mysql.proc? + +DELIMITER ; +DELIMITER ;; +/*!50003 SET SESSION SQL_MODE=""*/;; +/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`() +select 'hello' */;; +/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;; +DELIMITER ; +drop procedure sp1; +drop user user1; +drop user user2; +drop database mysqldump_test_db; # # End of 5.0 tests # diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index 126412057ab..4c4690520c6 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -1495,6 +1495,41 @@ drop database bug23491_original; drop database bug23491_restore; use test; + + +--echo # +--echo # Bug 27293: mysqldump crashes when dumping routines +--echo # defined by a different user +--echo # +--echo # Bug #22761: mysqldump reports no errors when using +--echo # --routines without mysql.proc privileges +--echo # + +create database mysqldump_test_db; + +grant all privileges on mysqldump_test_db.* to user1; +grant all privileges on mysqldump_test_db.* to user2; + +connect (user27293,localhost,user1,,mysqldump_test_db,$MASTER_MYPORT,$MASTER_MYSOCK); +connection user27293; + +create procedure mysqldump_test_db.sp1() select 'hello'; + +--error 2 +--exec $MYSQL_DUMP -f --compact --user=user2 --password= -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db + +--exec $MYSQL_DUMP -f --compact --user=user1 --password= -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db + +drop procedure sp1; + +connection default; +drop user user1; +drop user user2; + +drop database mysqldump_test_db; + + + --echo # --echo # End of 5.0 tests --echo # From 598a60285feb1ab6ac3d312c6d9ee05b92bd62f8 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Mon, 30 Apr 2007 11:43:50 +0200 Subject: [PATCH 112/144] ndb_restore to set correct value force varpart + some tests --- mysql-test/r/ndb_restore.result | 6 +++++- mysql-test/r/ndb_restore_compat.result | 10 ++++++++++ mysql-test/t/ndb_restore.test | 12 ++++++++++- mysql-test/t/ndb_restore_compat.test | 20 ++++++++++++++++++- .../ndb/tools/restore/consumer_restore.cpp | 16 +++++++++++++++ 5 files changed, 61 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/ndb_restore.result b/mysql-test/r/ndb_restore.result index b57fc2e14ba..8ecffa437b0 100644 --- a/mysql-test/r/ndb_restore.result +++ b/mysql-test/r/ndb_restore.result @@ -23,7 +23,7 @@ CREATE TABLE `t3_c` ( `CapGoaledatta` smallint(5) unsigned NOT NULL default '0', `capgotod` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`capgotod`,`CapGoaledatta`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1; +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED; INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3); CREATE TABLE `t4_c` ( `capfa` bigint(20) unsigned NOT NULL auto_increment, @@ -129,6 +129,8 @@ create table t7 engine=myisam as select * from t7_c; create table t8 engine=myisam as select * from t8_c; create table t9 engine=myisam as select * from t9_c; create table t10 engine=myisam as select * from t10_c; +ForceVarPart: 0 +ForceVarPart: 1 CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; DELETE FROM test.backup_info; LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; @@ -137,6 +139,8 @@ SELECT @the_backup_id:=backup_id FROM test.backup_info; DROP TABLE test.backup_info; drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; +ForceVarPart: 0 +ForceVarPart: 1 select count(*) from t1; count(*) 5 diff --git a/mysql-test/r/ndb_restore_compat.result b/mysql-test/r/ndb_restore_compat.result index d495aa28135..db17f9af32b 100644 --- a/mysql-test/r/ndb_restore_compat.result +++ b/mysql-test/r/ndb_restore_compat.result @@ -47,11 +47,21 @@ SYSTEM_VALUES_ID VALUE SELECT * FROM mysql.ndb_apply_status WHERE server_id=0; server_id epoch log_name start_pos end_pos 0 151 0 0 +ForceVarPart: 1 +ForceVarPart: 1 +ForceVarPart: 1 +ForceVarPart: 1 +ForceVarPart: 1 TRUNCATE GL; TRUNCATE ACCOUNT; TRUNCATE TRANSACTION; TRUNCATE SYSTEM_VALUES; TRUNCATE ACCOUNT_TYPE; +ForceVarPart: 1 +ForceVarPart: 1 +ForceVarPart: 1 +ForceVarPart: 1 +ForceVarPart: 1 SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE; TIME ACCOUNT_TYPE BALANCE DEPOSIT_COUNT DEPOSIT_SUM WITHDRAWAL_COUNT WITHDRAWAL_SUM PURGED 0 0 10000000 0 0 0 0 1 diff --git a/mysql-test/t/ndb_restore.test b/mysql-test/t/ndb_restore.test index 662eb43c422..61927a1f90a 100644 --- a/mysql-test/t/ndb_restore.test +++ b/mysql-test/t/ndb_restore.test @@ -35,11 +35,13 @@ CREATE TABLE `t2_c` ( ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t2_c` VALUES (500,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST'); +# Added ROW_FORMAT=FIXED to use below to see that setting is preserved +# by restore CREATE TABLE `t3_c` ( `CapGoaledatta` smallint(5) unsigned NOT NULL default '0', `capgotod` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`capgotod`,`CapGoaledatta`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1; +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED; INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3); # Bug #27775 - mediumint auto inc not restored correctly @@ -164,11 +166,19 @@ create table t8 engine=myisam as select * from t8_c; create table t9 engine=myisam as select * from t9_c; create table t10 engine=myisam as select * from t10_c; +# check that force varpart is preserved by ndb_restore +# t3_c has ROW_FORMAT=FIXED i.e. ForceVarPart=0 +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t3_c | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t2_c | grep ForceVarPart --source include/ndb_backup.inc drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +# check that force varpart is preserved by ndb_restore +# t3_c has ROW_FORMAT=FIXED i.e. ForceVarPart=0 +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t3_c | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t2_c | grep ForceVarPart # random output order?? #show tables; diff --git a/mysql-test/t/ndb_restore_compat.test b/mysql-test/t/ndb_restore_compat.test index a95829a4354..2622aec1d50 100644 --- a/mysql-test/t/ndb_restore_compat.test +++ b/mysql-test/t/ndb_restore_compat.test @@ -13,9 +13,9 @@ DROP DATABASE IF EXISTS BANK; --enable_warnings CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin; -USE BANK; --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -p 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup51 >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -e -b 1 -n 2 -p 1 -r $MYSQL_TEST_DIR/std_data/ndb_backup51 >> $NDB_TOOLS_OUTPUT +USE BANK; SHOW TABLES; SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE; SELECT * FROM ACCOUNT ORDER BY ACCOUNT_ID; @@ -23,6 +23,13 @@ SELECT COUNT(*) FROM TRANSACTION; SELECT * FROM SYSTEM_VALUES ORDER BY SYSTEM_VALUES_ID; SELECT * FROM mysql.ndb_apply_status WHERE server_id=0; +# Check that force varpart is set by ndb_restore +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK GL | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK TRANSACTION | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK SYSTEM_VALUES | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT_TYPE | grep ForceVarPart + # # verify restore of 5.0 backup # here we must use the already created tables as restoring the old @@ -33,8 +40,19 @@ TRUNCATE ACCOUNT; TRUNCATE TRANSACTION; TRUNCATE SYSTEM_VALUES; TRUNCATE ACCOUNT_TYPE; + +# Check that force varpart is not changed by truncate +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK GL | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK TRANSACTION | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK SYSTEM_VALUES | grep ForceVarPart +--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT_TYPE | grep ForceVarPart + +# Restore data --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -p 1 -r $MYSQL_TEST_DIR/std_data/ndb_backup50 >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -e -b 1 -n 2 -p 1 -r $MYSQL_TEST_DIR/std_data/ndb_backup50 >> $NDB_TOOLS_OUTPUT + +# Check data SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE; SELECT * FROM ACCOUNT ORDER BY ACCOUNT_ID; SELECT COUNT(*) FROM TRANSACTION; diff --git a/storage/ndb/tools/restore/consumer_restore.cpp b/storage/ndb/tools/restore/consumer_restore.cpp index 3aa36089e42..3dd4b072671 100644 --- a/storage/ndb/tools/restore/consumer_restore.cpp +++ b/storage/ndb/tools/restore/consumer_restore.cpp @@ -869,6 +869,22 @@ BackupRestore::table(const TableS & table){ copy.setFragmentData((const void *)ng_array, no_parts << 1); } + /** + * Force of varpart was introduced in 5.1.18, telco 6.1.7 and 6.2.1 + * Since default from mysqld is to add force of varpart (disable with + * ROW_FORMAT=FIXED) we force varpart onto tables when they are restored + * from backups taken with older versions. This will be wrong if + * ROW_FORMAT=FIXED was used on original table, however the likelyhood of + * this is low, since ROW_FORMAT= was a NOOP in older versions. + */ + + if (table.getBackupVersion() < MAKE_VERSION(5,1,18)) + copy.setForceVarPart(true); + else if (getMajor(table.getBackupVersion()) == 6 && + (table.getBackupVersion() < MAKE_VERSION(6,1,7) || + table.getBackupVersion() == MAKE_VERSION(6,2,0))) + copy.setForceVarPart(true); + /* update min and max rows to reflect the table, this to ensure that memory is allocated properly in the ndb kernel From 205dfa4401e6c2fb5c1810f2f4ab627cb2273d7b Mon Sep 17 00:00:00 2001 From: "tnurnberg@mysql.com/blasphemy.mysql.com" <> Date: Mon, 30 Apr 2007 12:32:57 +0200 Subject: [PATCH 113/144] Bug#27293: mysqldump crashes when dumping procedure defined by different user mysqldump didn't properly handle getting no data on SHOW CREATE PROCEDURE. If S/C/P fails (due to dumping user's insufficient privileges on mysql.proc, say), mysqldump will print a comment to that effect to the output and return an error-code. If the -f (force) option is used, the dump will continue, otherwise, it will abort right there and then. Also fixes Bug#22761, "mysqldump reports no errors when using --routines without mysql.proc privileges" --- Merge mysql.com:/home/tnurnberg/27293/50-27293 into mysql.com:/home/tnurnberg/27293/51-27293 --- Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint into mysql.com:/home/tnurnberg/27293/51-27293 --- client/mysqldump.c | 15 +++++++++++---- mysql-test/r/mysqldump.result | 27 +++++++++++++++++++++++++++ mysql-test/t/mysqldump.test | 31 +++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 4 deletions(-) diff --git a/client/mysqldump.c b/client/mysqldump.c index d556e0136df..afefa467cce 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1640,9 +1640,16 @@ static uint dump_routines_for_db(char *db) if the user has EXECUTE privilege he see routine names, but NOT the routine body of other routines that are not the creator of! */ - DBUG_PRINT("info",("length of body for %s row[2] '%s' is %ld", - routine_name, row[2], (long) strlen(row[2]))); - if (strlen(row[2])) + DBUG_PRINT("info",("length of body for %s row[2] '%s' is %d", + routine_name, row[2] ? row[2] : "(null)", + row[2] ? (int) strlen(row[2]) : 0)); + if (row[2] == NULL) + { + fprintf(sql_file, "\n-- insufficient privileges to %s\n", query_buff); + fprintf(sql_file, "-- does %s have permissions on mysql.proc?\n\n", current_user); + maybe_die(EX_MYSQLERR,"%s has insufficent privileges to %s!", current_user, query_buff); + } + else if (strlen(row[2])) { char *query_str= NULL; char *definer_begin; @@ -1692,7 +1699,7 @@ static uint dump_routines_for_db(char *db) /* we need to change sql_mode only for the CREATE PROCEDURE/FUNCTION otherwise we may need to re-quote routine_name - */; + */ fprintf(sql_file, "/*!50003 SET SESSION SQL_MODE=\"%s\"*/;;\n", row[1] /* sql_mode */); fprintf(sql_file, "/*!50003 %s */;;\n", diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index d898869caac..af0db95d97c 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -3281,6 +3281,33 @@ v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI drop database bug23491_original; drop database bug23491_restore; use test; +# +# Bug 27293: mysqldump crashes when dumping routines +# defined by a different user +# +# Bug #22761: mysqldump reports no errors when using +# --routines without mysql.proc privileges +# +create database mysqldump_test_db; +grant all privileges on mysqldump_test_db.* to user1; +grant all privileges on mysqldump_test_db.* to user2; +create procedure mysqldump_test_db.sp1() select 'hello'; +DELIMITER ;; + +-- insufficient privileges to SHOW CREATE PROCEDURE `sp1` +-- does user2 have permissions on mysql.proc? + +DELIMITER ; +DELIMITER ;; +/*!50003 SET SESSION SQL_MODE=""*/;; +/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`() +select 'hello' */;; +/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;; +DELIMITER ; +drop procedure sp1; +drop user user1; +drop user user2; +drop database mysqldump_test_db; # # End of 5.0 tests # diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index ba19fa30663..f0343624208 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -1497,6 +1497,37 @@ drop database bug23491_original; drop database bug23491_restore; use test; +--echo # +--echo # Bug 27293: mysqldump crashes when dumping routines +--echo # defined by a different user +--echo # +--echo # Bug #22761: mysqldump reports no errors when using +--echo # --routines without mysql.proc privileges +--echo # + +create database mysqldump_test_db; + +grant all privileges on mysqldump_test_db.* to user1; +grant all privileges on mysqldump_test_db.* to user2; + +connect (user27293,localhost,user1,,mysqldump_test_db,$MASTER_MYPORT,$MASTER_MYSOCK); +connection user27293; + +create procedure mysqldump_test_db.sp1() select 'hello'; + +--error 2 +--exec $MYSQL_DUMP -f --compact --user=user2 --password= -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db + +--exec $MYSQL_DUMP -f --compact --user=user1 --password= -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db + +drop procedure sp1; + +connection default; +drop user user1; +drop user user2; + +drop database mysqldump_test_db; + --echo # --echo # End of 5.0 tests --echo # From 6559c7702221318c027d42ea422b013a287ba0b8 Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Mon, 30 Apr 2007 12:56:16 +0200 Subject: [PATCH 114/144] ndb - bug#28161 fix commit triggers with DD but not using DD --- .../include/kernel/signaldata/TupCommit.hpp | 3 +- .../ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 1 + storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp | 14 +++++--- .../src/kernel/blocks/dbtup/DbtupCommit.cpp | 17 ++++++++-- .../kernel/blocks/dbtup/DbtupExecQuery.cpp | 1 - .../src/kernel/blocks/dbtup/DbtupTrigger.cpp | 33 +++++++++++-------- 6 files changed, 46 insertions(+), 23 deletions(-) diff --git a/storage/ndb/include/kernel/signaldata/TupCommit.hpp b/storage/ndb/include/kernel/signaldata/TupCommit.hpp index 976aa590659..11d0dbbb8d3 100644 --- a/storage/ndb/include/kernel/signaldata/TupCommit.hpp +++ b/storage/ndb/include/kernel/signaldata/TupCommit.hpp @@ -35,7 +35,7 @@ class TupCommitReq { friend bool printTUPCOMMITREQ(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo); public: - STATIC_CONST( SignalLength = 3 ); + STATIC_CONST( SignalLength = 4 ); private: @@ -45,6 +45,7 @@ private: Uint32 opPtr; Uint32 gci; Uint32 hashValue; + Uint32 diskpage; }; #endif diff --git a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index e5ef65602bc..a4b1293ba55 100644 --- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -6348,6 +6348,7 @@ void Dblqh::commitContinueAfterBlockedLab(Signal* signal) tupCommitReq->opPtr = sig0; tupCommitReq->gci = regTcPtr.p->gci; tupCommitReq->hashValue = regTcPtr.p->hashValue; + tupCommitReq->diskpage = RNIL; EXECUTE_DIRECT(tup, GSN_TUP_COMMITREQ, signal, TupCommitReq::SignalLength); diff --git a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp index 5b466c47a6f..6d14b714be0 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +++ b/storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp @@ -2126,7 +2126,8 @@ private: #endif void checkDetachedTriggers(KeyReqStruct *req_struct, Operationrec* regOperPtr, - Tablerec* regTablePtr); + Tablerec* regTablePtr, + bool disk); void fireImmediateTriggers(KeyReqStruct *req_struct, DLList& triggerList, @@ -2138,7 +2139,8 @@ private: void fireDetachedTriggers(KeyReqStruct *req_struct, DLList& triggerList, - Operationrec* regOperPtr); + Operationrec* regOperPtr, + bool disk); void executeTriggers(KeyReqStruct *req_struct, DLList& triggerList, @@ -2146,7 +2148,8 @@ private: void executeTrigger(KeyReqStruct *req_struct, TupTriggerData* trigPtr, - Operationrec* regOperPtr); + Operationrec* regOperPtr, + bool disk = true); bool readTriggerInfo(TupTriggerData* trigPtr, Operationrec* regOperPtr, @@ -2157,8 +2160,9 @@ private: Uint32* afterBuffer, Uint32& noAfterWords, Uint32* beforeBuffer, - Uint32& noBeforeWords); - + Uint32& noBeforeWords, + bool disk); + void sendTrigAttrInfo(Signal* signal, Uint32* data, Uint32 dataLen, diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp index 5780c8395bd..eb428775872 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp @@ -358,6 +358,7 @@ Dbtup::disk_page_commit_callback(Signal* signal, tupCommitReq->opPtr= opPtrI; tupCommitReq->hashValue= hash_value; tupCommitReq->gci= gci; + tupCommitReq->diskpage = page_id; regOperPtr.p->op_struct.m_load_diskpage_on_commit= 0; regOperPtr.p->m_commit_disk_callback_page= page_id; @@ -388,14 +389,15 @@ Dbtup::disk_page_log_buffer_callback(Signal* signal, c_operation_pool.getPtr(regOperPtr, opPtrI); c_lqh->get_op_info(regOperPtr.p->userpointer, &hash_value, &gci); + Uint32 page= regOperPtr.p->m_commit_disk_callback_page; TupCommitReq * const tupCommitReq= (TupCommitReq *)signal->getDataPtr(); tupCommitReq->opPtr= opPtrI; tupCommitReq->hashValue= hash_value; tupCommitReq->gci= gci; + tupCommitReq->diskpage = page; - Uint32 page= regOperPtr.p->m_commit_disk_callback_page; ndbassert(regOperPtr.p->op_struct.m_load_diskpage_on_commit == 0); regOperPtr.p->op_struct.m_wait_log_buffer= 0; m_global_page_pool.getPtr(m_pgman.m_ptr, page); @@ -480,7 +482,16 @@ void Dbtup::execTUP_COMMITREQ(Signal* signal) req_struct.signal= signal; req_struct.hash_value= hash_value; req_struct.gci= gci; + regOperPtr.p->m_commit_disk_callback_page = tupCommitReq->diskpage; +#ifdef VM_TRACE + if (tupCommitReq->diskpage == RNIL) + { + m_pgman.m_ptr.setNull(); + req_struct.m_disk_page_ptr.setNull(); + } +#endif + ptrCheckGuard(regTabPtr, no_of_tablerec, tablerec); PagePtr page; @@ -628,8 +639,10 @@ skip_disk: /** * Perform "real" commit */ + Uint32 disk = regOperPtr.p->m_commit_disk_callback_page; set_change_mask_info(&req_struct, regOperPtr.p); - checkDetachedTriggers(&req_struct, regOperPtr.p, regTabPtr.p); + checkDetachedTriggers(&req_struct, regOperPtr.p, regTabPtr.p, + disk != RNIL); if(regOperPtr.p->op_struct.op_type != ZDELETE) { diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp index 5bc0244dd7f..91bc346c071 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp @@ -24,7 +24,6 @@ #include "AttributeOffset.hpp" #include #include -#include #include #include #include diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp index 9615047540b..f85f3665ab3 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp @@ -459,7 +459,8 @@ void Dbtup::checkDeferredTriggers(Signal* signal, /* ---------------------------------------------------------------- */ void Dbtup::checkDetachedTriggers(KeyReqStruct *req_struct, Operationrec* regOperPtr, - Tablerec* regTablePtr) + Tablerec* regTablePtr, + bool disk) { Uint32 save_type = regOperPtr->op_struct.op_type; Tuple_header *save_ptr = req_struct->m_tuple_ptr; @@ -505,7 +506,7 @@ void Dbtup::checkDetachedTriggers(KeyReqStruct *req_struct, // If any fired immediate insert trigger then fetch after tuple fireDetachedTriggers(req_struct, regTablePtr->subscriptionInsertTriggers, - regOperPtr); + regOperPtr, disk); break; case(ZDELETE): ljam(); @@ -519,7 +520,7 @@ void Dbtup::checkDetachedTriggers(KeyReqStruct *req_struct, // FIRETRIGORD with the before tuple fireDetachedTriggers(req_struct, regTablePtr->subscriptionDeleteTriggers, - regOperPtr); + regOperPtr, disk); break; case(ZUPDATE): ljam(); @@ -533,7 +534,7 @@ void Dbtup::checkDetachedTriggers(KeyReqStruct *req_struct, // and send two FIRETRIGORD one with before tuple and one with after tuple fireDetachedTriggers(req_struct, regTablePtr->subscriptionUpdateTriggers, - regOperPtr); + regOperPtr, disk); break; default: ndbrequire(false); @@ -591,7 +592,8 @@ Dbtup::fireDeferredTriggers(Signal* signal, void Dbtup::fireDetachedTriggers(KeyReqStruct *req_struct, DLList& triggerList, - Operationrec* const regOperPtr) + Operationrec* const regOperPtr, + bool disk) { TriggerPtr trigPtr; @@ -612,7 +614,8 @@ Dbtup::fireDetachedTriggers(KeyReqStruct *req_struct, ljam(); executeTrigger(req_struct, trigPtr.p, - regOperPtr); + regOperPtr, + disk); } triggerList.next(trigPtr); } @@ -636,7 +639,8 @@ void Dbtup::executeTriggers(KeyReqStruct *req_struct, void Dbtup::executeTrigger(KeyReqStruct *req_struct, TupTriggerData* const trigPtr, - Operationrec* const regOperPtr) + Operationrec* const regOperPtr, + bool disk) { /** * The block below does not work together with GREP. @@ -703,7 +707,8 @@ void Dbtup::executeTrigger(KeyReqStruct *req_struct, afterBuffer, noAfterWords, beforeBuffer, - noBeforeWords)) { + noBeforeWords, + disk)) { ljam(); return; } @@ -806,9 +811,9 @@ bool Dbtup::readTriggerInfo(TupTriggerData* const trigPtr, Uint32* const afterBuffer, Uint32& noAfterWords, Uint32* const beforeBuffer, - Uint32& noBeforeWords) + Uint32& noBeforeWords, + bool disk) { - //XXX this will not work with varsize attributes... noAfterWords = 0; noBeforeWords = 0; Uint32 readBuffer[MAX_ATTRIBUTES_IN_TABLE]; @@ -841,8 +846,8 @@ bool Dbtup::readTriggerInfo(TupTriggerData* const trigPtr, c_undo_buffer.get_ptr(&req_struct->prevOpPtr.p->m_copy_tuple_location); } - if (regTabPtr->need_expand()) - prepare_read(req_struct, regTabPtr, true); + if (regTabPtr->need_expand(disk)) + prepare_read(req_struct, regTabPtr, disk); int ret = readAttributes(req_struct, &tableDescriptor[regTabPtr->readKeyArray].tabDescr, @@ -937,8 +942,8 @@ bool Dbtup::readTriggerInfo(TupTriggerData* const trigPtr, req_struct->m_tuple_ptr= (Tuple_header*)ptr; } - if (regTabPtr->need_expand()) // no disk - prepare_read(req_struct, regTabPtr, true); + if (regTabPtr->need_expand(disk)) + prepare_read(req_struct, regTabPtr, disk); int ret = readAttributes(req_struct, &readBuffer[0], From da4f6b331e28e69a43e1e4951785c4f578e51973 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Mon, 30 Apr 2007 14:17:08 +0200 Subject: [PATCH 115/144] Bug#27926 wrong month name in cluster error log --- ndb/src/kernel/error/TimeModule.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndb/src/kernel/error/TimeModule.cpp b/ndb/src/kernel/error/TimeModule.cpp index 1c01f91f86b..2be734842ba 100644 --- a/ndb/src/kernel/error/TimeModule.cpp +++ b/ndb/src/kernel/error/TimeModule.cpp @@ -18,7 +18,7 @@ #include #include "TimeModule.hpp" -static const char* cMonth[] = { "x", "January", "February", "Mars", "April", "May", "June", +static const char* cMonth[] = { "x", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; static const char* cDay[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", From dd58f5a461ed45898d30f1d5341eb9f2404818b7 Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Mon, 30 Apr 2007 16:24:13 +0200 Subject: [PATCH 116/144] shorten filenames --- .../include => parts/inc}/methods1.inc | 16 +- .../inc/part_blocked_sql_funcs_main.inc} | 90 +++++------ .../inc/part_supported_sql_funcs_delete.inc} | 2 +- .../inc/part_supported_sql_funcs_int_ch1.inc} | 0 .../part_supported_sql_funcs_int_date.inc} | 0 .../part_supported_sql_funcs_int_float.inc} | 0 .../inc/part_supported_sql_funcs_int_int.inc} | 0 .../part_supported_sql_funcs_int_time.inc} | 0 .../inc/part_supported_sql_funcs_main.inc} | 96 +++++------ .../include => parts/inc}/partition.pre | 0 .../include => parts/inc}/partition_20.inc | 0 .../inc}/partition_alter1.inc | 62 ++++---- .../inc}/partition_alter2.inc | 124 +++++++-------- .../inc}/partition_alter3.inc | 40 ++--- .../inc}/partition_alter4.inc | 42 ++--- .../inc}/partition_alter_1.inc | 2 +- .../inc}/partition_alter_11.inc | 16 +- .../inc}/partition_alter_13.inc | 16 +- .../inc}/partition_alter_41.inc | 16 +- .../include => parts/inc}/partition_basic.inc | 42 ++--- .../inc}/partition_bigint.inc | 0 .../inc}/partition_binary.inc | 0 .../include => parts/inc}/partition_bit.inc | 0 .../include => parts/inc}/partition_blob.inc | 0 .../inc}/partition_blocked_sql_funcs.inc | 0 .../include => parts/inc}/partition_char.inc | 0 .../include => parts/inc}/partition_check.inc | 52 +++--- .../inc}/partition_check_drop.inc | 0 .../inc}/partition_check_read.inc | 0 .../inc}/partition_check_read1.inc | 0 .../inc}/partition_check_read2.inc | 0 .../inc}/partition_cleanup.inc | 0 .../include => parts/inc}/partition_date.inc | 0 .../inc}/partition_datetime.inc | 0 .../inc}/partition_decimal.inc | 0 .../inc}/partition_directory.inc | 28 ++-- .../inc}/partition_double.inc | 0 .../inc}/partition_engine.inc | 28 ++-- .../include => parts/inc}/partition_enum.inc | 0 .../include => parts/inc}/partition_float.inc | 0 .../include => parts/inc}/partition_int.inc | 0 .../inc}/partition_key_16col.inc | 0 .../inc}/partition_key_32col.inc | 0 .../inc}/partition_key_4col.inc | 0 .../inc}/partition_key_8col.inc | 0 .../inc}/partition_layout_check1.inc | 0 .../inc}/partition_layout_check2.inc | 0 .../inc}/partition_mediumint.inc | 0 .../inc}/partition_methods1.inc | 32 ++-- .../inc}/partition_methods2.inc | 16 +- .../include => parts/inc}/partition_set.inc | 0 .../inc}/partition_smallint.inc | 0 .../inc}/partition_supported_sql_funcs.inc | 14 +- .../inc}/partition_syntax.inc | 102 ++++++------ .../inc}/partition_syntax_1.inc | 4 +- .../inc}/partition_syntax_2.inc | 4 +- .../include => parts/inc}/partition_text.inc | 0 .../include => parts/inc}/partition_time.inc | 0 .../inc}/partition_timestamp.inc | 0 .../inc}/partition_tinyint.inc | 0 .../inc}/partition_trigg1.inc | 0 .../inc}/partition_trigg2.inc | 0 .../inc}/partition_trigg3.inc | 0 .../include => parts/inc}/partition_value.inc | 0 .../inc}/partition_varbinary.inc | 0 .../inc}/partition_varchar.inc | 0 .../include => parts/inc}/partition_year.inc | 0 .../r/ndb_blob_partition.result | 0 .../r/ndb_dd_backuprestore.result | 0 .../r/ndb_partition_error.result | 0 .../r/ndb_partition_key.result | 2 + .../r/ndb_partition_list.result | 0 .../r/ndb_partition_range.result | 0 .../r/part_blocked_sql_func_innodb.result} | 0 .../r/part_blocked_sql_func_myisam.result} | 0 .../r/part_supported_sql_func_innodb.result} | 150 +++++++++--------- .../r/part_supported_sql_func_myisam.result} | 150 +++++++++--------- .../r/part_supported_sql_func_ndb.result} | 0 .../r/partition_alter1_innodb.result | 0 .../r/partition_alter1_myisam.result | 0 .../r/partition_alter2_innodb.result | 0 .../r/partition_alter2_myisam.result | 0 .../r/partition_alter3_innodb.result | 0 .../r/partition_alter3_myisam.result | 0 .../r/partition_alter4_innodb.result | 0 .../r/partition_alter4_myisam.result | 0 .../r/partition_basic_innodb.result | 0 .../r/partition_basic_myisam.result | 0 .../r/partition_bit_innodb.result | 0 .../r/partition_bit_myisam.result | 0 .../r/partition_bit_ndb.result | 0 .../r/partition_char_innodb.result | 0 .../r/partition_char_myisam.result | 0 .../r/partition_datetime_innodb.result | 0 .../r/partition_datetime_myisam.result | 0 .../r/partition_decimal_innodb.result | 0 .../r/partition_decimal_myisam.result | 0 .../r/partition_engine_innodb.result | 0 .../r/partition_engine_myisam.result | 0 .../r/partition_engine_ndb.result | 0 .../r/partition_float_innodb.result | 0 .../r/partition_float_myisam.result | 0 .../r/partition_int_innodb.result | 0 .../r/partition_int_myisam.result | 0 .../r/partition_int_ndb.result | 0 .../r/partition_special_innodb.result | 0 .../r/partition_special_myisam.result | 0 .../r/partition_syntax_innodb.result | 0 .../r/partition_syntax_myisam.result | 0 .../r/partition_syntax_ndb.result | 0 .../{partitions => parts}/r/partition_t55.out | 0 .../r/partition_value_innodb.result | 0 .../r/partition_value_myisam.result | 0 .../r/partition_value_ndb.result | 0 .../r/rpl_ndb_dd_partitions.result | 0 .../{partitions => parts}/t/disabled.def | 0 .../t/ndb_blob_partition.test | 0 .../t/ndb_dd_backuprestore.test | 0 .../t/ndb_partition_error.test | 0 .../t/ndb_partition_key.test | 0 .../t/ndb_partition_list.test | 0 .../t/ndb_partition_range.test | 0 .../t/part_blocked_sql_func_innodb.test} | 4 +- .../t/part_blocked_sql_func_myisam.test} | 4 +- .../t/part_supported_sql_func_innodb.test} | 6 +- .../t/part_supported_sql_func_myisam.test} | 6 +- .../t/part_supported_sql_func_ndb.test} | 6 +- .../t/partition_alter1_innodb.test | 12 +- .../t/partition_alter1_myisam.test | 12 +- .../t/partition_alter1_ndb.test | 12 +- .../t/partition_alter2_innodb.test | 12 +- .../t/partition_alter2_myisam.test | 12 +- .../t/partition_alter2_ndb.test | 12 +- .../t/partition_alter3_innodb.test | 12 +- .../t/partition_alter3_myisam.test | 12 +- .../t/partition_alter4_innodb.test | 12 +- .../t/partition_alter4_myisam.test | 12 +- .../t/partition_basic_innodb.test | 12 +- .../t/partition_basic_myisam.test | 12 +- .../t/partition_basic_ndb.test | 12 +- .../t/partition_bit_innodb.test | 4 +- .../t/partition_bit_myisam.test | 4 +- .../t/partition_bit_ndb.test | 4 +- .../t/partition_char_innodb.test | 32 ++-- .../t/partition_char_myisam.test | 4 +- .../t/partition_datetime_innodb.test | 20 +-- .../t/partition_datetime_myisam.test | 20 +-- .../t/partition_decimal_innodb.test | 4 +- .../t/partition_decimal_myisam.test | 4 +- .../t/partition_engine_innodb.test | 12 +- .../t/partition_engine_myisam.test | 12 +- .../t/partition_engine_ndb.test | 12 +- .../t/partition_float_innodb.test | 8 +- .../t/partition_float_myisam.test | 8 +- .../t/partition_int_innodb.test | 20 +-- .../t/partition_int_myisam.test | 20 +-- .../t/partition_int_ndb.test | 20 +-- .../t/partition_sessions.test | 0 .../t/partition_special_innodb.test | 16 +- .../t/partition_special_myisam.test | 16 +- .../t/partition_syntax_innodb.test | 12 +- .../t/partition_syntax_myisam.test | 12 +- .../t/partition_syntax_ndb.test | 12 +- .../t/partition_value_innodb.test | 12 +- .../t/partition_value_myisam.test | 12 +- .../t/partition_value_ndb.test | 12 +- .../t/rpl_ndb_dd_partitions.test | 0 167 files changed, 821 insertions(+), 819 deletions(-) rename mysql-test/suite/{partitions/include => parts/inc}/methods1.inc (94%) rename mysql-test/suite/{partitions/include/partition_blocked_sql_funcs_main.inc => parts/inc/part_blocked_sql_funcs_main.inc} (73%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_delete.inc => parts/inc/part_supported_sql_funcs_delete.inc} (93%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_int_ch1.in => parts/inc/part_supported_sql_funcs_int_ch1.inc} (100%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_int_date.in => parts/inc/part_supported_sql_funcs_int_date.inc} (100%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_int_float.in => parts/inc/part_supported_sql_funcs_int_float.inc} (100%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_int_int.in => parts/inc/part_supported_sql_funcs_int_int.inc} (100%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_int_time.in => parts/inc/part_supported_sql_funcs_int_time.inc} (100%) rename mysql-test/suite/{partitions/include/partition_supported_sql_funcs_main.inc => parts/inc/part_supported_sql_funcs_main.inc} (73%) rename mysql-test/suite/{partitions/include => parts/inc}/partition.pre (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_20.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter1.inc (84%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter2.inc (76%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter3.inc (86%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter4.inc (83%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter_1.inc (98%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter_11.inc (94%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter_13.inc (94%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_alter_41.inc (94%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_basic.inc (84%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_bigint.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_binary.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_bit.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_blob.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_blocked_sql_funcs.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_char.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_check.inc (96%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_check_drop.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_check_read.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_check_read1.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_check_read2.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_cleanup.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_date.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_datetime.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_decimal.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_directory.inc (89%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_double.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_engine.inc (93%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_enum.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_float.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_int.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_key_16col.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_key_32col.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_key_4col.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_key_8col.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_layout_check1.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_layout_check2.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_mediumint.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_methods1.inc (91%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_methods2.inc (94%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_set.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_smallint.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_supported_sql_funcs.inc (94%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_syntax.inc (90%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_syntax_1.inc (96%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_syntax_2.inc (94%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_text.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_time.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_timestamp.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_tinyint.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_trigg1.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_trigg2.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_trigg3.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_value.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_varbinary.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_varchar.inc (100%) rename mysql-test/suite/{partitions/include => parts/inc}/partition_year.inc (100%) rename mysql-test/suite/{partitions => parts}/r/ndb_blob_partition.result (100%) rename mysql-test/suite/{partitions => parts}/r/ndb_dd_backuprestore.result (100%) rename mysql-test/suite/{partitions => parts}/r/ndb_partition_error.result (100%) rename mysql-test/suite/{partitions => parts}/r/ndb_partition_key.result (99%) rename mysql-test/suite/{partitions => parts}/r/ndb_partition_list.result (100%) rename mysql-test/suite/{partitions => parts}/r/ndb_partition_range.result (100%) rename mysql-test/suite/{partitions/r/partition_blocked_sql_func_innodb.result => parts/r/part_blocked_sql_func_innodb.result} (100%) rename mysql-test/suite/{partitions/r/partition_blocked_sql_func_myisam.result => parts/r/part_blocked_sql_func_myisam.result} (100%) rename mysql-test/suite/{partitions/r/partition_supported_sql_func_innodb.result => parts/r/part_supported_sql_func_innodb.result} (97%) rename mysql-test/suite/{partitions/r/partition_supported_sql_func_myisam.result => parts/r/part_supported_sql_func_myisam.result} (97%) rename mysql-test/suite/{partitions/r/partition_supported_sql_func_ndb.result => parts/r/part_supported_sql_func_ndb.result} (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter1_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter1_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter2_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter2_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter3_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter3_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter4_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_alter4_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_basic_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_basic_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_bit_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_bit_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_bit_ndb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_char_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_char_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_datetime_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_datetime_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_decimal_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_decimal_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_engine_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_engine_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_engine_ndb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_float_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_float_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_int_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_int_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_int_ndb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_special_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_special_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_syntax_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_syntax_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_syntax_ndb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_t55.out (100%) rename mysql-test/suite/{partitions => parts}/r/partition_value_innodb.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_value_myisam.result (100%) rename mysql-test/suite/{partitions => parts}/r/partition_value_ndb.result (100%) rename mysql-test/suite/{partitions => parts}/r/rpl_ndb_dd_partitions.result (100%) rename mysql-test/suite/{partitions => parts}/t/disabled.def (100%) rename mysql-test/suite/{partitions => parts}/t/ndb_blob_partition.test (100%) rename mysql-test/suite/{partitions => parts}/t/ndb_dd_backuprestore.test (100%) rename mysql-test/suite/{partitions => parts}/t/ndb_partition_error.test (100%) rename mysql-test/suite/{partitions => parts}/t/ndb_partition_key.test (100%) rename mysql-test/suite/{partitions => parts}/t/ndb_partition_list.test (100%) rename mysql-test/suite/{partitions => parts}/t/ndb_partition_range.test (100%) rename mysql-test/suite/{partitions/t/partition_blocked_sql_func_innodb.test => parts/t/part_blocked_sql_func_innodb.test} (94%) rename mysql-test/suite/{partitions/t/partition_blocked_sql_func_myisam.test => parts/t/part_blocked_sql_func_myisam.test} (93%) rename mysql-test/suite/{partitions/t/partition_supported_sql_func_innodb.test => parts/t/part_supported_sql_func_innodb.test} (89%) rename mysql-test/suite/{partitions/t/partition_supported_sql_func_myisam.test => parts/t/part_supported_sql_func_myisam.test} (89%) rename mysql-test/suite/{partitions/t/partition_supported_sql_func_ndb.test => parts/t/part_supported_sql_func_ndb.test} (89%) rename mysql-test/suite/{partitions => parts}/t/partition_alter1_innodb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_alter1_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_alter1_ndb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_alter2_innodb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_alter2_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_alter2_ndb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_alter3_innodb.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_alter3_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_alter4_innodb.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_alter4_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_basic_innodb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_basic_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_basic_ndb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_bit_innodb.test (96%) rename mysql-test/suite/{partitions => parts}/t/partition_bit_myisam.test (96%) rename mysql-test/suite/{partitions => parts}/t/partition_bit_ndb.test (96%) rename mysql-test/suite/{partitions => parts}/t/partition_char_innodb.test (73%) rename mysql-test/suite/{partitions => parts}/t/partition_char_myisam.test (95%) rename mysql-test/suite/{partitions => parts}/t/partition_datetime_innodb.test (81%) rename mysql-test/suite/{partitions => parts}/t/partition_datetime_myisam.test (81%) rename mysql-test/suite/{partitions => parts}/t/partition_decimal_innodb.test (95%) rename mysql-test/suite/{partitions => parts}/t/partition_decimal_myisam.test (95%) rename mysql-test/suite/{partitions => parts}/t/partition_engine_innodb.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_engine_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_engine_ndb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_float_innodb.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_float_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_int_innodb.test (81%) rename mysql-test/suite/{partitions => parts}/t/partition_int_myisam.test (81%) rename mysql-test/suite/{partitions => parts}/t/partition_int_ndb.test (80%) rename mysql-test/suite/{partitions => parts}/t/partition_sessions.test (100%) rename mysql-test/suite/{partitions => parts}/t/partition_special_innodb.test (83%) rename mysql-test/suite/{partitions => parts}/t/partition_special_myisam.test (83%) rename mysql-test/suite/{partitions => parts}/t/partition_syntax_innodb.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_syntax_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_syntax_ndb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_value_innodb.test (92%) rename mysql-test/suite/{partitions => parts}/t/partition_value_myisam.test (91%) rename mysql-test/suite/{partitions => parts}/t/partition_value_ndb.test (92%) rename mysql-test/suite/{partitions => parts}/t/rpl_ndb_dd_partitions.test (100%) diff --git a/mysql-test/suite/partitions/include/methods1.inc b/mysql-test/suite/parts/inc/methods1.inc similarity index 94% rename from mysql-test/suite/partitions/include/methods1.inc rename to mysql-test/suite/parts/inc/methods1.inc index ea0e1e04e53..24006b6e0f1 100644 --- a/mysql-test/suite/partitions/include/methods1.inc +++ b/mysql-test/suite/parts/inc/methods1.inc @@ -51,7 +51,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -66,7 +66,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -89,7 +89,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -113,7 +113,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -136,7 +136,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -162,7 +162,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -185,7 +185,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -208,6 +208,6 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; diff --git a/mysql-test/suite/partitions/include/partition_blocked_sql_funcs_main.inc b/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc similarity index 73% rename from mysql-test/suite/partitions/include/partition_blocked_sql_funcs_main.inc rename to mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc index a326a363b20..ec258b5387b 100644 --- a/mysql-test/suite/partitions/include/partition_blocked_sql_funcs_main.inc +++ b/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc @@ -20,241 +20,241 @@ let $sqlfunc = greatest(col1,15); let $valsqlfunc = greatest(1,15); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = isnull(col1); let $valsqlfunc = isnull(15); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = least(col1,15); let $valsqlfunc = least(15,30); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = case when col1>15 then 20 else 10 end; let $valsqlfunc = case when 1>30 then 20 else 15 end; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = ifnull(col1,30); let $valsqlfunc = ifnull(1,30); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = nullif(col1,30); let $valsqlfunc = nullif(1,30); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = bit_length(col1); let $valsqlfunc = bit_length(255); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = char_length(col1); let $valsqlfunc = char_length('a'); #let $coltype = int; -#--source suite/partitions/include/partition_blocked_sql_funcs.inc +#--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = character_length(col1); let $valsqlfunc = character_length('a'); let $coltype = char(30) ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = find_in_set(col1,'1,2,3,4,5,6,7,8,9'); let $valsqlfunc = find_in_set('i','a,b,c,d,e,f,g,h,i'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = instr(col1,'acb'); let $valsqlfunc = instr('i','a,b,c,d,e,f,g,h,i'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = length(col1); let $valsqlfunc = length('a,b,c,d,e,f,g,h,i'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = locate('a',col1); let $valsqlfunc = locate('i','a,b,c,d,e,f,g,h,i'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = octet_length(col1); let $valsqlfunc = octet_length('a,b,c,d,e,f,g,h,i'); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = position('a' in col1); let $valsqlfunc = position('i' in 'a,b,c,d,e,f,g,h,i'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = strcmp(col1,'acb'); let $valsqlfunc = strcmp('i','a,b,c,d,e,f,g,h,i'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = crc32(col1); let $valsqlfunc = crc32('a,b,c,d,e,f,g,h,i'); let $coltype = char(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = round(col1); let $valsqlfunc = round(15); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = sign(col1); let $valsqlfunc = sign(123); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = datediff(col1,col1); let $valsqlfunc = datediff('1997-11-30 23:59:59','1997-12-31'); let $coltype = datetime; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = period_add(col1,5); let $valsqlfunc = period_add(9804,5); let $coltype = datetime; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = period_diff(col1,col2); let $valsqlfunc = period_diff(9809,199907); let $coltype = datetime,col2 datetime; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $coltype = int,col2 int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = timestampdiff(day,5,col1); let $valsqlfunc = timestampdiff(YEAR,'2002-05-01','2001-01-01'); let $coltype = datetime; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = unix_timestamp(col1); let $valsqlfunc = unix_timestamp ('2002-05-01'); let $coltype = date; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = week(col1); let $valsqlfunc = week('2002-05-01'); let $coltype = datetime; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = cast(col1 as signed); let $valsqlfunc = cast(123 as signed); let $coltype = varchar(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = convert(col1,unsigned); let $valsqlfunc = convert(123,unsigned); let $coltype = varchar(30); ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = col1 | 20; let $valsqlfunc = 10 | 20; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = col1 & 20; let $valsqlfunc = 10 & 20; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = col1 ^ 20; let $valsqlfunc = 10 ^ 20; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = col1 << 20; let $valsqlfunc = 10 << 20; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = col1 >> 20; let $valsqlfunc = 10 >> 20; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = ~col1; let $valsqlfunc = ~20; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = bit_count(col1); let $valsqlfunc = bit_count(20); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc let $sqlfunc = inet_aton(col1); let $valsqlfunc = inet_aton('192.168.1.1'); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc set @var =20; let $sqlfunc = bit_length(col1)+@var-@var; let $valsqlfunc = bit_length(20)+@var-@var; let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc @@ -285,6 +285,6 @@ delimiter ;// let $sqlfunc = getmaxsigned_t1(col1); let $valsqlfunc = getmaxsigned(10); let $coltype = int; ---source suite/partitions/include/partition_blocked_sql_funcs.inc +--source suite/parts/inc/partition_blocked_sql_funcs.inc # --source include/partition_blocked_sql_funcs.inc drop function if exists getmaxsigned_t1; diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_delete.inc b/mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc similarity index 93% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_delete.inc rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc index 76e8bd6dcc6..c0769cdeef1 100644 --- a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_delete.inc +++ b/mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc @@ -1,5 +1,5 @@ ################################################################################ -# t/partition_supported_sql_funcs_delete.inc # # # +# t/part_supported_sql_funcs_delete.inc # # # # Purpose: # # Delete access of the tests frame for allowed sql functions # # # diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in b/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_date.in b/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_date.in rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_float.in b/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_float.in rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_int.in b/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_int.in rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_time.in b/mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_int_time.in rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_main.inc b/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc similarity index 73% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs_main.inc rename to mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc index b0ec63d39a9..4dc0e7bdad3 100644 --- a/mysql-test/suite/partitions/include/partition_supported_sql_funcs_main.inc +++ b/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc @@ -22,7 +22,7 @@ # The test frame includes CREATE/ALTER TABLE and some access statements. # # Column types are int, float(7,4), char(1), date and time depending on the # # SQL function. The test frame uses the include file # -# "partition_supported_sql_funcs_delete.inc" testing the deletion of # +# "part_supported_sql_funcs_delete.inc" testing the deletion of # # partitions. # # The CREATE and ALTER TABLE statement do not cover the complete partitions # # functions, but will ashure that the SQL functions are basically working. # @@ -32,147 +32,147 @@ let $sqlfunc = abs(col1); let $valsqlfunc = abs(15); let $coltype = int; -let $infile = partition_supported_sql_funcs_int_int.in; +let $infile = part_supported_sql_funcs_int_int.inc; let $val1 = 5 ; let $val2 = 13 ; let $val3 = 17 ; let $val4 = 15 ; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = ascii(col1); let $valsqlfunc = ascii('5'); let $coltype = char(1); -let $infile = partition_supported_sql_funcs_int_ch1.in; +let $infile = part_supported_sql_funcs_int_ch1.inc; let $val1 = '1'; let $val2 = '9'; let $val3 = '3'; let $val4 = '8'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = cast(ceiling(col1) as signed integer); let $valsqlfunc = cast(ceiling(15) as signed integer); let $coltype = float(7,4); -let $infile = partition_supported_sql_funcs_int_float.in; +let $infile = part_supported_sql_funcs_int_float.inc; let $val1 = 5.1230; let $val2 = 13.345; let $val3 = 17.987; let $val4 = 15.654 ; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = cast(floor(col1) as signed); let $valsqlfunc = cast(floor(15.123) as signed); let $coltype = float(7,4); -let $infile = partition_supported_sql_funcs_int_float.in; +let $infile = part_supported_sql_funcs_int_float.inc; let $val1 = 5.1230; let $val2 = 13.345; let $val3 = 17.987; let $val4 = 15.654 ; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = cast(mod(col1,10) as signed); let $valsqlfunc = cast(mod(15,10) as signed); let $coltype = float(7,4); -let $infile = partition_supported_sql_funcs_int_float.in; +let $infile = part_supported_sql_funcs_int_float.inc; let $val1 = 5.0000; let $val2 = 19; let $val3 = 17; let $val4 = 15 ; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = ord(col1); let $valsqlfunc = ord('a'); let $coltype = char(3); -let $infile = partition_supported_sql_funcs_int_ch1.in; +let $infile = part_supported_sql_funcs_int_ch1.inc; let $val1 = '1'; let $val2 = '9'; let $val3 = '3'; let $val4 = '8'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = day(col1); let $valsqlfunc = day('2006-12-21'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-02-03'; let $val2 = '2006-01-17'; let $val3 = '2006-01-25'; let $val4 = '2006-02-05'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = dayofmonth(col1); let $valsqlfunc = dayofmonth('2006-12-24'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-02-03'; let $val2 = '2006-01-17'; let $val3 = '2006-01-25'; let $val4 = '2006-02-05'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = dayofweek(col1); let $valsqlfunc = dayofweek('2006-12-24'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-02-17'; let $val3 = '2006-01-25'; let $val4 = '2006-02-05'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = dayofyear(col1); let $valsqlfunc = dayofyear('2006-12-25'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-01-17'; let $val3 = '2006-02-25'; let $val4 = '2006-02-05'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = extract(month from col1); let $valsqlfunc = extract(year from '1998-11-23'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-02-17'; let $val3 = '2006-01-25'; let $val4 = '2006-02-05'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = hour(col1); let $valsqlfunc = hour('18:30'); let $coltype = time; -let $infile = partition_supported_sql_funcs_int_time.in; +let $infile = part_supported_sql_funcs_int_time.inc; let $val1 = '09:09'; let $val2 = '14:30'; let $val3 = '21:59'; let $val4 = '10:30'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = microsecond(col1); let $valsqlfunc = microsecond('10:30:10.000010'); let $coltype = time; -let $infile = partition_supported_sql_funcs_int_time.in; +let $infile = part_supported_sql_funcs_int_time.inc; let $val1 = '09:09:15.000002'; let $val2 = '04:30:01.000018'; let $val3 = '00:59:22.000024'; let $val4 = '05:30:34.000037'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = minute(col1); @@ -182,107 +182,107 @@ let $val1 = '09:09:15'; let $val2 = '14:30:45'; let $val3 = '21:59:22'; let $val4 = '10:24:23'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = second(col1); let $valsqlfunc = second('18:30:14'); let $coltype = time; -let $infile = partition_supported_sql_funcs_int_time.in; +let $infile = part_supported_sql_funcs_int_time.inc; let $val1 = '09:09:09'; let $val2 = '14:30:20'; let $val3 = '21:59:22'; let $val4 = '10:22:33'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $coltype = char(30); ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = month(col1); let $valsqlfunc = month('2006-10-14'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-12-17'; let $val3 = '2006-05-25'; let $val4 = '2006-11-06'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = quarter(col1); let $valsqlfunc = quarter('2006-10-14'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-12-17'; let $val3 = '2006-09-25'; let $val4 = '2006-07-30'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = time_to_sec(col1)-(time_to_sec(col1)-20); let $valsqlfunc = time_to_sec('18:30:14')-(time_to_sec('17:59:59')); let $coltype = time; -let $infile = partition_supported_sql_funcs_int_time.in; +let $infile = part_supported_sql_funcs_int_time.inc; let $val1 = '09:09:15'; let $val2 = '14:30:45'; let $val3 = '21:59:22'; let $val4 = '10:33:11'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = to_days(col1)-to_days('2006-01-01'); let $valsqlfunc = to_days('2006-02-02')-to_days('2006-01-01'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-02-03'; let $val2 = '2006-01-17'; let $val3 = '2006-01-25'; let $val4 = '2006-02-06'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = weekday(col1); let $valsqlfunc = weekday('2006-10-14'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-12-03'; let $val2 = '2006-11-17'; let $val3 = '2006-05-25'; let $val4 = '2006-02-06'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = weekofyear(col1); let $valsqlfunc = weekofyear('2006-02-14'); let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-03-17'; let $val3 = '2006-05-25'; let $val4 = '2006-09-06'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = year(col1)-1990; let $valsqlfunc = year('2005-10-14')-1990; let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '1996-01-03'; let $val2 = '2000-02-17'; let $val3 = '2004-05-25'; let $val4 = '2002-02-15'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc let $sqlfunc = yearweek(col1)-200600; let $valsqlfunc = yearweek('2006-10-14')-200600; let $coltype = date; -let $infile = partition_supported_sql_funcs_int_date.in; +let $infile = part_supported_sql_funcs_int_date.inc; let $val1 = '2006-01-03'; let $val2 = '2006-08-17'; let $val3 = '2006-03-25'; let $val4 = '2006-11-15'; ---source suite/partitions/include/partition_supported_sql_funcs.inc +--source suite/parts/inc/partition_supported_sql_funcs.inc # --source include/partition_supported_sql_funcs.inc diff --git a/mysql-test/suite/partitions/include/partition.pre b/mysql-test/suite/parts/inc/partition.pre similarity index 100% rename from mysql-test/suite/partitions/include/partition.pre rename to mysql-test/suite/parts/inc/partition.pre diff --git a/mysql-test/suite/partitions/include/partition_20.inc b/mysql-test/suite/parts/inc/partition_20.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_20.inc rename to mysql-test/suite/parts/inc/partition_20.inc diff --git a/mysql-test/suite/partitions/include/partition_alter1.inc b/mysql-test/suite/parts/inc/partition_alter1.inc similarity index 84% rename from mysql-test/suite/partitions/include/partition_alter1.inc rename to mysql-test/suite/parts/inc/partition_alter1.inc index b767be4eafc..a9706d5eb98 100644 --- a/mysql-test/suite/partitions/include/partition_alter1.inc +++ b/mysql-test/suite/parts/inc/partition_alter1.inc @@ -34,12 +34,12 @@ if ($do_pk_tests) { --echo # 1.1.1 PRIMARY KEY consisting of one column let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # This must fail, because PRIMARY KEY does not contain f_int1 let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # The value of the following test is maybe covered by 1.1.4. @@ -47,29 +47,29 @@ if ($more_pk_ui_tests) { --echo # 1.1.2 UNIQUE INDEX consisting of one column let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # This must fail, because UNIQUE INDEX does not contain f_int1 let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc if ($do_pk_tests) { --echo # 1.1.3 PRIMARY KEY consisting of two columns let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } --echo # 1.1.4 UNIQUE INDEX consisting of two columns let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # --echo #------------------------------------------------------------------------ @@ -82,30 +82,30 @@ if ($do_pk_tests) { --echo # 1.2.1 PRIMARY KEY consisting of two columns let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } --echo # 1.2.2 UNIQUE INDEX consisting of two columns let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2); ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1); ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc if ($do_pk_tests) { --echo # 1.2.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= ; - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # @@ -131,14 +131,14 @@ if ($more_pk_ui_tests) --echo # 2.1.1 DROP PRIMARY KEY consisting of one column let $unique= , PRIMARY KEY(f_int1); let $alter= ALTER TABLE t1 DROP PRIMARY KEY; - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # --echo # 2.1.2 DROP UNIQUE INDEX consisting of one column let $unique= , UNIQUE INDEX uidx1 (f_int1); let $alter= ALTER TABLE t1 DROP INDEX uidx1; - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # if ($do_pk_tests) @@ -146,20 +146,20 @@ if ($more_pk_ui_tests) --echo # 2.1.3 DROP PRIMARY KEY consisting of two columns let $alter= ALTER TABLE t1 DROP PRIMARY KEY; let $unique= , PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # --echo # 2.1.4 DROP UNIQUE INDEX consisting of two columns let $alter= ALTER TABLE t1 DROP INDEX uidx1; let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # @@ -168,16 +168,16 @@ if ($do_pk_tests) --echo # 2.1.5 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1); let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1; - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2); let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1; - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1); let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2; ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # --echo #------------------------------------------------------------------------ @@ -190,20 +190,20 @@ if ($do_pk_tests) --echo # 2.2.1 DROP PRIMARY KEY consisting of two columns let $alter= ALTER TABLE t1 DROP PRIMARY KEY; let $unique= , PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # --echo # 2.2.2 DROP UNIQUE INDEX consisting of two columns let $alter= ALTER TABLE t1 DROP INDEX uidx1; let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2); ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1); ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc # if ($do_pk_tests) @@ -211,16 +211,16 @@ if ($do_pk_tests) --echo # 2.2.3 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1); let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1; - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2); let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1; - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1); let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2; ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc if (0) diff --git a/mysql-test/suite/partitions/include/partition_alter2.inc b/mysql-test/suite/parts/inc/partition_alter2.inc similarity index 76% rename from mysql-test/suite/partitions/include/partition_alter2.inc rename to mysql-test/suite/parts/inc/partition_alter2.inc index 720856e20bc..3e01c3972bc 100644 --- a/mysql-test/suite/partitions/include/partition_alter2.inc +++ b/mysql-test/suite/parts/inc/partition_alter2.inc @@ -26,7 +26,7 @@ let $alter= ALTER TABLE t1 MODIFY f_int2 BIGINT; --echo # 1.1.1 no PRIMARY KEY or UNIQUE INDEX exists let $unique= ; ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # if ($do_pk_tests) @@ -37,14 +37,14 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , PRIMARY KEY (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , PRIMARY KEY (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , PRIMARY KEY (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # @@ -54,14 +54,14 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , UNIQUE INDEX uidx1 (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # if ($more_pk_ui_tests) @@ -75,42 +75,42 @@ if ($more_pk_ui_tests) let $alter= ALTER TABLE t1 MODIFY f_int1 BIGINT; --echo # 1.2.1 no PRIMARY KEY or UNIQUE INDEX exists let $unique= ; - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc # if ($do_pk_tests) { --echo # 1.2.2 PRIMARY KEY exists let $unique= , PRIMARY KEY (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , PRIMARY KEY (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , PRIMARY KEY (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # --echo # 1.2.3 UNIQUE INDEX exists let $unique= , UNIQUE INDEX uidx (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , UNIQUE INDEX uidx (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , UNIQUE INDEX uidx (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # @@ -123,9 +123,9 @@ if ($more_pk_ui_tests) let $alter= ALTER TABLE t1 MODIFY f_int1 BIGINT, MODIFY f_int2 BIGINT; --echo # 1.3.1 no PRIMARY KEY or UNIQUE INDEX exists let $unique= ; ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc # if ($do_pk_tests) @@ -136,18 +136,18 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , PRIMARY KEY (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , PRIMARY KEY (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , PRIMARY KEY (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # @@ -157,18 +157,18 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , UNIQUE INDEX uidx (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , UNIQUE INDEX uidx (f_int1,f_int2); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , UNIQUE INDEX uidx (f_int2,f_int1); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc --echo @@ -184,7 +184,7 @@ let $unique= , UNIQUE INDEX uidx (f_int2,f_int1); let $alter= ALTER TABLE t1 MODIFY f_int2 MEDIUMINT; --echo # 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists let $unique= ; ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # if ($do_pk_tests) @@ -195,14 +195,14 @@ if ($do_pk_tests) { --echo # 2.1.2 PRIMARY KEY exists let $unique= , PRIMARY KEY (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , PRIMARY KEY (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , PRIMARY KEY (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } # @@ -212,14 +212,14 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , UNIQUE INDEX uidx1 (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc # if ($more_pk_ui_tests) @@ -233,42 +233,42 @@ if ($more_pk_ui_tests) let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT; --echo # 2.2.1 no PRIMARY KEY or UNIQUE INDEX exists let $unique= ; - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc # if ($do_pk_tests) { --echo # 2.2.2 PRIMARY KEY exists let $unique= , PRIMARY KEY (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , PRIMARY KEY (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , PRIMARY KEY (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # --echo # 2.2.3 UNIQUE INDEX exists let $unique= , UNIQUE INDEX uidx (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc let $unique= , UNIQUE INDEX uidx (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , UNIQUE INDEX uidx (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # @@ -280,9 +280,9 @@ if ($more_pk_ui_tests) let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT; --echo # 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists let $unique= ; ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc # if ($do_pk_tests) @@ -293,18 +293,18 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , PRIMARY KEY (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc } # --source include/partition_alter_11.inc let $unique= , PRIMARY KEY (f_int1,f_int2); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , PRIMARY KEY (f_int2,f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc - --source suite/partitions/include/partition_alter_13.inc + --source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc } # @@ -314,18 +314,18 @@ if ($do_pk_tests) if ($more_pk_ui_tests) { let $unique= , UNIQUE INDEX uidx (f_int1); - --source suite/partitions/include/partition_alter_11.inc + --source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc } let $unique= , UNIQUE INDEX uidx (f_int1,f_int2); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc let $unique= , UNIQUE INDEX uidx (f_int2,f_int1); ---source suite/partitions/include/partition_alter_11.inc +--source suite/parts/inc/partition_alter_11.inc # --source include/partition_alter_11.inc ---source suite/partitions/include/partition_alter_13.inc +--source suite/parts/inc/partition_alter_13.inc # --source include/partition_alter_13.inc # diff --git a/mysql-test/suite/partitions/include/partition_alter3.inc b/mysql-test/suite/parts/inc/partition_alter3.inc similarity index 86% rename from mysql-test/suite/partitions/include/partition_alter3.inc rename to mysql-test/suite/parts/inc/partition_alter3.inc index 3ff1754872e..48ad61ebe08 100644 --- a/mysql-test/suite/partitions/include/partition_alter3.inc +++ b/mysql-test/suite/parts/inc/partition_alter3.inc @@ -33,7 +33,7 @@ SELECT IF(9999 - 1000 + 1 > @max_row, @max_row , 9999 - 1000 + 1) # DEBUG SELECT @exp_row_count; # 4. Print the layout, check Readability --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc # --echo #------------------------------------------------------------------------ --echo # 1.1 Increase number of PARTITIONS @@ -45,16 +45,16 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2); --echo # 1.1.2 Assign HASH partitioning ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER)); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc # --echo # 1.1.3 Assign other HASH partitioning to already partitioned table --echo # + test and switch back + test ALTER TABLE t1 PARTITION BY HASH(CAST(f_varchar AS SIGNED INTEGER)); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc ALTER TABLE t1 PARTITION BY HASH(CAST(YEAR(f_date) AS SIGNED INTEGER)); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc # --echo # 1.1.4 Add PARTITIONS not fitting to HASH --> must fail --error ER_PARTITION_WRONG_VALUES_ERROR @@ -65,7 +65,7 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (0)); --echo # 1.1.5 Add two named partitions + test ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc # --echo # 1.1.6 Add two named partitions, name clash --> must fail --error ER_SAME_NAME_PARTITION @@ -74,12 +74,12 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7); --echo # 1.1.7 Add one named partition + test ALTER TABLE t1 ADD PARTITION (PARTITION part2); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc # --echo # 1.1.8 Add four not named partitions + test ALTER TABLE t1 ADD PARTITION PARTITIONS 4; --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc --echo #------------------------------------------------------------------------ --echo # 1.2 Decrease number of PARTITIONS @@ -102,7 +102,7 @@ while ($loop) { ALTER TABLE t1 COALESCE PARTITION 1; --source include/partition_layout.inc - --source suite/partitions/include/partition_check_read1.inc + --source suite/parts/inc/partition_check_read1.inc dec $loop; } --echo # 1.2.5 COALESCE of last partition --> must fail @@ -112,13 +112,13 @@ ALTER TABLE t1 COALESCE PARTITION 1; --echo # 1.2.6 Remove partitioning ALTER TABLE t1 REMOVE PARTITIONING; --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read1.inc +--source suite/parts/inc/partition_check_read1.inc # --echo # 1.2.7 Remove partitioning from not partitioned table --> ???? ALTER TABLE t1 REMOVE PARTITIONING; DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc -# --source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc +# --source suite/parts/inc/partition_check_drop.inc --echo --echo #======================================================================== @@ -135,7 +135,7 @@ $column_list eval $insert_all; # 4. Print the layout, check Readability --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read2.inc +--source suite/parts/inc/partition_check_read2.inc # --echo #------------------------------------------------------------------------ --echo # 2.1 Increase number of PARTITIONS @@ -144,7 +144,7 @@ eval $insert_all; --echo # 2.1.1 Assign KEY partitioning ALTER TABLE t1 PARTITION BY KEY(f_int1); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read2.inc +--source suite/parts/inc/partition_check_read2.inc # --echo # 2.1.2 Add PARTITIONS not fitting to KEY --> must fail --error ER_PARTITION_WRONG_VALUES_ERROR @@ -155,17 +155,17 @@ ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (0)); --echo # 2.1.3 Add two named partitions + test ALTER TABLE t1 ADD PARTITION (PARTITION part1, PARTITION part7); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read2.inc +--source suite/parts/inc/partition_check_read2.inc # --echo # 2.1.4 Add one named partition + test ALTER TABLE t1 ADD PARTITION (PARTITION part2); --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read2.inc +--source suite/parts/inc/partition_check_read2.inc # --echo # 2.1.5 Add four not named partitions + test ALTER TABLE t1 ADD PARTITION PARTITIONS 4; --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read2.inc +--source suite/parts/inc/partition_check_read2.inc --echo #------------------------------------------------------------------------ --echo # 2.2 Decrease number of PARTITIONS @@ -181,7 +181,7 @@ while ($loop) { ALTER TABLE t1 COALESCE PARTITION 1; --source include/partition_layout.inc - --source suite/partitions/include/partition_check_read2.inc + --source suite/parts/inc/partition_check_read2.inc dec $loop; } --echo # 2.2.5 COALESCE of last partition --> must fail @@ -191,11 +191,11 @@ ALTER TABLE t1 COALESCE PARTITION 1; --echo # 2.2.6 Remove partitioning ALTER TABLE t1 REMOVE PARTITIONING; --source include/partition_layout.inc ---source suite/partitions/include/partition_check_read2.inc +--source suite/parts/inc/partition_check_read2.inc # --echo # 2.2.7 Remove partitioning from not partitioned table --> ???? ALTER TABLE t1 REMOVE PARTITIONING; DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc -# --source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc +# --source suite/parts/inc/partition_check_drop.inc diff --git a/mysql-test/suite/partitions/include/partition_alter4.inc b/mysql-test/suite/parts/inc/partition_alter4.inc similarity index 83% rename from mysql-test/suite/partitions/include/partition_alter4.inc rename to mysql-test/suite/parts/inc/partition_alter4.inc index e942d8d0e1f..e6f5dadbcca 100644 --- a/mysql-test/suite/partitions/include/partition_alter4.inc +++ b/mysql-test/suite/parts/inc/partition_alter4.inc @@ -21,19 +21,19 @@ --echo #------------------------------------------------------------------------ --echo # 1.1 ALTER ... ANALYZE PARTITION part_1; let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 1.2 ALTER ... ANALYZE PARTITION part_1,part_2; let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_2; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 1.3 ALTER ... ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10; let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_2,part_5,part_6,part_10; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 1.4 ALTER ... ANALYZE PARTITION part_1,part_1,part_1; let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_1,part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo #------------------------------------------------------------------------ @@ -41,19 +41,19 @@ let $alter= ALTER TABLE t1 ANALYZE PARTITION part_1,part_1,part_1; --echo #------------------------------------------------------------------------ --echo # 2.1 ALTER ... CHECK PARTITION part_1; let $alter= ALTER TABLE t1 CHECK PARTITION part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 2.2 ALTER ... CHECK PARTITION part_1,part_2; let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_2; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 2.3 ALTER ... CHECK PARTITION part_1,part_2,part_5,part_6,part_10; let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_2,part_5,part_6,part_10; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 2.4 ALTER ... CHECK PARTITION part_1,part_1,part_1; let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_1,part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo #------------------------------------------------------------------------ @@ -61,19 +61,19 @@ let $alter= ALTER TABLE t1 CHECK PARTITION part_1,part_1,part_1; --echo #------------------------------------------------------------------------ --echo # 3.1 ALTER ... OPTIMIZE PARTITION part_1; let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 3.2 ALTER ... OPTIMIZE PARTITION part_1,part_2; let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 3.3 ALTER ... OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10; let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_2,part_5,part_6,part_10; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 3.4 ALTER ... OPTIMIZE PARTITION part_1,part_1,part_1; let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_1,part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo #------------------------------------------------------------------------ @@ -81,19 +81,19 @@ let $alter= ALTER TABLE t1 OPTIMIZE PARTITION part_1,part_1,part_1; --echo #------------------------------------------------------------------------ --echo # 4.1 ALTER ... REBUILD PARTITION part_1; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 4.2 ALTER ... REBUILD PARTITION part_1,part_2; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 4.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 4.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo #------------------------------------------------------------------------ @@ -101,19 +101,19 @@ let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1; --echo #------------------------------------------------------------------------ --echo # 5.1 ALTER ... REBUILD PARTITION part_1; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 5.2 ALTER ... REBUILD PARTITION part_1,part_2; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 5.3 ALTER ... REBUILD PARTITION part_1,part_2,part_5,part_6,part_10; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_2,part_5,part_6,part_10; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo # 5.4 ALTER ... REBUILD PARTITION part_1,part_1,part_1; let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc --echo #------------------------------------------------------------------------ @@ -121,6 +121,6 @@ let $alter= ALTER TABLE t1 REBUILD PARTITION part_1,part_1,part_1; --echo #------------------------------------------------------------------------ --echo # 6.1 ALTER ... REMOVE PARTITIONING; let $alter= ALTER TABLE t1 REMOVE PARTITIONING; ---source suite/partitions/include/partition_alter_41.inc +--source suite/parts/inc/partition_alter_41.inc # --source include/partition_alter_41.inc diff --git a/mysql-test/suite/partitions/include/partition_alter_1.inc b/mysql-test/suite/parts/inc/partition_alter_1.inc similarity index 98% rename from mysql-test/suite/partitions/include/partition_alter_1.inc rename to mysql-test/suite/parts/inc/partition_alter_1.inc index 22556ccb085..542a67ccbef 100644 --- a/mysql-test/suite/partitions/include/partition_alter_1.inc +++ b/mysql-test/suite/parts/inc/partition_alter_1.inc @@ -62,7 +62,7 @@ if ($unexpected_error) if ($run_test) { eval $insert_second_half; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc } DROP TABLE t1; diff --git a/mysql-test/suite/partitions/include/partition_alter_11.inc b/mysql-test/suite/parts/inc/partition_alter_11.inc similarity index 94% rename from mysql-test/suite/partitions/include/partition_alter_11.inc rename to mysql-test/suite/parts/inc/partition_alter_11.inc index 606667054fd..f26d8e822ae 100644 --- a/mysql-test/suite/partitions/include/partition_alter_11.inc +++ b/mysql-test/suite/parts/inc/partition_alter_11.inc @@ -55,7 +55,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY KEY @@ -68,7 +68,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST @@ -89,7 +89,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE @@ -111,7 +111,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH @@ -132,7 +132,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY @@ -156,7 +156,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH @@ -177,7 +177,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST -- SUBPARTITION BY KEY @@ -198,5 +198,5 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc diff --git a/mysql-test/suite/partitions/include/partition_alter_13.inc b/mysql-test/suite/parts/inc/partition_alter_13.inc similarity index 94% rename from mysql-test/suite/partitions/include/partition_alter_13.inc rename to mysql-test/suite/parts/inc/partition_alter_13.inc index be12fab6054..5152230795a 100644 --- a/mysql-test/suite/partitions/include/partition_alter_13.inc +++ b/mysql-test/suite/parts/inc/partition_alter_13.inc @@ -55,7 +55,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY KEY @@ -68,7 +68,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST @@ -89,7 +89,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE @@ -111,7 +111,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH @@ -132,7 +132,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY @@ -156,7 +156,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH @@ -177,7 +177,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST -- SUBPARTITION BY KEY @@ -198,5 +198,5 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc diff --git a/mysql-test/suite/partitions/include/partition_alter_41.inc b/mysql-test/suite/parts/inc/partition_alter_41.inc similarity index 94% rename from mysql-test/suite/partitions/include/partition_alter_41.inc rename to mysql-test/suite/parts/inc/partition_alter_41.inc index 856d04cf151..303ec8c2062 100644 --- a/mysql-test/suite/partitions/include/partition_alter_41.inc +++ b/mysql-test/suite/parts/inc/partition_alter_41.inc @@ -55,7 +55,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY KEY @@ -68,7 +68,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST @@ -89,7 +89,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE @@ -111,7 +111,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH @@ -132,7 +132,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY @@ -156,7 +156,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH @@ -177,7 +177,7 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc #----------- PARTITION BY LIST -- SUBPARTITION BY KEY @@ -198,5 +198,5 @@ $column_list $unique ) $partitioning; ---source suite/partitions/include/partition_alter_1.inc +--source suite/parts/inc/partition_alter_1.inc # --source include/partition_alter_1.inc diff --git a/mysql-test/suite/partitions/include/partition_basic.inc b/mysql-test/suite/parts/inc/partition_basic.inc similarity index 84% rename from mysql-test/suite/partitions/include/partition_basic.inc rename to mysql-test/suite/parts/inc/partition_basic.inc index 19311070a47..9854edab634 100644 --- a/mysql-test/suite/partitions/include/partition_basic.inc +++ b/mysql-test/suite/parts/inc/partition_basic.inc @@ -28,7 +28,7 @@ --echo #------------------------------------------------------------------------ --echo # 1.1 The partitioning function contains one column. let $unique= ; ---source suite/partitions/include/partition_methods1.inc +--source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc # --echo # 1.1.1 with DATA DIECTORY/INDEX DIRECTORY @@ -49,16 +49,16 @@ let $unique= ; let $index_directory = `select @indx_dir`; let $with_directories= 1; - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc - --source suite/partitions/include/partition_directory.inc + --source suite/parts/inc/partition_directory.inc # --source include/partition_methods1.inc let $with_directories= 0; --enable_query_log # --echo # 1.2 The partitioning function contains two columns. let $unique= ; ---source suite/partitions/include/partition_methods2.inc +--source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc # --echo #------------------------------------------------------------------------ @@ -71,12 +71,12 @@ if ($more_pk_ui_tests) { --echo # 2.1 PRIMARY KEY consisting of one column let $unique= , PRIMARY KEY(f_int1); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc } --echo # 2.2 UNIQUE INDEX consisting of one column let $unique= , UNIQUE INDEX uidx1 (f_int1); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc --echo # 2.2.1 with DATA DIECTORY/INDEX DIRECTORY @@ -97,7 +97,7 @@ if ($more_pk_ui_tests) let $index_directory = `select @indx_dir`; let $with_directories= TRUE; - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc let $with_directories= FALSE; --enable_query_log @@ -106,19 +106,19 @@ if ($more_pk_ui_tests) { --echo # 2.3 PRIMARY KEY consisting of two columns let $unique= , PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc let $unique= , PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc } # --echo # 2.4 UNIQUE INDEX consisting of two columns let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc # } @@ -126,14 +126,14 @@ if ($more_pk_ui_tests) if ($do_pk_tests) { let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_methods1.inc + --source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc } let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1); ---source suite/partitions/include/partition_methods1.inc +--source suite/parts/inc/partition_methods1.inc # --source include/partition_methods1.inc --echo #------------------------------------------------------------------------ @@ -147,20 +147,20 @@ if ($more_pk_ui_tests) { --echo # 3.1 PRIMARY KEY consisting of two columns let $unique= , PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_methods2.inc + --source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc let $unique= , PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_methods2.inc + --source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc } # --echo # 3.2 UNIQUE INDEX consisting of two columns let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2); - --source suite/partitions/include/partition_methods2.inc + --source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1); - --source suite/partitions/include/partition_methods2.inc + --source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc } # @@ -168,12 +168,12 @@ if ($more_pk_ui_tests) if ($do_pk_tests) { let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1); - --source suite/partitions/include/partition_methods2.inc + --source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2); - --source suite/partitions/include/partition_methods2.inc + --source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc } let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1); ---source suite/partitions/include/partition_methods2.inc +--source suite/parts/inc/partition_methods2.inc # --source include/partition_methods2.inc diff --git a/mysql-test/suite/partitions/include/partition_bigint.inc b/mysql-test/suite/parts/inc/partition_bigint.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_bigint.inc rename to mysql-test/suite/parts/inc/partition_bigint.inc diff --git a/mysql-test/suite/partitions/include/partition_binary.inc b/mysql-test/suite/parts/inc/partition_binary.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_binary.inc rename to mysql-test/suite/parts/inc/partition_binary.inc diff --git a/mysql-test/suite/partitions/include/partition_bit.inc b/mysql-test/suite/parts/inc/partition_bit.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_bit.inc rename to mysql-test/suite/parts/inc/partition_bit.inc diff --git a/mysql-test/suite/partitions/include/partition_blob.inc b/mysql-test/suite/parts/inc/partition_blob.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_blob.inc rename to mysql-test/suite/parts/inc/partition_blob.inc diff --git a/mysql-test/suite/partitions/include/partition_blocked_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_blocked_sql_funcs.inc rename to mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc diff --git a/mysql-test/suite/partitions/include/partition_char.inc b/mysql-test/suite/parts/inc/partition_char.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_char.inc rename to mysql-test/suite/parts/inc/partition_char.inc diff --git a/mysql-test/suite/partitions/include/partition_check.inc b/mysql-test/suite/parts/inc/partition_check.inc similarity index 96% rename from mysql-test/suite/partitions/include/partition_check.inc rename to mysql-test/suite/parts/inc/partition_check.inc index 61266939bf5..698e9611af1 100644 --- a/mysql-test/suite/partitions/include/partition_check.inc +++ b/mysql-test/suite/parts/inc/partition_check.inc @@ -45,7 +45,7 @@ --echo # Start usability test (include/partition_check.inc) # Print the CREATE TABLE STATEMENT and store the current layout of the table ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc @@ -283,12 +283,12 @@ if ($any_unique) ## 2.1 Read all existing and some not existing records of table # per f_int1 used in partitioning function let $col_to_check= f_int1; ---source suite/partitions/include/partition_check_read.inc +--source suite/parts/inc/partition_check_read.inc # --source include/partition_check_read.inc ## 2.2 Read all existing and some not existing records of table # per f_int2 used in partitioning function let $col_to_check= f_int2; ---source suite/partitions/include/partition_check_read.inc +--source suite/parts/inc/partition_check_read.inc if ($fixed_bug18735) { @@ -690,7 +690,7 @@ if ($any_unique) ON DUPLICATE KEY UPDATE f_int1 = 2 * @max_row + source_tab.f_int1, f_charbig = 'was updated'; - --source suite/partitions/include/partition_20.inc + --source suite/parts/inc/partition_20.inc # --source include/partition_20.inc } @@ -706,7 +706,7 @@ if ($any_unique) ON DUPLICATE KEY UPDATE f_int2 = 2 * @max_row + source_tab.f_int1, f_charbig = 'was updated'; - --source suite/partitions/include/partition_20.inc + --source suite/parts/inc/partition_20.inc # --source include/partition_20.inc } @@ -720,7 +720,7 @@ if ($any_unique) UPDATE f_int1 = 2 * @max_row + source_tab.f_int1, f_int2 = 2 * @max_row + source_tab.f_int1, f_charbig = 'was updated'; - --source suite/partitions/include/partition_20.inc + --source suite/parts/inc/partition_20.inc # --source include/partition_20.inc ## 6.4 REPLACE @@ -991,28 +991,28 @@ let $statement= INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; let $event= BEFORE INSERT; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $event= AFTER INSERT; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $statement= UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); let $event= BEFORE UPDATE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $event= AFTER UPDATE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $statement= DELETE FROM t0_aux WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); let $event= BEFORE DELETE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $event= AFTER DELETE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc # Cleanup @@ -1045,28 +1045,28 @@ let $statement= INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; let $event= BEFORE INSERT; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $event= AFTER INSERT; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $statement= UPDATE t1 SET f_int1 = - f_int1, f_int2 = - f_int2 WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); let $event= BEFORE UPDATE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $event= AFTER UPDATE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $statement= DELETE FROM t1 WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); let $event= BEFORE DELETE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc let $event= AFTER DELETE; ---source suite/partitions/include/partition_trigg1.inc +--source suite/parts/inc/partition_trigg1.inc # --source include/partition_trigg1.inc eval DELETE FROM $tab_in_trigg WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; @@ -1088,7 +1088,7 @@ let $statement= UPDATE t1 SET f_charbig = '####updated per update statement itself####'; let $source= old; let $event= BEFORE UPDATE; ---source suite/partitions/include/partition_trigg2.inc +--source suite/parts/inc/partition_trigg2.inc # --source include/partition_trigg2.inc # FIXME when AFTER TRIGGER can be used # Currently (2006-02-23) a AFTER TRIGGER is not allowed to modify a row, which @@ -1104,7 +1104,7 @@ f_charbig = '####updated per update statement itself####'; # 9.3.2.1 "old" values are used as source within the trigger. let $source= old; let $event= BEFORE UPDATE; ---source suite/partitions/include/partition_trigg2.inc +--source suite/parts/inc/partition_trigg2.inc # --source include/partition_trigg2.inc # FIXME when AFTER TRIGGER can be used # Currently (2006-02-23) a AFTER TRIGGER is not allowed to modify a row, which @@ -1112,7 +1112,7 @@ let $event= BEFORE UPDATE; # 9.3.2.2 "new" values are used as source within the trigger. let $source= new; let $event= BEFORE UPDATE; ---source suite/partitions/include/partition_trigg2.inc +--source suite/parts/inc/partition_trigg2.inc # --source include/partition_trigg2.inc # FIXME when AFTER TRIGGER can be used @@ -1131,7 +1131,7 @@ WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 ORDER BY f_int1; let $event= BEFORE INSERT; let $source= new; ---source suite/partitions/include/partition_trigg3.inc +--source suite/parts/inc/partition_trigg3.inc # --source include/partition_trigg3.inc # FIXME when AFTER TRIGGER can be used @@ -1143,7 +1143,7 @@ WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 ORDER BY f_int1; let $event= BEFORE INSERT; let $source= new; ---source suite/partitions/include/partition_trigg3.inc +--source suite/parts/inc/partition_trigg3.inc # --source include/partition_trigg3.inc # FIXME when AFTER TRIGGER can be used @@ -1174,11 +1174,11 @@ CHECKSUM TABLE t1 EXTENDED; # clustered index. # FIXME What will happen with NDB ? OPTIMIZE TABLE t1; ---source suite/partitions/include/partition_layout_check2.inc +--source suite/parts/inc/partition_layout_check2.inc # --source include/partition_layout_check2.inc # 10.2 REPAIR TABLE REPAIR TABLE t1 EXTENDED; ---source suite/partitions/include/partition_layout_check2.inc +--source suite/parts/inc/partition_layout_check2.inc # --source include/partition_layout_check2.inc # # 11.3 Truncate @@ -1192,7 +1192,7 @@ if ($no_debug) } SELECT '# check TRUNCATE success: ' AS "",COUNT(*) = 0 AS "" FROM t1; --enable_query_log ---source suite/partitions/include/partition_layout_check2.inc +--source suite/parts/inc/partition_layout_check2.inc # --source include/partition_layout_check2.inc --echo # End usability test (include/partition_check.inc) diff --git a/mysql-test/suite/partitions/include/partition_check_drop.inc b/mysql-test/suite/parts/inc/partition_check_drop.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_check_drop.inc rename to mysql-test/suite/parts/inc/partition_check_drop.inc diff --git a/mysql-test/suite/partitions/include/partition_check_read.inc b/mysql-test/suite/parts/inc/partition_check_read.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_check_read.inc rename to mysql-test/suite/parts/inc/partition_check_read.inc diff --git a/mysql-test/suite/partitions/include/partition_check_read1.inc b/mysql-test/suite/parts/inc/partition_check_read1.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_check_read1.inc rename to mysql-test/suite/parts/inc/partition_check_read1.inc diff --git a/mysql-test/suite/partitions/include/partition_check_read2.inc b/mysql-test/suite/parts/inc/partition_check_read2.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_check_read2.inc rename to mysql-test/suite/parts/inc/partition_check_read2.inc diff --git a/mysql-test/suite/partitions/include/partition_cleanup.inc b/mysql-test/suite/parts/inc/partition_cleanup.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_cleanup.inc rename to mysql-test/suite/parts/inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/include/partition_date.inc b/mysql-test/suite/parts/inc/partition_date.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_date.inc rename to mysql-test/suite/parts/inc/partition_date.inc diff --git a/mysql-test/suite/partitions/include/partition_datetime.inc b/mysql-test/suite/parts/inc/partition_datetime.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_datetime.inc rename to mysql-test/suite/parts/inc/partition_datetime.inc diff --git a/mysql-test/suite/partitions/include/partition_decimal.inc b/mysql-test/suite/parts/inc/partition_decimal.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_decimal.inc rename to mysql-test/suite/parts/inc/partition_decimal.inc diff --git a/mysql-test/suite/partitions/include/partition_directory.inc b/mysql-test/suite/parts/inc/partition_directory.inc similarity index 89% rename from mysql-test/suite/partitions/include/partition_directory.inc rename to mysql-test/suite/parts/inc/partition_directory.inc index 24077cd80fd..2c765e1f5ab 100644 --- a/mysql-test/suite/partitions/include/partition_directory.inc +++ b/mysql-test/suite/parts/inc/partition_directory.inc @@ -48,10 +48,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY KEY if ($with_partitioning) @@ -85,10 +85,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST if ($with_partitioning) @@ -120,10 +120,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE if ($with_partitioning) @@ -151,10 +151,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH if ($with_partitioning) @@ -179,10 +179,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY if ($with_partitioning) @@ -210,10 +210,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH if ($with_partitioning) @@ -254,10 +254,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc let $with_directories= FALSE; diff --git a/mysql-test/suite/partitions/include/partition_double.inc b/mysql-test/suite/parts/inc/partition_double.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_double.inc rename to mysql-test/suite/parts/inc/partition_double.inc diff --git a/mysql-test/suite/partitions/include/partition_engine.inc b/mysql-test/suite/parts/inc/partition_engine.inc similarity index 93% rename from mysql-test/suite/partitions/include/partition_engine.inc rename to mysql-test/suite/parts/inc/partition_engine.inc index 05a0a0bcd71..2beb08e7626 100644 --- a/mysql-test/suite/partitions/include/partition_engine.inc +++ b/mysql-test/suite/parts/inc/partition_engine.inc @@ -44,7 +44,7 @@ $column_list PARTITION BY HASH(f_int1) PARTITIONS 2; INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; # @@ -61,7 +61,7 @@ PARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -78,7 +78,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; # @@ -95,7 +95,7 @@ PARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -107,7 +107,7 @@ PARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -124,7 +124,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -141,7 +141,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; # @@ -163,7 +163,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -180,7 +180,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; # @@ -198,7 +198,7 @@ PARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -215,7 +215,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; --echo # 6.2 Storage engine assignment after partition name + after @@ -235,7 +235,7 @@ SUBPARTITION BY HASH(f_int1) ); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -251,7 +251,7 @@ $column_list PARTITION BY HASH(f_int1) ( PARTITION part1 ENGINE = $engine); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; # Bug#15966 Partitions: crash if session default engine <> engine used in create table @@ -265,7 +265,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITION subpart12 STORAGE ENGINE = $engine)); INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; eval SET SESSION storage_engine=$engine; diff --git a/mysql-test/suite/partitions/include/partition_enum.inc b/mysql-test/suite/parts/inc/partition_enum.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_enum.inc rename to mysql-test/suite/parts/inc/partition_enum.inc diff --git a/mysql-test/suite/partitions/include/partition_float.inc b/mysql-test/suite/parts/inc/partition_float.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_float.inc rename to mysql-test/suite/parts/inc/partition_float.inc diff --git a/mysql-test/suite/partitions/include/partition_int.inc b/mysql-test/suite/parts/inc/partition_int.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_int.inc rename to mysql-test/suite/parts/inc/partition_int.inc diff --git a/mysql-test/suite/partitions/include/partition_key_16col.inc b/mysql-test/suite/parts/inc/partition_key_16col.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_key_16col.inc rename to mysql-test/suite/parts/inc/partition_key_16col.inc diff --git a/mysql-test/suite/partitions/include/partition_key_32col.inc b/mysql-test/suite/parts/inc/partition_key_32col.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_key_32col.inc rename to mysql-test/suite/parts/inc/partition_key_32col.inc diff --git a/mysql-test/suite/partitions/include/partition_key_4col.inc b/mysql-test/suite/parts/inc/partition_key_4col.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_key_4col.inc rename to mysql-test/suite/parts/inc/partition_key_4col.inc diff --git a/mysql-test/suite/partitions/include/partition_key_8col.inc b/mysql-test/suite/parts/inc/partition_key_8col.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_key_8col.inc rename to mysql-test/suite/parts/inc/partition_key_8col.inc diff --git a/mysql-test/suite/partitions/include/partition_layout_check1.inc b/mysql-test/suite/parts/inc/partition_layout_check1.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_layout_check1.inc rename to mysql-test/suite/parts/inc/partition_layout_check1.inc diff --git a/mysql-test/suite/partitions/include/partition_layout_check2.inc b/mysql-test/suite/parts/inc/partition_layout_check2.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_layout_check2.inc rename to mysql-test/suite/parts/inc/partition_layout_check2.inc diff --git a/mysql-test/suite/partitions/include/partition_mediumint.inc b/mysql-test/suite/parts/inc/partition_mediumint.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_mediumint.inc rename to mysql-test/suite/parts/inc/partition_mediumint.inc diff --git a/mysql-test/suite/partitions/include/partition_methods1.inc b/mysql-test/suite/parts/inc/partition_methods1.inc similarity index 91% rename from mysql-test/suite/partitions/include/partition_methods1.inc rename to mysql-test/suite/parts/inc/partition_methods1.inc index 674bae4d809..bec0c747f28 100644 --- a/mysql-test/suite/partitions/include/partition_methods1.inc +++ b/mysql-test/suite/parts/inc/partition_methods1.inc @@ -65,10 +65,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY KEY if ($with_partitioning) @@ -107,10 +107,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST if ($with_partitioning) @@ -142,10 +142,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE if ($with_partitioning) @@ -179,10 +179,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY HASH if ($with_partitioning) @@ -211,10 +211,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY if ($with_partitioning) @@ -246,10 +246,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH if ($with_partitioning) @@ -298,10 +298,10 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc #----------- PARTITION BY LIST -- SUBPARTITION BY KEY if ($with_partitioning) @@ -328,8 +328,8 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; ---source suite/partitions/include/partition_check_drop.inc +--source suite/parts/inc/partition_check_drop.inc let $with_directories= FALSE; diff --git a/mysql-test/suite/partitions/include/partition_methods2.inc b/mysql-test/suite/parts/inc/partition_methods2.inc similarity index 94% rename from mysql-test/suite/partitions/include/partition_methods2.inc rename to mysql-test/suite/parts/inc/partition_methods2.inc index 2b632652609..31b083bfa7a 100644 --- a/mysql-test/suite/partitions/include/partition_methods2.inc +++ b/mysql-test/suite/parts/inc/partition_methods2.inc @@ -50,7 +50,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -65,7 +65,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -88,7 +88,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -112,7 +112,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -135,7 +135,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -161,7 +161,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -184,7 +184,7 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; @@ -207,6 +207,6 @@ $unique ) $partitioning; eval $insert_all; ---source suite/partitions/include/partition_check.inc +--source suite/parts/inc/partition_check.inc # --source include/partition_check.inc DROP TABLE t1; diff --git a/mysql-test/suite/partitions/include/partition_set.inc b/mysql-test/suite/parts/inc/partition_set.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_set.inc rename to mysql-test/suite/parts/inc/partition_set.inc diff --git a/mysql-test/suite/partitions/include/partition_smallint.inc b/mysql-test/suite/parts/inc/partition_smallint.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_smallint.inc rename to mysql-test/suite/parts/inc/partition_smallint.inc diff --git a/mysql-test/suite/partitions/include/partition_supported_sql_funcs.inc b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc similarity index 94% rename from mysql-test/suite/partitions/include/partition_supported_sql_funcs.inc rename to mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc index b2e102f8e07..a26e6650893 100644 --- a/mysql-test/suite/partitions/include/partition_supported_sql_funcs.inc +++ b/mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc @@ -84,13 +84,13 @@ eval insert into t3 values ($val2); eval insert into t3 values ($val3); --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -eval load data infile '$MYSQL_TEST_DIR/suite/partitions/include/$infile' into table t4; +eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t4; --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -eval load data infile '$MYSQL_TEST_DIR/suite/partitions/include/$infile' into table t5; +eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t5; --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -eval load data infile '$MYSQL_TEST_DIR/suite/partitions/include/$infile' into table t6; +eval load data infile '$MYSQL_TEST_DIR/suite/parts/inc/$infile' into table t6; eval select $sqlfunc from t1 order by col1; @@ -238,8 +238,8 @@ subpartition by hash($sqlfunc) subpartitions 5 let $t4=t4; let $t5=t5; let $t6=t6; - --source suite/partitions/include/partition_supported_sql_funcs_delete.inc - # --source include/partition_supported_sql_funcs_delete.inc + --source suite/parts/inc/part_supported_sql_funcs_delete.inc + # --source include/part_supported_sql_funcs_delete.inc let $t1=t11; let $t2=t22; @@ -247,8 +247,8 @@ subpartition by hash($sqlfunc) subpartitions 5 let $t4=t44; let $t5=t55; let $t6=t66; - --source suite/partitions/include/partition_supported_sql_funcs_delete.inc - # --source include/partition_supported_sql_funcs_delete.inc + --source suite/parts/inc/part_supported_sql_funcs_delete.inc + # --source include/part_supported_sql_funcs_delete.inc --echo ------------------------- --echo ---- some alter table end --echo ------------------------- diff --git a/mysql-test/suite/partitions/include/partition_syntax.inc b/mysql-test/suite/parts/inc/partition_syntax.inc similarity index 90% rename from mysql-test/suite/partitions/include/partition_syntax.inc rename to mysql-test/suite/parts/inc/partition_syntax.inc index 6b28d05e153..3c53861b95b 100644 --- a/mysql-test/suite/partitions/include/partition_syntax.inc +++ b/mysql-test/suite/parts/inc/partition_syntax.inc @@ -106,17 +106,17 @@ let $unique_index= UNIQUE INDEX (f_int2); #----------- PARTITION BY HASH let $partition_scheme= PARTITION BY HASH(f_int1) PARTITIONS 2; ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc let $partition_scheme= PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2; ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc #----------- PARTITION BY KEY let $partition_scheme= PARTITION BY KEY(f_int1) PARTITIONS 2; ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc let $partition_scheme= PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2; ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc #----------- PARTITION BY LIST let $partition_scheme= PARTITION BY LIST(MOD(f_int1,3)) @@ -124,25 +124,25 @@ let $partition_scheme= PARTITION BY LIST(MOD(f_int1,3)) PARTITION part0 VALUES IN (0), PARTITION part1 VALUES IN (1), PARTITION part2 VALUES IN (2)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc let $partition_scheme= PARTITION BY LIST(MOD(f_int1 + f_int2,3)) (PARTITION partN VALUES IN (NULL), PARTITION part0 VALUES IN (0), PARTITION part1 VALUES IN (1), PARTITION part2 VALUES IN (2)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc #----------- PARTITION BY RANGE let $partition_scheme= PARTITION BY RANGE(f_int1) (PARTITION part1 VALUES LESS THAN (1), PARTITION part2 VALUES LESS THAN (2147483646)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc let $partition_scheme= PARTITION BY RANGE(f_int1 + f_int2) (PARTITION part1 VALUES LESS THAN (1), PARTITION part2 VALUES LESS THAN (2147483646)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc # @@ -199,14 +199,14 @@ let $partition_scheme= PARTITION BY RANGE(f_int2) SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES LESS THAN (1), PARTITION part2 VALUES LESS THAN (2147483646)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY let $partition_scheme= PARTITION BY RANGE(f_int2) SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES LESS THAN (1), PARTITION part2 VALUES LESS THAN (2147483646)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc #----------- PARTITION BY LIST -- SUBPARTITION BY HASH let $partition_scheme= PARTITION BY LIST(MOD(f_int2,3)) @@ -215,7 +215,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 PARTITION part0 VALUES IN (0), PARTITION part1 VALUES IN (1), PARTITION part2 VALUES IN (2)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc #----------- PARTITION BY LIST -- SUBPARTITION BY KEY let $partition_scheme= PARTITION BY LIST(MOD(f_int2,3)) @@ -224,7 +224,7 @@ SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 2 PARTITION part0 VALUES IN (0), PARTITION part1 VALUES IN (1), PARTITION part2 VALUES IN (2)); ---source suite/partitions/include/partition_syntax_2.inc +--source suite/parts/inc/partition_syntax_2.inc # --source include/partition_syntax_2.inc --echo @@ -358,7 +358,7 @@ $column_list PARTITION BY LIST(MOD(f_int1,2)) ( PARTITION part1 VALUES IN (CAST(NULL AS SIGNED INTEGER)), PARTITION part3 VALUES IN (1)); ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; --echo # 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0) @@ -371,7 +371,7 @@ PARTITION BY LIST(MOD(f_int1,2)) ( PARTITION part1 VALUES IN (CAST(NULL AS SIGNED INTEGER)), PARTITION part2 VALUES IN (0), PARTITION part3 VALUES IN (1)); ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; @@ -394,7 +394,7 @@ eval CREATE TABLE t1 ( $column_list ) PARTITION BY HASH(f_int1); ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; --echo # 4.1.2 no partition number, named partitions @@ -402,7 +402,7 @@ eval CREATE TABLE t1 ( $column_list ) PARTITION BY HASH(f_int1) (PARTITION part1, PARTITION part2); ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; # Attention: Several combinations are impossible @@ -469,7 +469,7 @@ eval $part01 $column_list $part02 $part1_Y $part2_N $part3_Y ; --error 1064 eval $part01 $column_list $part02 $part1_Y $part2_Y $part3_N ; eval $part01 $column_list $part02 $part1_Y $part2_Y $part3_Y ; ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; @@ -484,95 +484,95 @@ DROP TABLE IF EXISTS t1; # with the server response. # (positive) number = 2 let $part_number= 2; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (positive) special case number = 1 let $part_number= 1; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) 0 is non sense let $part_number= 0; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) -1 is non sense let $part_number= -1; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) 1000000 is too huge let $part_number= 1000000; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc --echo # 4.2.2 partition/subpartition numbers DECIMAL notation # (positive) number = 2.0 let $part_number= 2.0; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) -2.0 is non sense let $part_number= -2.0; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) case number = 0.0 is non sense let $part_number= 0.0; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc if ($fixed_bug15890) { # Bug#15890 Partitions: Strange interpretation of partition number # (negative) number = 1.6 is non sense let $part_number= 1.6; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc } # (negative) number is too huge let $part_number= 999999999999999999999999999999.999999999999999999999999999999; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) number is nearly zero let $part_number= 0.000000000000000000000000000001; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc --echo # 4.2.3 partition/subpartition numbers FLOAT notation ##### FLOAT notation # (positive) number = 2.0E+0 let $part_number= 2.0E+0; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc if ($fixed_bug15890) { # Bug#15890 Partitions: Strange interpretation of partition number # (positive) number = 0.2E+1 let $part_number= 0.2E+1; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc } # (negative) -2.0E+0 is non sense let $part_number= -2.0E+0; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc if ($fixed_bug15890) { # Bug#15890 Partitions: Strange interpretation of partition number # (negative) 0.16E+1 is non sense let $part_number= 0.16E+1; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc } # (negative) 0.0E+300 is zero let $part_number= 0.0E+300; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc if ($fixed_bug15890) { # Bug#15890 Partitions: Strange interpretation of partition number # (negative) 1E+300 is too huge let $part_number= 1E+300; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) 1E-300 is nearly zero let $part_number= 1E-300; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc } @@ -580,62 +580,62 @@ let $part_number= 1E-300; ##### STRING notation # (negative?) case number = '2' let $part_number= '2'; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative?) case number = '2.0' let $part_number= '2.0'; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative?) case number = '0.2E+1' let $part_number= '0.2E+1'; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) Strings starts with digit, but 'A' follows let $part_number= '2A'; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) Strings starts with 'A', but digit follows let $part_number= 'A2'; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) empty string let $part_number= ''; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) string without any digits let $part_number= 'GARBAGE'; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc --echo # 4.2.5 partition/subpartition numbers other notations # (negative) Strings starts with digit, but 'A' follows let $part_number= 2A; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) Strings starts with 'A', but digit follows let $part_number= A2; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) string without any digits let $part_number= GARBAGE; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative?) double quotes let $part_number= "2"; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) Strings starts with digit, but 'A' follows let $part_number= "2A"; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) Strings starts with 'A', but digit follows let $part_number= "A2"; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc # (negative) string without any digits let $part_number= "GARBAGE"; ---source suite/partitions/include/partition_syntax_1.inc +--source suite/parts/inc/partition_syntax_1.inc # --source include/partition_syntax_1.inc --echo # 4.2.6 (negative) partition/subpartition numbers per @variables @@ -664,7 +664,7 @@ eval CREATE TABLE t1 ( $column_list ) PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1, PARTITION part2 ) ; ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; eval CREATE TABLE t1 ( @@ -677,7 +677,7 @@ SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2 PARTITION part2 VALUES LESS THAN $MAX_VALUE (SUBPARTITION subpart21, SUBPARTITION subpart22) ); ---source suite/partitions/include/partition_layout_check1.inc +--source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc DROP TABLE t1; --echo # 4.3.2 (positive) number of partition/subpartition , diff --git a/mysql-test/suite/partitions/include/partition_syntax_1.inc b/mysql-test/suite/parts/inc/partition_syntax_1.inc similarity index 96% rename from mysql-test/suite/partitions/include/partition_syntax_1.inc rename to mysql-test/suite/parts/inc/partition_syntax_1.inc index c9ec8ba1263..ac88b5ee668 100644 --- a/mysql-test/suite/partitions/include/partition_syntax_1.inc +++ b/mysql-test/suite/parts/inc/partition_syntax_1.inc @@ -47,7 +47,7 @@ if ($unexpected_error) # If this operation was successfull, print layout + drop this table if ($run) { - --source suite/partitions/include/partition_layout_check1.inc + --source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc eval DROP TABLE t1; } @@ -85,7 +85,7 @@ if ($unexpected_error) # If this operation was successfull, print layout + drop this table if ($run) { - --source suite/partitions/include/partition_layout_check1.inc + --source suite/parts/inc/partition_layout_check1.inc # --source include/partition_layout_check1.inc eval DROP TABLE t1; } diff --git a/mysql-test/suite/partitions/include/partition_syntax_2.inc b/mysql-test/suite/parts/inc/partition_syntax_2.inc similarity index 94% rename from mysql-test/suite/partitions/include/partition_syntax_2.inc rename to mysql-test/suite/parts/inc/partition_syntax_2.inc index 26a3c90b92f..9adf1c9b2a0 100644 --- a/mysql-test/suite/partitions/include/partition_syntax_2.inc +++ b/mysql-test/suite/parts/inc/partition_syntax_2.inc @@ -37,7 +37,7 @@ if (`SELECT @@session.storage_engine IN('ndbcluster')`) eval $insert_all; if ($fixed_bug18735) { - --source suite/partitions/include/partition_check.inc + --source suite/parts/inc/partition_check.inc # --source include/partition_check.inc } DROP TABLE t1; @@ -49,7 +49,7 @@ if (`SELECT @@session.storage_engine IN('ndbcluster')`) eval $insert_all; if ($fixed_bug18735) { - --source suite/partitions/include/partition_check.inc + --source suite/parts/inc/partition_check.inc # --source include/partition_check.inc } DROP TABLE t1; diff --git a/mysql-test/suite/partitions/include/partition_text.inc b/mysql-test/suite/parts/inc/partition_text.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_text.inc rename to mysql-test/suite/parts/inc/partition_text.inc diff --git a/mysql-test/suite/partitions/include/partition_time.inc b/mysql-test/suite/parts/inc/partition_time.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_time.inc rename to mysql-test/suite/parts/inc/partition_time.inc diff --git a/mysql-test/suite/partitions/include/partition_timestamp.inc b/mysql-test/suite/parts/inc/partition_timestamp.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_timestamp.inc rename to mysql-test/suite/parts/inc/partition_timestamp.inc diff --git a/mysql-test/suite/partitions/include/partition_tinyint.inc b/mysql-test/suite/parts/inc/partition_tinyint.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_tinyint.inc rename to mysql-test/suite/parts/inc/partition_tinyint.inc diff --git a/mysql-test/suite/partitions/include/partition_trigg1.inc b/mysql-test/suite/parts/inc/partition_trigg1.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_trigg1.inc rename to mysql-test/suite/parts/inc/partition_trigg1.inc diff --git a/mysql-test/suite/partitions/include/partition_trigg2.inc b/mysql-test/suite/parts/inc/partition_trigg2.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_trigg2.inc rename to mysql-test/suite/parts/inc/partition_trigg2.inc diff --git a/mysql-test/suite/partitions/include/partition_trigg3.inc b/mysql-test/suite/parts/inc/partition_trigg3.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_trigg3.inc rename to mysql-test/suite/parts/inc/partition_trigg3.inc diff --git a/mysql-test/suite/partitions/include/partition_value.inc b/mysql-test/suite/parts/inc/partition_value.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_value.inc rename to mysql-test/suite/parts/inc/partition_value.inc diff --git a/mysql-test/suite/partitions/include/partition_varbinary.inc b/mysql-test/suite/parts/inc/partition_varbinary.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_varbinary.inc rename to mysql-test/suite/parts/inc/partition_varbinary.inc diff --git a/mysql-test/suite/partitions/include/partition_varchar.inc b/mysql-test/suite/parts/inc/partition_varchar.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_varchar.inc rename to mysql-test/suite/parts/inc/partition_varchar.inc diff --git a/mysql-test/suite/partitions/include/partition_year.inc b/mysql-test/suite/parts/inc/partition_year.inc similarity index 100% rename from mysql-test/suite/partitions/include/partition_year.inc rename to mysql-test/suite/parts/inc/partition_year.inc diff --git a/mysql-test/suite/partitions/r/ndb_blob_partition.result b/mysql-test/suite/parts/r/ndb_blob_partition.result similarity index 100% rename from mysql-test/suite/partitions/r/ndb_blob_partition.result rename to mysql-test/suite/parts/r/ndb_blob_partition.result diff --git a/mysql-test/suite/partitions/r/ndb_dd_backuprestore.result b/mysql-test/suite/parts/r/ndb_dd_backuprestore.result similarity index 100% rename from mysql-test/suite/partitions/r/ndb_dd_backuprestore.result rename to mysql-test/suite/parts/r/ndb_dd_backuprestore.result diff --git a/mysql-test/suite/partitions/r/ndb_partition_error.result b/mysql-test/suite/parts/r/ndb_partition_error.result similarity index 100% rename from mysql-test/suite/partitions/r/ndb_partition_error.result rename to mysql-test/suite/parts/r/ndb_partition_error.result diff --git a/mysql-test/suite/partitions/r/ndb_partition_key.result b/mysql-test/suite/parts/r/ndb_partition_key.result similarity index 99% rename from mysql-test/suite/partitions/r/ndb_partition_key.result rename to mysql-test/suite/parts/r/ndb_partition_key.result index 49fe8181237..daac61fb530 100644 --- a/mysql-test/suite/partitions/r/ndb_partition_key.result +++ b/mysql-test/suite/parts/r/ndb_partition_key.result @@ -57,6 +57,8 @@ Number of primary keys: 3 Length of frm data: # Row Checksum: 1 Row GCI: 1 +SingleUserMode: 0 +ForceVarPart: 1 TableStatus: Retrieved -- Attributes -- a Int PRIMARY KEY AT=FIXED ST=MEMORY diff --git a/mysql-test/suite/partitions/r/ndb_partition_list.result b/mysql-test/suite/parts/r/ndb_partition_list.result similarity index 100% rename from mysql-test/suite/partitions/r/ndb_partition_list.result rename to mysql-test/suite/parts/r/ndb_partition_list.result diff --git a/mysql-test/suite/partitions/r/ndb_partition_range.result b/mysql-test/suite/parts/r/ndb_partition_range.result similarity index 100% rename from mysql-test/suite/partitions/r/ndb_partition_range.result rename to mysql-test/suite/parts/r/ndb_partition_range.result diff --git a/mysql-test/suite/partitions/r/partition_blocked_sql_func_innodb.result b/mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_blocked_sql_func_innodb.result rename to mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_blocked_sql_func_myisam.result b/mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_blocked_sql_func_myisam.result rename to mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_supported_sql_func_innodb.result b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result similarity index 97% rename from mysql-test/suite/partitions/r/partition_supported_sql_func_innodb.result rename to mysql-test/suite/parts/r/part_supported_sql_func_innodb.result index 196f7930bb0..1e158e0a787 100644 --- a/mysql-test/suite/partitions/r/partition_supported_sql_func_innodb.result +++ b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result @@ -55,9 +55,9 @@ insert into t2 values (17 ); insert into t3 values (5 ); insert into t3 values (13 ); insert into t3 values (17 ); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_int.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_int.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_int.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t6; select abs(col1) from t1 order by col1; abs(col1) 5 @@ -1731,9 +1731,9 @@ insert into t2 values ('3'); insert into t3 values ('1'); insert into t3 values ('9'); insert into t3 values ('3'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6; select ascii(col1) from t1 order by col1; ascii(col1) 49 @@ -2231,9 +2231,9 @@ insert into t2 values (17.987); insert into t3 values (5.1230); insert into t3 values (13.345); insert into t3 values (17.987); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6; select cast(ceiling(col1) as signed integer) from t1 order by col1; cast(ceiling(col1) as signed integer) 6 @@ -2729,9 +2729,9 @@ insert into t2 values (17.987); insert into t3 values (5.1230); insert into t3 values (13.345); insert into t3 values (17.987); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6; select cast(floor(col1) as signed) from t1 order by col1; cast(floor(col1) as signed) 5 @@ -3227,9 +3227,9 @@ insert into t2 values (17); insert into t3 values (5.0000); insert into t3 values (19); insert into t3 values (17); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6; select cast(mod(col1,10) as signed) from t1 order by col1; cast(mod(col1,10) as signed) 5 @@ -3727,9 +3727,9 @@ insert into t2 values ('3'); insert into t3 values ('1'); insert into t3 values ('9'); insert into t3 values ('3'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6; select ord(col1) from t1 order by col1; ord(col1) 49 @@ -4225,9 +4225,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select day(col1) from t1 order by col1; day(col1) 17 @@ -4721,9 +4721,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofmonth(col1) from t1 order by col1; dayofmonth(col1) 17 @@ -5217,9 +5217,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-02-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofweek(col1) from t1 order by col1; dayofweek(col1) 3 @@ -5725,9 +5725,9 @@ insert into t2 values ('2006-02-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-02-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofyear(col1) from t1 order by col1; dayofyear(col1) 3 @@ -6223,9 +6223,9 @@ insert into t2 values ('2006-02-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-02-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofyear(col1) from t1 order by col1; dayofyear(col1) 3 @@ -6721,9 +6721,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-02-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select extract(month from col1) from t1 order by col1; extract(month from col1) 1 @@ -7219,9 +7219,9 @@ insert into t2 values ('21:59'); insert into t3 values ('09:09'); insert into t3 values ('14:30'); insert into t3 values ('21:59'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select hour(col1) from t1 order by col1; hour(col1) 9 @@ -7723,9 +7723,9 @@ insert into t2 values ('00:59:22.000024'); insert into t3 values ('09:09:15.000002'); insert into t3 values ('04:30:01.000018'); insert into t3 values ('00:59:22.000024'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select microsecond(col1) from t1 order by col1; microsecond(col1) 0 @@ -8213,9 +8213,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:15'); insert into t3 values ('14:30:45'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select minute(col1) from t1 order by col1; minute(col1) 9 @@ -8723,9 +8723,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:09'); insert into t3 values ('14:30:20'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select second(col1) from t1 order by col1; second(col1) 9 @@ -9233,9 +9233,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:09'); insert into t3 values ('14:30:20'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select second(col1) from t1 order by col1; second(col1) 9 @@ -9743,9 +9743,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-12-17'); insert into t3 values ('2006-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select month(col1) from t1 order by col1; month(col1) 1 @@ -10247,9 +10247,9 @@ insert into t2 values ('2006-09-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-12-17'); insert into t3 values ('2006-09-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select quarter(col1) from t1 order by col1; quarter(col1) 1 @@ -10749,9 +10749,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:15'); insert into t3 values ('14:30:45'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select time_to_sec(col1)-(time_to_sec(col1)-20) from t1 order by col1; time_to_sec(col1)-(time_to_sec(col1)-20) 20 @@ -11257,9 +11257,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select to_days(col1)-to_days('2006-01-01') from t1 order by col1; to_days(col1)-to_days('2006-01-01') 16 @@ -11757,9 +11757,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-12-03'); insert into t3 values ('2006-11-17'); insert into t3 values ('2006-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select weekday(col1) from t1 order by col1; weekday(col1) 4 @@ -12257,9 +12257,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-03-17'); insert into t3 values ('2006-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select weekofyear(col1) from t1 order by col1; weekofyear(col1) 1 @@ -12765,9 +12765,9 @@ insert into t2 values ('2004-05-25'); insert into t3 values ('1996-01-03'); insert into t3 values ('2000-02-17'); insert into t3 values ('2004-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select year(col1)-1990 from t1 order by col1; year(col1)-1990 6 @@ -13269,9 +13269,9 @@ insert into t2 values ('2006-03-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-08-17'); insert into t3 values ('2006-03-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select yearweek(col1)-200600 from t1 order by col1; yearweek(col1)-200600 1 diff --git a/mysql-test/suite/partitions/r/partition_supported_sql_func_myisam.result b/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result similarity index 97% rename from mysql-test/suite/partitions/r/partition_supported_sql_func_myisam.result rename to mysql-test/suite/parts/r/part_supported_sql_func_myisam.result index 86742038990..3e668139c7d 100644 --- a/mysql-test/suite/partitions/r/partition_supported_sql_func_myisam.result +++ b/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result @@ -55,9 +55,9 @@ insert into t2 values (17 ); insert into t3 values (5 ); insert into t3 values (13 ); insert into t3 values (17 ); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_int.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_int.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_int.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_int.inc' into table t6; select abs(col1) from t1 order by col1; abs(col1) 5 @@ -1731,9 +1731,9 @@ insert into t2 values ('3'); insert into t3 values ('1'); insert into t3 values ('9'); insert into t3 values ('3'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6; select ascii(col1) from t1 order by col1; ascii(col1) 49 @@ -2231,9 +2231,9 @@ insert into t2 values (17.987); insert into t3 values (5.1230); insert into t3 values (13.345); insert into t3 values (17.987); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6; select cast(ceiling(col1) as signed integer) from t1 order by col1; cast(ceiling(col1) as signed integer) 6 @@ -2729,9 +2729,9 @@ insert into t2 values (17.987); insert into t3 values (5.1230); insert into t3 values (13.345); insert into t3 values (17.987); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6; select cast(floor(col1) as signed) from t1 order by col1; cast(floor(col1) as signed) 5 @@ -3227,9 +3227,9 @@ insert into t2 values (17); insert into t3 values (5.0000); insert into t3 values (19); insert into t3 values (17); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_float.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_float.inc' into table t6; select cast(mod(col1,10) as signed) from t1 order by col1; cast(mod(col1,10) as signed) 5 @@ -3727,9 +3727,9 @@ insert into t2 values ('3'); insert into t3 values ('1'); insert into t3 values ('9'); insert into t3 values ('3'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_ch1.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc' into table t6; select ord(col1) from t1 order by col1; ord(col1) 49 @@ -4225,9 +4225,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select day(col1) from t1 order by col1; day(col1) 17 @@ -4721,9 +4721,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofmonth(col1) from t1 order by col1; dayofmonth(col1) 17 @@ -5217,9 +5217,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-02-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofweek(col1) from t1 order by col1; dayofweek(col1) 3 @@ -5725,9 +5725,9 @@ insert into t2 values ('2006-02-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-02-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofyear(col1) from t1 order by col1; dayofyear(col1) 3 @@ -6223,9 +6223,9 @@ insert into t2 values ('2006-02-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-02-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select dayofyear(col1) from t1 order by col1; dayofyear(col1) 3 @@ -6721,9 +6721,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-02-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select extract(month from col1) from t1 order by col1; extract(month from col1) 1 @@ -7219,9 +7219,9 @@ insert into t2 values ('21:59'); insert into t3 values ('09:09'); insert into t3 values ('14:30'); insert into t3 values ('21:59'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select hour(col1) from t1 order by col1; hour(col1) 9 @@ -7723,9 +7723,9 @@ insert into t2 values ('00:59:22.000024'); insert into t3 values ('09:09:15.000002'); insert into t3 values ('04:30:01.000018'); insert into t3 values ('00:59:22.000024'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select microsecond(col1) from t1 order by col1; microsecond(col1) 0 @@ -8213,9 +8213,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:15'); insert into t3 values ('14:30:45'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select minute(col1) from t1 order by col1; minute(col1) 9 @@ -8723,9 +8723,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:09'); insert into t3 values ('14:30:20'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select second(col1) from t1 order by col1; second(col1) 9 @@ -9233,9 +9233,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:09'); insert into t3 values ('14:30:20'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select second(col1) from t1 order by col1; second(col1) 9 @@ -9743,9 +9743,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-12-17'); insert into t3 values ('2006-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select month(col1) from t1 order by col1; month(col1) 1 @@ -10247,9 +10247,9 @@ insert into t2 values ('2006-09-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-12-17'); insert into t3 values ('2006-09-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select quarter(col1) from t1 order by col1; quarter(col1) 1 @@ -10749,9 +10749,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:15'); insert into t3 values ('14:30:45'); insert into t3 values ('21:59:22'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_time.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_time.inc' into table t6; select time_to_sec(col1)-(time_to_sec(col1)-20) from t1 order by col1; time_to_sec(col1)-(time_to_sec(col1)-20) 20 @@ -11257,9 +11257,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select to_days(col1)-to_days('2006-01-01') from t1 order by col1; to_days(col1)-to_days('2006-01-01') 16 @@ -11757,9 +11757,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-12-03'); insert into t3 values ('2006-11-17'); insert into t3 values ('2006-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select weekday(col1) from t1 order by col1; weekday(col1) 4 @@ -12257,9 +12257,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-03-17'); insert into t3 values ('2006-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select weekofyear(col1) from t1 order by col1; weekofyear(col1) 1 @@ -12765,9 +12765,9 @@ insert into t2 values ('2004-05-25'); insert into t3 values ('1996-01-03'); insert into t3 values ('2000-02-17'); insert into t3 values ('2004-05-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select year(col1)-1990 from t1 order by col1; year(col1)-1990 6 @@ -13269,9 +13269,9 @@ insert into t2 values ('2006-03-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-08-17'); insert into t3 values ('2006-03-25'); -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t4; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t5; -load data infile 'MYSQL_TEST_DIR/suite/partitions/include/partition_supported_sql_funcs_int_date.in' into table t6; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQL_TEST_DIR/suite/parts/inc/part_supported_sql_funcs_int_date.inc' into table t6; select yearweek(col1)-200600 from t1 order by col1; yearweek(col1)-200600 1 diff --git a/mysql-test/suite/partitions/r/partition_supported_sql_func_ndb.result b/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_supported_sql_func_ndb.result rename to mysql-test/suite/parts/r/part_supported_sql_func_ndb.result diff --git a/mysql-test/suite/partitions/r/partition_alter1_innodb.result b/mysql-test/suite/parts/r/partition_alter1_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter1_innodb.result rename to mysql-test/suite/parts/r/partition_alter1_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_alter1_myisam.result b/mysql-test/suite/parts/r/partition_alter1_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter1_myisam.result rename to mysql-test/suite/parts/r/partition_alter1_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_alter2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter2_innodb.result rename to mysql-test/suite/parts/r/partition_alter2_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_alter2_myisam.result b/mysql-test/suite/parts/r/partition_alter2_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter2_myisam.result rename to mysql-test/suite/parts/r/partition_alter2_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_alter3_innodb.result b/mysql-test/suite/parts/r/partition_alter3_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter3_innodb.result rename to mysql-test/suite/parts/r/partition_alter3_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_alter3_myisam.result b/mysql-test/suite/parts/r/partition_alter3_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter3_myisam.result rename to mysql-test/suite/parts/r/partition_alter3_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter4_innodb.result rename to mysql-test/suite/parts/r/partition_alter4_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_alter4_myisam.result b/mysql-test/suite/parts/r/partition_alter4_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_alter4_myisam.result rename to mysql-test/suite/parts/r/partition_alter4_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_basic_innodb.result b/mysql-test/suite/parts/r/partition_basic_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_basic_innodb.result rename to mysql-test/suite/parts/r/partition_basic_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_basic_myisam.result b/mysql-test/suite/parts/r/partition_basic_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_basic_myisam.result rename to mysql-test/suite/parts/r/partition_basic_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_bit_innodb.result b/mysql-test/suite/parts/r/partition_bit_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_bit_innodb.result rename to mysql-test/suite/parts/r/partition_bit_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_bit_myisam.result b/mysql-test/suite/parts/r/partition_bit_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_bit_myisam.result rename to mysql-test/suite/parts/r/partition_bit_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_bit_ndb.result b/mysql-test/suite/parts/r/partition_bit_ndb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_bit_ndb.result rename to mysql-test/suite/parts/r/partition_bit_ndb.result diff --git a/mysql-test/suite/partitions/r/partition_char_innodb.result b/mysql-test/suite/parts/r/partition_char_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_char_innodb.result rename to mysql-test/suite/parts/r/partition_char_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_char_myisam.result b/mysql-test/suite/parts/r/partition_char_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_char_myisam.result rename to mysql-test/suite/parts/r/partition_char_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_datetime_innodb.result b/mysql-test/suite/parts/r/partition_datetime_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_datetime_innodb.result rename to mysql-test/suite/parts/r/partition_datetime_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_datetime_myisam.result b/mysql-test/suite/parts/r/partition_datetime_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_datetime_myisam.result rename to mysql-test/suite/parts/r/partition_datetime_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_decimal_innodb.result b/mysql-test/suite/parts/r/partition_decimal_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_decimal_innodb.result rename to mysql-test/suite/parts/r/partition_decimal_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_decimal_myisam.result b/mysql-test/suite/parts/r/partition_decimal_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_decimal_myisam.result rename to mysql-test/suite/parts/r/partition_decimal_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_engine_innodb.result b/mysql-test/suite/parts/r/partition_engine_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_engine_innodb.result rename to mysql-test/suite/parts/r/partition_engine_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_engine_myisam.result b/mysql-test/suite/parts/r/partition_engine_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_engine_myisam.result rename to mysql-test/suite/parts/r/partition_engine_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_engine_ndb.result b/mysql-test/suite/parts/r/partition_engine_ndb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_engine_ndb.result rename to mysql-test/suite/parts/r/partition_engine_ndb.result diff --git a/mysql-test/suite/partitions/r/partition_float_innodb.result b/mysql-test/suite/parts/r/partition_float_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_float_innodb.result rename to mysql-test/suite/parts/r/partition_float_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_float_myisam.result b/mysql-test/suite/parts/r/partition_float_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_float_myisam.result rename to mysql-test/suite/parts/r/partition_float_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_int_innodb.result b/mysql-test/suite/parts/r/partition_int_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_int_innodb.result rename to mysql-test/suite/parts/r/partition_int_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_int_myisam.result b/mysql-test/suite/parts/r/partition_int_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_int_myisam.result rename to mysql-test/suite/parts/r/partition_int_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_int_ndb.result b/mysql-test/suite/parts/r/partition_int_ndb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_int_ndb.result rename to mysql-test/suite/parts/r/partition_int_ndb.result diff --git a/mysql-test/suite/partitions/r/partition_special_innodb.result b/mysql-test/suite/parts/r/partition_special_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_special_innodb.result rename to mysql-test/suite/parts/r/partition_special_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_special_myisam.result b/mysql-test/suite/parts/r/partition_special_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_special_myisam.result rename to mysql-test/suite/parts/r/partition_special_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_syntax_innodb.result b/mysql-test/suite/parts/r/partition_syntax_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_syntax_innodb.result rename to mysql-test/suite/parts/r/partition_syntax_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_syntax_myisam.result b/mysql-test/suite/parts/r/partition_syntax_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_syntax_myisam.result rename to mysql-test/suite/parts/r/partition_syntax_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_syntax_ndb.result b/mysql-test/suite/parts/r/partition_syntax_ndb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_syntax_ndb.result rename to mysql-test/suite/parts/r/partition_syntax_ndb.result diff --git a/mysql-test/suite/partitions/r/partition_t55.out b/mysql-test/suite/parts/r/partition_t55.out similarity index 100% rename from mysql-test/suite/partitions/r/partition_t55.out rename to mysql-test/suite/parts/r/partition_t55.out diff --git a/mysql-test/suite/partitions/r/partition_value_innodb.result b/mysql-test/suite/parts/r/partition_value_innodb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_value_innodb.result rename to mysql-test/suite/parts/r/partition_value_innodb.result diff --git a/mysql-test/suite/partitions/r/partition_value_myisam.result b/mysql-test/suite/parts/r/partition_value_myisam.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_value_myisam.result rename to mysql-test/suite/parts/r/partition_value_myisam.result diff --git a/mysql-test/suite/partitions/r/partition_value_ndb.result b/mysql-test/suite/parts/r/partition_value_ndb.result similarity index 100% rename from mysql-test/suite/partitions/r/partition_value_ndb.result rename to mysql-test/suite/parts/r/partition_value_ndb.result diff --git a/mysql-test/suite/partitions/r/rpl_ndb_dd_partitions.result b/mysql-test/suite/parts/r/rpl_ndb_dd_partitions.result similarity index 100% rename from mysql-test/suite/partitions/r/rpl_ndb_dd_partitions.result rename to mysql-test/suite/parts/r/rpl_ndb_dd_partitions.result diff --git a/mysql-test/suite/partitions/t/disabled.def b/mysql-test/suite/parts/t/disabled.def similarity index 100% rename from mysql-test/suite/partitions/t/disabled.def rename to mysql-test/suite/parts/t/disabled.def diff --git a/mysql-test/suite/partitions/t/ndb_blob_partition.test b/mysql-test/suite/parts/t/ndb_blob_partition.test similarity index 100% rename from mysql-test/suite/partitions/t/ndb_blob_partition.test rename to mysql-test/suite/parts/t/ndb_blob_partition.test diff --git a/mysql-test/suite/partitions/t/ndb_dd_backuprestore.test b/mysql-test/suite/parts/t/ndb_dd_backuprestore.test similarity index 100% rename from mysql-test/suite/partitions/t/ndb_dd_backuprestore.test rename to mysql-test/suite/parts/t/ndb_dd_backuprestore.test diff --git a/mysql-test/suite/partitions/t/ndb_partition_error.test b/mysql-test/suite/parts/t/ndb_partition_error.test similarity index 100% rename from mysql-test/suite/partitions/t/ndb_partition_error.test rename to mysql-test/suite/parts/t/ndb_partition_error.test diff --git a/mysql-test/suite/partitions/t/ndb_partition_key.test b/mysql-test/suite/parts/t/ndb_partition_key.test similarity index 100% rename from mysql-test/suite/partitions/t/ndb_partition_key.test rename to mysql-test/suite/parts/t/ndb_partition_key.test diff --git a/mysql-test/suite/partitions/t/ndb_partition_list.test b/mysql-test/suite/parts/t/ndb_partition_list.test similarity index 100% rename from mysql-test/suite/partitions/t/ndb_partition_list.test rename to mysql-test/suite/parts/t/ndb_partition_list.test diff --git a/mysql-test/suite/partitions/t/ndb_partition_range.test b/mysql-test/suite/parts/t/ndb_partition_range.test similarity index 100% rename from mysql-test/suite/partitions/t/ndb_partition_range.test rename to mysql-test/suite/parts/t/ndb_partition_range.test diff --git a/mysql-test/suite/partitions/t/partition_blocked_sql_func_innodb.test b/mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test similarity index 94% rename from mysql-test/suite/partitions/t/partition_blocked_sql_func_innodb.test rename to mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test index 4b064b37d48..c2bbf6ad26c 100644 --- a/mysql-test/suite/partitions/t/partition_blocked_sql_func_innodb.test +++ b/mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test @@ -39,6 +39,6 @@ let $debug= 0; let $engine= 'INNODB'; #------------------------------------------------------------------------------# ---source suite/partitions/include/partition_blocked_sql_funcs_main.inc -# --source include/partition_blocked_sql_funcs_main.inc +--source suite/parts/inc/part_blocked_sql_funcs_main.inc +# --source inc/part_blocked_sql_funcs_main.inc diff --git a/mysql-test/suite/partitions/t/partition_blocked_sql_func_myisam.test b/mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test similarity index 93% rename from mysql-test/suite/partitions/t/partition_blocked_sql_func_myisam.test rename to mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test index 6d97daca6fc..bd7247e4ba5 100644 --- a/mysql-test/suite/partitions/t/partition_blocked_sql_func_myisam.test +++ b/mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test @@ -38,6 +38,6 @@ let $debug= 0; let $engine= 'MYISAM'; #------------------------------------------------------------------------------# ---source suite/partitions/include/partition_blocked_sql_funcs_main.inc -# --source include/partition_blocked_sql_funcs_main.inc +--source suite/parts/inc/part_blocked_sql_funcs_main.inc +# --source inc/part_blocked_sql_funcs_main.inc diff --git a/mysql-test/suite/partitions/t/partition_supported_sql_func_innodb.test b/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test similarity index 89% rename from mysql-test/suite/partitions/t/partition_supported_sql_func_innodb.test rename to mysql-test/suite/parts/t/part_supported_sql_func_innodb.test index 135c869c841..ee765bbe1d0 100644 --- a/mysql-test/suite/partitions/t/partition_supported_sql_func_innodb.test +++ b/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test @@ -1,5 +1,5 @@ ################################################################################ -# t/partition_supported_sql_funcs_innodb.test # +# t/part_supported_sql_funcs_innodb.test # # # # Purpose: # # Tests which SQL functions are allowed in partinioning clauses with # @@ -37,6 +37,6 @@ let $do_long_tests= 1; let $engine= 'INNODB'; #------------------------------------------------------------------------------# ---source suite/partitions/include/partition_supported_sql_funcs_main.inc -# --source include/partition_supported_sql_funcs_main.inc +--source suite/parts/inc/part_supported_sql_funcs_main.inc +# --source inc/part_supported_sql_funcs_main.inc diff --git a/mysql-test/suite/partitions/t/partition_supported_sql_func_myisam.test b/mysql-test/suite/parts/t/part_supported_sql_func_myisam.test similarity index 89% rename from mysql-test/suite/partitions/t/partition_supported_sql_func_myisam.test rename to mysql-test/suite/parts/t/part_supported_sql_func_myisam.test index 131a5e23f39..58c7d8ebfb1 100644 --- a/mysql-test/suite/partitions/t/partition_supported_sql_func_myisam.test +++ b/mysql-test/suite/parts/t/part_supported_sql_func_myisam.test @@ -1,5 +1,5 @@ ################################################################################ -# t/partition_supported_sql_funcs_myisam.test # +# t/part_supported_sql_funcs_myisam.test # # # # Purpose: # # Tests which SQL functions are allowed in partinioning clauses with # @@ -39,6 +39,6 @@ let $do_long_tests= 1; let $engine= 'MYISAM'; #------------------------------------------------------------------------------# ---source suite/partitions/include/partition_supported_sql_funcs_main.inc -# --source include/partition_supported_sql_funcs_main.inc +--source suite/parts/inc/part_supported_sql_funcs_main.inc +# --source inc/part_supported_sql_funcs_main.inc diff --git a/mysql-test/suite/partitions/t/partition_supported_sql_func_ndb.test b/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test similarity index 89% rename from mysql-test/suite/partitions/t/partition_supported_sql_func_ndb.test rename to mysql-test/suite/parts/t/part_supported_sql_func_ndb.test index 2a536fbce94..c21ffe16d19 100644 --- a/mysql-test/suite/partitions/t/partition_supported_sql_func_ndb.test +++ b/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test @@ -1,5 +1,5 @@ ################################################################################ -# t/partition_supported_sql_funcs_myisam.test # +# t/part_supported_sql_funcs_myisam.test # # # # Purpose: # # Tests which SQL functions are allowed in partinioning clauses with # @@ -35,6 +35,6 @@ let $do_long_tests= 1; let $engine= 'NDB'; #------------------------------------------------------------------------------# ---source suite/partitions/include/partition_supported_sql_funcs_main.inc -# --source include/partition_supported_sql_funcs_main.inc +--source suite/parts/inc/part_supported_sql_funcs_main.inc +# --source inc/part_supported_sql_funcs_main.inc diff --git a/mysql-test/suite/partitions/t/partition_alter1_innodb.test b/mysql-test/suite/parts/t/partition_alter1_innodb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_alter1_innodb.test rename to mysql-test/suite/parts/t/partition_alter1_innodb.test index 918cbf0e5fe..2667f1dbccd 100644 --- a/mysql-test/suite/partitions/t/partition_alter1_innodb.test +++ b/mysql-test/suite/parts/t/partition_alter1_innodb.test @@ -63,21 +63,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter1.inc -# --source include/partition_alter1.inc +--source suite/parts/inc/partition_alter1.inc +# --source inc/partition_alter1.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter1_myisam.test b/mysql-test/suite/parts/t/partition_alter1_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_alter1_myisam.test rename to mysql-test/suite/parts/t/partition_alter1_myisam.test index 7369043001d..0959de92c15 100644 --- a/mysql-test/suite/partitions/t/partition_alter1_myisam.test +++ b/mysql-test/suite/parts/t/partition_alter1_myisam.test @@ -62,21 +62,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter1.inc -# --source include/partition_alter1.inc +--source suite/parts/inc/partition_alter1.inc +# --source inc/partition_alter1.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter1_ndb.test b/mysql-test/suite/parts/t/partition_alter1_ndb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_alter1_ndb.test rename to mysql-test/suite/parts/t/partition_alter1_ndb.test index 11992d4027b..96ea9376eb9 100644 --- a/mysql-test/suite/partitions/t/partition_alter1_ndb.test +++ b/mysql-test/suite/parts/t/partition_alter1_ndb.test @@ -66,8 +66,8 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response @@ -75,13 +75,13 @@ let $fixed_bug18735= 0; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter1.inc -# --source include/partition_alter1.inc +--source suite/parts/inc/partition_alter1.inc +# --source inc/partition_alter1.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter2_innodb.test b/mysql-test/suite/parts/t/partition_alter2_innodb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_alter2_innodb.test rename to mysql-test/suite/parts/t/partition_alter2_innodb.test index 1aee1aacba9..df2b4a0e048 100644 --- a/mysql-test/suite/partitions/t/partition_alter2_innodb.test +++ b/mysql-test/suite/parts/t/partition_alter2_innodb.test @@ -63,21 +63,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter2.inc -# --source include/partition_alter2.inc +--source suite/parts/inc/partition_alter2.inc +# --source inc/partition_alter2.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter2_myisam.test b/mysql-test/suite/parts/t/partition_alter2_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_alter2_myisam.test rename to mysql-test/suite/parts/t/partition_alter2_myisam.test index 894936b86e0..b8b92d1b218 100644 --- a/mysql-test/suite/partitions/t/partition_alter2_myisam.test +++ b/mysql-test/suite/parts/t/partition_alter2_myisam.test @@ -62,21 +62,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter2.inc -# --source include/partition_alter2.inc +--source suite/parts/inc/partition_alter2.inc +# --source inc/partition_alter2.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter2_ndb.test b/mysql-test/suite/parts/t/partition_alter2_ndb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_alter2_ndb.test rename to mysql-test/suite/parts/t/partition_alter2_ndb.test index 3e2930371f1..8506ec3fea8 100644 --- a/mysql-test/suite/partitions/t/partition_alter2_ndb.test +++ b/mysql-test/suite/parts/t/partition_alter2_ndb.test @@ -67,21 +67,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter2.inc -# --source include/partition_alter2.inc +--source suite/parts/inc/partition_alter2.inc +# --source inc/partition_alter2.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter3_innodb.test b/mysql-test/suite/parts/t/partition_alter3_innodb.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_alter3_innodb.test rename to mysql-test/suite/parts/t/partition_alter3_innodb.test index 28fb0fdf01b..253cd7242bd 100644 --- a/mysql-test/suite/partitions/t/partition_alter3_innodb.test +++ b/mysql-test/suite/parts/t/partition_alter3_innodb.test @@ -62,21 +62,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter3.inc -# --source include/partition_alter3.inc +--source suite/parts/inc/partition_alter3.inc +# --source inc/partition_alter3.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter3_myisam.test b/mysql-test/suite/parts/t/partition_alter3_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_alter3_myisam.test rename to mysql-test/suite/parts/t/partition_alter3_myisam.test index 8f613dbf9d4..894340de4db 100644 --- a/mysql-test/suite/partitions/t/partition_alter3_myisam.test +++ b/mysql-test/suite/parts/t/partition_alter3_myisam.test @@ -61,21 +61,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter3.inc -# --source include/partition_alter3.inc +--source suite/parts/inc/partition_alter3.inc +# --source inc/partition_alter3.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter4_innodb.test b/mysql-test/suite/parts/t/partition_alter4_innodb.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_alter4_innodb.test rename to mysql-test/suite/parts/t/partition_alter4_innodb.test index 7f4afc5c906..eea8b9997ef 100644 --- a/mysql-test/suite/partitions/t/partition_alter4_innodb.test +++ b/mysql-test/suite/parts/t/partition_alter4_innodb.test @@ -63,21 +63,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter4.inc -# --source include/partition_alter4.inc +--source suite/parts/inc/partition_alter4.inc +# --source inc/partition_alter4.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_alter4_myisam.test b/mysql-test/suite/parts/t/partition_alter4_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_alter4_myisam.test rename to mysql-test/suite/parts/t/partition_alter4_myisam.test index eec18a78528..064dc111ef3 100644 --- a/mysql-test/suite/partitions/t/partition_alter4_myisam.test +++ b/mysql-test/suite/parts/t/partition_alter4_myisam.test @@ -62,21 +62,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_alter4.inc -# --source include/partition_alter4.inc +--source suite/parts/inc/partition_alter4.inc +# --source inc/partition_alter4.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_basic_innodb.test b/mysql-test/suite/parts/t/partition_basic_innodb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_basic_innodb.test rename to mysql-test/suite/parts/t/partition_basic_innodb.test index 656c505b576..8e6f6e6d166 100644 --- a/mysql-test/suite/partitions/t/partition_basic_innodb.test +++ b/mysql-test/suite/parts/t/partition_basic_innodb.test @@ -63,21 +63,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_basic.inc -# --source include/partition_basic.inc +--source suite/parts/inc/partition_basic.inc +# --source inc/partition_basic.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_basic_myisam.test b/mysql-test/suite/parts/t/partition_basic_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_basic_myisam.test rename to mysql-test/suite/parts/t/partition_basic_myisam.test index 8a7108b8ba7..4f653db88e3 100644 --- a/mysql-test/suite/partitions/t/partition_basic_myisam.test +++ b/mysql-test/suite/parts/t/partition_basic_myisam.test @@ -62,21 +62,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_basic.inc -# --source include/partition_basic.inc +--source suite/parts/inc/partition_basic.inc +# --source inc/partition_basic.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_basic_ndb.test b/mysql-test/suite/parts/t/partition_basic_ndb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_basic_ndb.test rename to mysql-test/suite/parts/t/partition_basic_ndb.test index 6ec2c0047a7..2e6f830eefc 100644 --- a/mysql-test/suite/partitions/t/partition_basic_ndb.test +++ b/mysql-test/suite/parts/t/partition_basic_ndb.test @@ -67,8 +67,8 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # Bug#18730 Partitions: NDB, crash on SELECT MIN() @@ -78,13 +78,13 @@ let $fixed_bug18735= 0; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_basic.inc -# --source include/partition_basic.inc +--source suite/parts/inc/partition_basic.inc +# --source inc/partition_basic.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_bit_innodb.test b/mysql-test/suite/parts/t/partition_bit_innodb.test similarity index 96% rename from mysql-test/suite/partitions/t/partition_bit_innodb.test rename to mysql-test/suite/parts/t/partition_bit_innodb.test index ebcd5b98265..7bc74036b2e 100644 --- a/mysql-test/suite/partitions/t/partition_bit_innodb.test +++ b/mysql-test/suite/parts/t/partition_bit_innodb.test @@ -52,6 +52,6 @@ let $MAX_VALUE= (2147483646); #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_bit.inc -# --source include/partition_basic.inc +--source suite/parts/inc/partition_bit.inc +# --source inc/partition_basic.inc diff --git a/mysql-test/suite/partitions/t/partition_bit_myisam.test b/mysql-test/suite/parts/t/partition_bit_myisam.test similarity index 96% rename from mysql-test/suite/partitions/t/partition_bit_myisam.test rename to mysql-test/suite/parts/t/partition_bit_myisam.test index f218e270915..c21ca104ca5 100644 --- a/mysql-test/suite/partitions/t/partition_bit_myisam.test +++ b/mysql-test/suite/parts/t/partition_bit_myisam.test @@ -51,6 +51,6 @@ let $MAX_VALUE= (2147483646); #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_bit.inc -# --source include/partition_basic.inc +--source suite/parts/inc/partition_bit.inc +# --source inc/partition_basic.inc diff --git a/mysql-test/suite/partitions/t/partition_bit_ndb.test b/mysql-test/suite/parts/t/partition_bit_ndb.test similarity index 96% rename from mysql-test/suite/partitions/t/partition_bit_ndb.test rename to mysql-test/suite/parts/t/partition_bit_ndb.test index 36d842c165e..9e21c7de158 100644 --- a/mysql-test/suite/partitions/t/partition_bit_ndb.test +++ b/mysql-test/suite/parts/t/partition_bit_ndb.test @@ -52,6 +52,6 @@ let $MAX_VALUE= (2147483646); #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_bit.inc -# --source include/partition_basic.inc +--source suite/parts/inc/partition_bit.inc +# --source inc/partition_basic.inc diff --git a/mysql-test/suite/partitions/t/partition_char_innodb.test b/mysql-test/suite/parts/t/partition_char_innodb.test similarity index 73% rename from mysql-test/suite/partitions/t/partition_char_innodb.test rename to mysql-test/suite/parts/t/partition_char_innodb.test index 6fa8e241e6c..d0389517927 100644 --- a/mysql-test/suite/partitions/t/partition_char_innodb.test +++ b/mysql-test/suite/parts/t/partition_char_innodb.test @@ -42,19 +42,19 @@ let $maxrows=65535; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_char.inc ---source suite/partitions/include/partition_binary.inc ---source suite/partitions/include/partition_varchar.inc ---source suite/partitions/include/partition_varbinary.inc ---source suite/partitions/include/partition_enum.inc ---source suite/partitions/include/partition_set.inc ---source suite/partitions/include/partition_blob.inc ---source suite/partitions/include/partition_text.inc -# --source include/partition_char.inc -# --source include/partition_binary.inc -# --source include/partition_varchar.inc -# --source include/partition_varbinary.inc -# --source include/partition_enum.inc -# --source include/partition_set.inc -# --source include/partition_blob.inc -# --source include/partition_text.inc +--source suite/parts/inc/partition_char.inc +--source suite/parts/inc/partition_binary.inc +--source suite/parts/inc/partition_varchar.inc +--source suite/parts/inc/partition_varbinary.inc +--source suite/parts/inc/partition_enum.inc +--source suite/parts/inc/partition_set.inc +--source suite/parts/inc/partition_blob.inc +--source suite/parts/inc/partition_text.inc +# --source inc/partition_char.inc +# --source inc/partition_binary.inc +# --source inc/partition_varchar.inc +# --source inc/partition_varbinary.inc +# --source inc/partition_enum.inc +# --source inc/partition_set.inc +# --source inc/partition_blob.inc +# --source inc/partition_text.inc diff --git a/mysql-test/suite/partitions/t/partition_char_myisam.test b/mysql-test/suite/parts/t/partition_char_myisam.test similarity index 95% rename from mysql-test/suite/partitions/t/partition_char_myisam.test rename to mysql-test/suite/parts/t/partition_char_myisam.test index df1e3c4e70f..bdcb2cd9c24 100644 --- a/mysql-test/suite/partitions/t/partition_char_myisam.test +++ b/mysql-test/suite/parts/t/partition_char_myisam.test @@ -39,5 +39,5 @@ let $engine= 'MyISAM'; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_key_4col.inc -# --source include/partition_key_4col.inc +--source suite/parts/inc/partition_key_4col.inc +# --source inc/partition_key_4col.inc diff --git a/mysql-test/suite/partitions/t/partition_datetime_innodb.test b/mysql-test/suite/parts/t/partition_datetime_innodb.test similarity index 81% rename from mysql-test/suite/partitions/t/partition_datetime_innodb.test rename to mysql-test/suite/parts/t/partition_datetime_innodb.test index 4284d9cbb82..fe19e2803c5 100644 --- a/mysql-test/suite/partitions/t/partition_datetime_innodb.test +++ b/mysql-test/suite/parts/t/partition_datetime_innodb.test @@ -42,13 +42,13 @@ let $maxrows=1024; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_timestamp.inc ---source suite/partitions/include/partition_date.inc ---source suite/partitions/include/partition_time.inc ---source suite/partitions/include/partition_datetime.inc ---source suite/partitions/include/partition_year.inc -# --source include/partition_timestamp.inc -# --source include/partition_date.inc -# --source include/partition_time.inc -# --source include/partition_datetime.inc -# --source include/partition_year.inc +--source suite/parts/inc/partition_timestamp.inc +--source suite/parts/inc/partition_date.inc +--source suite/parts/inc/partition_time.inc +--source suite/parts/inc/partition_datetime.inc +--source suite/parts/inc/partition_year.inc +# --source inc/partition_timestamp.inc +# --source inc/partition_date.inc +# --source inc/partition_time.inc +# --source inc/partition_datetime.inc +# --source inc/partition_year.inc diff --git a/mysql-test/suite/partitions/t/partition_datetime_myisam.test b/mysql-test/suite/parts/t/partition_datetime_myisam.test similarity index 81% rename from mysql-test/suite/partitions/t/partition_datetime_myisam.test rename to mysql-test/suite/parts/t/partition_datetime_myisam.test index e42c3fd7e15..1fd6527d38e 100644 --- a/mysql-test/suite/partitions/t/partition_datetime_myisam.test +++ b/mysql-test/suite/parts/t/partition_datetime_myisam.test @@ -42,13 +42,13 @@ let $maxrows=65535; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_timestamp.inc ---source suite/partitions/include/partition_date.inc ---source suite/partitions/include/partition_time.inc ---source suite/partitions/include/partition_datetime.inc ---source suite/partitions/include/partition_year.inc -# --source include/partition_timestamp.inc -# --source include/partition_date.inc -# --source include/partition_time.inc -# --source include/partition_datetime.inc -# --source include/partition_year.inc +--source suite/parts/inc/partition_timestamp.inc +--source suite/parts/inc/partition_date.inc +--source suite/parts/inc/partition_time.inc +--source suite/parts/inc/partition_datetime.inc +--source suite/parts/inc/partition_year.inc +# --source inc/partition_timestamp.inc +# --source inc/partition_date.inc +# --source inc/partition_time.inc +# --source inc/partition_datetime.inc +# --source inc/partition_year.inc diff --git a/mysql-test/suite/partitions/t/partition_decimal_innodb.test b/mysql-test/suite/parts/t/partition_decimal_innodb.test similarity index 95% rename from mysql-test/suite/partitions/t/partition_decimal_innodb.test rename to mysql-test/suite/parts/t/partition_decimal_innodb.test index 6ec3be0be41..ec5948097c8 100644 --- a/mysql-test/suite/partitions/t/partition_decimal_innodb.test +++ b/mysql-test/suite/parts/t/partition_decimal_innodb.test @@ -41,5 +41,5 @@ let $maxrows=1024; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_decimal.inc -# --source include/partition_decimal.inc +--source suite/parts/inc/partition_decimal.inc +# --source inc/partition_decimal.inc diff --git a/mysql-test/suite/partitions/t/partition_decimal_myisam.test b/mysql-test/suite/parts/t/partition_decimal_myisam.test similarity index 95% rename from mysql-test/suite/partitions/t/partition_decimal_myisam.test rename to mysql-test/suite/parts/t/partition_decimal_myisam.test index d9bdbc446fd..9be50028647 100644 --- a/mysql-test/suite/partitions/t/partition_decimal_myisam.test +++ b/mysql-test/suite/parts/t/partition_decimal_myisam.test @@ -41,5 +41,5 @@ let $maxrows=65535; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_decimal.inc -# --source include/partition_decimal.inc +--source suite/parts/inc/partition_decimal.inc +# --source inc/partition_decimal.inc diff --git a/mysql-test/suite/partitions/t/partition_engine_innodb.test b/mysql-test/suite/parts/t/partition_engine_innodb.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_engine_innodb.test rename to mysql-test/suite/parts/t/partition_engine_innodb.test index ab803ab4f12..6205c970b21 100644 --- a/mysql-test/suite/partitions/t/partition_engine_innodb.test +++ b/mysql-test/suite/parts/t/partition_engine_innodb.test @@ -62,21 +62,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_engine.inc -# --source include/partition_engine.inc +--source suite/parts/inc/partition_engine.inc +# --source inc/partition_engine.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_engine_myisam.test b/mysql-test/suite/parts/t/partition_engine_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_engine_myisam.test rename to mysql-test/suite/parts/t/partition_engine_myisam.test index 781b9dd2a89..437e20ab3ee 100644 --- a/mysql-test/suite/partitions/t/partition_engine_myisam.test +++ b/mysql-test/suite/parts/t/partition_engine_myisam.test @@ -61,21 +61,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_engine.inc -# --source include/partition_engine.inc +--source suite/parts/inc/partition_engine.inc +# --source inc/partition_engine.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_engine_ndb.test b/mysql-test/suite/parts/t/partition_engine_ndb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_engine_ndb.test rename to mysql-test/suite/parts/t/partition_engine_ndb.test index 80858758d69..223e9b035c6 100644 --- a/mysql-test/suite/partitions/t/partition_engine_ndb.test +++ b/mysql-test/suite/parts/t/partition_engine_ndb.test @@ -66,21 +66,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_engine.inc -# --source include/partition_engine.inc +--source suite/parts/inc/partition_engine.inc +# --source inc/partition_engine.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_float_innodb.test b/mysql-test/suite/parts/t/partition_float_innodb.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_float_innodb.test rename to mysql-test/suite/parts/t/partition_float_innodb.test index c47f83670e7..b36dc0668a6 100644 --- a/mysql-test/suite/partitions/t/partition_float_innodb.test +++ b/mysql-test/suite/parts/t/partition_float_innodb.test @@ -41,7 +41,7 @@ let $maxrows=1024; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_float.inc ---source suite/partitions/include/partition_double.inc -# --source include/partition_float.inc -# --source include/partition_double.inc +--source suite/parts/inc/partition_float.inc +--source suite/parts/inc/partition_double.inc +# --source inc/partition_float.inc +# --source inc/partition_double.inc diff --git a/mysql-test/suite/partitions/t/partition_float_myisam.test b/mysql-test/suite/parts/t/partition_float_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_float_myisam.test rename to mysql-test/suite/parts/t/partition_float_myisam.test index 687ee9f6b30..57ef91a3169 100644 --- a/mysql-test/suite/partitions/t/partition_float_myisam.test +++ b/mysql-test/suite/parts/t/partition_float_myisam.test @@ -41,7 +41,7 @@ let $maxrows=16384; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_float.inc ---source suite/partitions/include/partition_double.inc -# --source include/partition_float.inc -# --source include/partition_double.inc +--source suite/parts/inc/partition_float.inc +--source suite/parts/inc/partition_double.inc +# --source inc/partition_float.inc +# --source inc/partition_double.inc diff --git a/mysql-test/suite/partitions/t/partition_int_innodb.test b/mysql-test/suite/parts/t/partition_int_innodb.test similarity index 81% rename from mysql-test/suite/partitions/t/partition_int_innodb.test rename to mysql-test/suite/parts/t/partition_int_innodb.test index bafdd9541c3..fda7398565c 100644 --- a/mysql-test/suite/partitions/t/partition_int_innodb.test +++ b/mysql-test/suite/parts/t/partition_int_innodb.test @@ -42,13 +42,13 @@ let $maxrows=1024; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_tinyint.inc ---source suite/partitions/include/partition_smallint.inc ---source suite/partitions/include/partition_int.inc ---source suite/partitions/include/partition_mediumint.inc ---source suite/partitions/include/partition_bigint.inc -# --source include/partition_tinyint.inc -# --source include/partition_samllint.inc -# --source include/partition_int.inc -# --source include/partition_mediumint.inc -# --source include/partition_bigint.inc +--source suite/parts/inc/partition_tinyint.inc +--source suite/parts/inc/partition_smallint.inc +--source suite/parts/inc/partition_int.inc +--source suite/parts/inc/partition_mediumint.inc +--source suite/parts/inc/partition_bigint.inc +# --source inc/partition_tinyint.inc +# --source inc/partition_samllint.inc +# --source inc/partition_int.inc +# --source inc/partition_mediumint.inc +# --source inc/partition_bigint.inc diff --git a/mysql-test/suite/partitions/t/partition_int_myisam.test b/mysql-test/suite/parts/t/partition_int_myisam.test similarity index 81% rename from mysql-test/suite/partitions/t/partition_int_myisam.test rename to mysql-test/suite/parts/t/partition_int_myisam.test index d8b9743900b..c85a1471a35 100644 --- a/mysql-test/suite/partitions/t/partition_int_myisam.test +++ b/mysql-test/suite/parts/t/partition_int_myisam.test @@ -41,13 +41,13 @@ let $maxrows=65535; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_tinyint.inc ---source suite/partitions/include/partition_smallint.inc ---source suite/partitions/include/partition_int.inc ---source suite/partitions/include/partition_mediumint.inc ---source suite/partitions/include/partition_bigint.inc -# --source include/partition_tinyint.inc -# --source include/partition_samllint.inc -# --source include/partition_int.inc -# --source include/partition_mediumint.inc -# --source include/partition_bigint.inc +--source suite/parts/inc/partition_tinyint.inc +--source suite/parts/inc/partition_smallint.inc +--source suite/parts/inc/partition_int.inc +--source suite/parts/inc/partition_mediumint.inc +--source suite/parts/inc/partition_bigint.inc +# --source inc/partition_tinyint.inc +# --source inc/partition_samllint.inc +# --source inc/partition_int.inc +# --source inc/partition_mediumint.inc +# --source inc/partition_bigint.inc diff --git a/mysql-test/suite/partitions/t/partition_int_ndb.test b/mysql-test/suite/parts/t/partition_int_ndb.test similarity index 80% rename from mysql-test/suite/partitions/t/partition_int_ndb.test rename to mysql-test/suite/parts/t/partition_int_ndb.test index cca098a6ab7..dfa853bed16 100644 --- a/mysql-test/suite/partitions/t/partition_int_ndb.test +++ b/mysql-test/suite/parts/t/partition_int_ndb.test @@ -40,13 +40,13 @@ let $engine= 'NDB'; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_tinyint.inc ---source suite/partitions/include/partition_smallint.inc ---source suite/partitions/include/partition_int.inc ---source suite/partitions/include/partition_mediumint.inc ---source suite/partitions/include/partition_bigint.inc -# --source include/partition_tinyint.inc -# --source include/partition_samllint.inc -# --source include/partition_int.inc -# --source include/partition_mediumint.inc -# --source include/partition_bigint.inc +--source suite/parts/inc/partition_tinyint.inc +--source suite/parts/inc/partition_smallint.inc +--source suite/parts/inc/partition_int.inc +--source suite/parts/inc/partition_mediumint.inc +--source suite/parts/inc/partition_bigint.inc +# --source inc/partition_tinyint.inc +# --source inc/partition_samllint.inc +# --source inc/partition_int.inc +# --source inc/partition_mediumint.inc +# --source inc/partition_bigint.inc diff --git a/mysql-test/suite/partitions/t/partition_sessions.test b/mysql-test/suite/parts/t/partition_sessions.test similarity index 100% rename from mysql-test/suite/partitions/t/partition_sessions.test rename to mysql-test/suite/parts/t/partition_sessions.test diff --git a/mysql-test/suite/partitions/t/partition_special_innodb.test b/mysql-test/suite/parts/t/partition_special_innodb.test similarity index 83% rename from mysql-test/suite/partitions/t/partition_special_innodb.test rename to mysql-test/suite/parts/t/partition_special_innodb.test index 67c222cbf04..5df518a3952 100644 --- a/mysql-test/suite/partitions/t/partition_special_innodb.test +++ b/mysql-test/suite/parts/t/partition_special_innodb.test @@ -39,11 +39,11 @@ let $engine= 'InnoDB'; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_key_4col.inc ---source suite/partitions/include/partition_key_8col.inc ---source suite/partitions/include/partition_key_16col.inc ---source suite/partitions/include/partition_key_32col.inc -# --source include/partition_key_4col.inc -# --source include/partition_key_8col.inc -# --source include/partition_key_16col.inc -# --source include/partition_key_32col.inc +--source suite/parts/inc/partition_key_4col.inc +--source suite/parts/inc/partition_key_8col.inc +--source suite/parts/inc/partition_key_16col.inc +--source suite/parts/inc/partition_key_32col.inc +# --source inc/partition_key_4col.inc +# --source inc/partition_key_8col.inc +# --source inc/partition_key_16col.inc +# --source inc/partition_key_32col.inc diff --git a/mysql-test/suite/partitions/t/partition_special_myisam.test b/mysql-test/suite/parts/t/partition_special_myisam.test similarity index 83% rename from mysql-test/suite/partitions/t/partition_special_myisam.test rename to mysql-test/suite/parts/t/partition_special_myisam.test index f5645f7c992..c87d39ab577 100644 --- a/mysql-test/suite/partitions/t/partition_special_myisam.test +++ b/mysql-test/suite/parts/t/partition_special_myisam.test @@ -39,11 +39,11 @@ let $engine= 'MyISAM'; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_key_4col.inc ---source suite/partitions/include/partition_key_8col.inc ---source suite/partitions/include/partition_key_16col.inc ---source suite/partitions/include/partition_key_32col.inc -# --source include/partition_key_4col.inc -# --source include/partition_key_8col.inc -# --source include/partition_key_16col.inc -# --source include/partition_key_32col.inc +--source suite/parts/inc/partition_key_4col.inc +--source suite/parts/inc/partition_key_8col.inc +--source suite/parts/inc/partition_key_16col.inc +--source suite/parts/inc/partition_key_32col.inc +# --source inc/partition_key_4col.inc +# --source inc/partition_key_8col.inc +# --source inc/partition_key_16col.inc +# --source inc/partition_key_32col.inc diff --git a/mysql-test/suite/partitions/t/partition_syntax_innodb.test b/mysql-test/suite/parts/t/partition_syntax_innodb.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_syntax_innodb.test rename to mysql-test/suite/parts/t/partition_syntax_innodb.test index ea25a1c5486..ce62b06bd6f 100644 --- a/mysql-test/suite/partitions/t/partition_syntax_innodb.test +++ b/mysql-test/suite/parts/t/partition_syntax_innodb.test @@ -62,21 +62,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_syntax.inc -# --source include/partition_syntax.inc +--source suite/parts/inc/partition_syntax.inc +# --source inc/partition_syntax.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_syntax_myisam.test b/mysql-test/suite/parts/t/partition_syntax_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_syntax_myisam.test rename to mysql-test/suite/parts/t/partition_syntax_myisam.test index 6fa16e21250..62396580b50 100644 --- a/mysql-test/suite/partitions/t/partition_syntax_myisam.test +++ b/mysql-test/suite/parts/t/partition_syntax_myisam.test @@ -61,21 +61,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_syntax.inc -# --source include/partition_syntax.inc +--source suite/parts/inc/partition_syntax.inc +# --source inc/partition_syntax.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_syntax_ndb.test b/mysql-test/suite/parts/t/partition_syntax_ndb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_syntax_ndb.test rename to mysql-test/suite/parts/t/partition_syntax_ndb.test index 80cd95ae8b6..3eb453ce7ea 100644 --- a/mysql-test/suite/partitions/t/partition_syntax_ndb.test +++ b/mysql-test/suite/parts/t/partition_syntax_ndb.test @@ -66,8 +66,8 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response @@ -75,13 +75,13 @@ let $fixed_bug18735= 0; #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_syntax.inc -# --source include/partition_syntax.inc +--source suite/parts/inc/partition_syntax.inc +# --source inc/partition_syntax.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_value_innodb.test b/mysql-test/suite/parts/t/partition_value_innodb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_value_innodb.test rename to mysql-test/suite/parts/t/partition_value_innodb.test index aaffd5e202d..2e3c6ff98ad 100644 --- a/mysql-test/suite/partitions/t/partition_value_innodb.test +++ b/mysql-test/suite/parts/t/partition_value_innodb.test @@ -62,21 +62,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_value.inc -# --source include/partition_value.inc +--source suite/parts/inc/partition_value.inc +# --source inc/partition_value.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_value_myisam.test b/mysql-test/suite/parts/t/partition_value_myisam.test similarity index 91% rename from mysql-test/suite/partitions/t/partition_value_myisam.test rename to mysql-test/suite/parts/t/partition_value_myisam.test index 4f6172d717a..78e781111f7 100644 --- a/mysql-test/suite/partitions/t/partition_value_myisam.test +++ b/mysql-test/suite/parts/t/partition_value_myisam.test @@ -61,21 +61,21 @@ let $do_pk_tests= 0; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_value.inc -# --source include/partition_value.inc +--source suite/parts/inc/partition_value.inc +# --source inc/partition_value.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/partition_value_ndb.test b/mysql-test/suite/parts/t/partition_value_ndb.test similarity index 92% rename from mysql-test/suite/partitions/t/partition_value_ndb.test rename to mysql-test/suite/parts/t/partition_value_ndb.test index fc3f897c556..94230af131e 100644 --- a/mysql-test/suite/partitions/t/partition_value_ndb.test +++ b/mysql-test/suite/parts/t/partition_value_ndb.test @@ -66,21 +66,21 @@ let $do_pk_tests= 1; let $MAX_VALUE= (2147483646); # Generate the prerequisites ($variables, @variables, tables) needed ---source suite/partitions/include/partition.pre -# --source include/partition.pre +--source suite/parts/inc/partition.pre +# --source inc/partition.pre ##### Workarounds for known open engine specific bugs # none #------------------------------------------------------------------------------# # Execute the tests to be applied to all storage engines ---source suite/partitions/include/partition_value.inc -# --source include/partition_value.inc +--source suite/parts/inc/partition_value.inc +# --source inc/partition_value.inc #------------------------------------------------------------------------------# # Execute storage engine specific tests #------------------------------------------------------------------------------# # Cleanup ---source suite/partitions/include/partition_cleanup.inc -# --source include/partition_cleanup.inc +--source suite/parts/inc/partition_cleanup.inc +# --source inc/partition_cleanup.inc diff --git a/mysql-test/suite/partitions/t/rpl_ndb_dd_partitions.test b/mysql-test/suite/parts/t/rpl_ndb_dd_partitions.test similarity index 100% rename from mysql-test/suite/partitions/t/rpl_ndb_dd_partitions.test rename to mysql-test/suite/parts/t/rpl_ndb_dd_partitions.test From 8b0f68331bf626566ac9a50146189ecab8a0b401 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Mon, 30 Apr 2007 17:01:00 +0200 Subject: [PATCH 117/144] Necessary change for cross-builds: Include "mysql_fix_privilege_tables_sql.c" in the source tarball. --- scripts/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 79f4666f855..52c1b6140d3 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -18,7 +18,7 @@ BUILT_SOURCES = mysql_fix_privilege_tables.sql \ mysql_fix_privilege_tables_sql.c -noinst_PROGRAMS = comp_sql +EXTRA_PROGRAMS = comp_sql bin_SCRIPTS = @server_scripts@ \ msql2mysql \ @@ -70,6 +70,8 @@ EXTRA_DIST = $(EXTRA_SCRIPTS) \ mysqlaccess.conf \ mysqlbug \ make_win_bin_dist \ + mysql_fix_privilege_tables.sql \ + mysql_fix_privilege_tables_sql.c \ mysql_system_tables_fix.sql \ CMakeLists.txt From 44af4144e66b1c0100e47c907a44842c75666f9e Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Mon, 30 Apr 2007 23:16:46 +0200 Subject: [PATCH 118/144] Bug #27653: Temp table can't be created if lower_case_table_names=1 and tmpdir has uppercase Fix: don't convert mysql_tmpdir to lower case when building the path to a temporary table --- mysql-test/include/have_lowercase1.inc | 4 +++ mysql-test/r/lowercase1.require | 2 ++ mysql-test/r/lowercase_mixed_tmpdir.result | 6 +++++ .../t/lowercase_mixed_tmpdir-master.opt | 2 ++ mysql-test/t/lowercase_mixed_tmpdir-master.sh | 6 +++++ mysql-test/t/lowercase_mixed_tmpdir.test | 12 +++++++++ sql/sql_table.cc | 26 ++++++++++++------- 7 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 mysql-test/include/have_lowercase1.inc create mode 100644 mysql-test/r/lowercase1.require create mode 100644 mysql-test/r/lowercase_mixed_tmpdir.result create mode 100644 mysql-test/t/lowercase_mixed_tmpdir-master.opt create mode 100644 mysql-test/t/lowercase_mixed_tmpdir-master.sh create mode 100644 mysql-test/t/lowercase_mixed_tmpdir.test diff --git a/mysql-test/include/have_lowercase1.inc b/mysql-test/include/have_lowercase1.inc new file mode 100644 index 00000000000..1b33432dbe3 --- /dev/null +++ b/mysql-test/include/have_lowercase1.inc @@ -0,0 +1,4 @@ +--require r/lowercase1.require +--disable_query_log +show variables like 'lower_case_table_names'; +--enable_query_log diff --git a/mysql-test/r/lowercase1.require b/mysql-test/r/lowercase1.require new file mode 100644 index 00000000000..0341f838f7b --- /dev/null +++ b/mysql-test/r/lowercase1.require @@ -0,0 +1,2 @@ +Variable_name Value +lower_case_table_names 1 diff --git a/mysql-test/r/lowercase_mixed_tmpdir.result b/mysql-test/r/lowercase_mixed_tmpdir.result new file mode 100644 index 00000000000..e11b5e4c286 --- /dev/null +++ b/mysql-test/r/lowercase_mixed_tmpdir.result @@ -0,0 +1,6 @@ +drop table if exists t1; +create table t1 (id int) engine=myisam; +insert into t1 values (1); +create temporary table t2 select * from t1; +drop temporary table t2; +drop table t1; diff --git a/mysql-test/t/lowercase_mixed_tmpdir-master.opt b/mysql-test/t/lowercase_mixed_tmpdir-master.opt new file mode 100644 index 00000000000..3d21ea72f6b --- /dev/null +++ b/mysql-test/t/lowercase_mixed_tmpdir-master.opt @@ -0,0 +1,2 @@ +--lower-case-table-names=1 +--tmpdir=$MYSQLTEST_VARDIR/tmp/MixedCase diff --git a/mysql-test/t/lowercase_mixed_tmpdir-master.sh b/mysql-test/t/lowercase_mixed_tmpdir-master.sh new file mode 100644 index 00000000000..95c26e3aa02 --- /dev/null +++ b/mysql-test/t/lowercase_mixed_tmpdir-master.sh @@ -0,0 +1,6 @@ +# This test requires a non-lowercase tmpdir directory on a case-sensitive +# filesystem. + +d="$MYSQLTEST_VARDIR/tmp/MixedCase" +test -d "$d" || mkdir "$d" +rm -f "$d"/* diff --git a/mysql-test/t/lowercase_mixed_tmpdir.test b/mysql-test/t/lowercase_mixed_tmpdir.test new file mode 100644 index 00000000000..6bd3a6f2acc --- /dev/null +++ b/mysql-test/t/lowercase_mixed_tmpdir.test @@ -0,0 +1,12 @@ +--source include/have_case_sensitive_file_system.inc +--source include/have_lowercase1.inc + +--disable_warnings +drop table if exists t1; +--enable_warnings + +create table t1 (id int) engine=myisam; +insert into t1 values (1); +create temporary table t2 select * from t1; +drop temporary table t2; +drop table t1; diff --git a/sql/sql_table.cc b/sql/sql_table.cc index f7478691293..42d59a10712 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -42,6 +42,7 @@ static int copy_data_between_tables(TABLE *from,TABLE *to, static bool prepare_blob_field(THD *thd, create_field *sql_field); static bool check_engine(THD *thd, const char *table_name, enum db_type *new_engine); +static void set_tmp_file_path(char *buf, size_t bufsize, THD *thd); /* @@ -1681,11 +1682,7 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name, /* Check if table exists */ if (create_info->options & HA_LEX_CREATE_TMP_TABLE) { - my_snprintf(path, sizeof(path), "%s%s%lx_%lx_%x%s", - mysql_tmpdir, tmp_file_prefix, current_pid, thd->thread_id, - thd->tmp_table++, reg_ext); - if (lower_case_table_names) - my_casedn_str(files_charset_info, path); + set_tmp_file_path(path, sizeof(path), thd); create_info->table_options|=HA_CREATE_DELAY_KEY_WRITE; } else @@ -2801,11 +2798,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, { if (find_temporary_table(thd, db, table_name)) goto table_exists; - my_snprintf(dst_path, sizeof(dst_path), "%s%s%lx_%lx_%x%s", - mysql_tmpdir, tmp_file_prefix, current_pid, - thd->thread_id, thd->tmp_table++, reg_ext); - if (lower_case_table_names) - my_casedn_str(files_charset_info, dst_path); + set_tmp_file_path(dst_path, sizeof(dst_path), thd); create_info->table_options|= HA_CREATE_DELAY_KEY_WRITE; } else @@ -4319,3 +4312,16 @@ static bool check_engine(THD *thd, const char *table_name, } return FALSE; } + +static void set_tmp_file_path(char *buf, size_t bufsize, THD *thd) +{ + char *p= strnmov(buf, mysql_tmpdir, bufsize); + my_snprintf(p, bufsize - (p - buf), "%s%lx_%lx_%x%s", + tmp_file_prefix, current_pid, + thd->thread_id, thd->tmp_table++, reg_ext); + if (lower_case_table_names) + { + /* Convert all except tmpdir to lower case */ + my_casedn_str(files_charset_info, p); + } +} From 6dbfd2156e9d5d9ff624621636d4ba80b01cfaa1 Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Tue, 1 May 2007 06:29:34 +0200 Subject: [PATCH 119/144] Fix braindead bad merge of mysqldump test. --- mysql-test/r/mysqldump.result | 27 --------------------------- mysql-test/t/mysqldump.test | 33 --------------------------------- 2 files changed, 60 deletions(-) diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index db1eecea6be..af0db95d97c 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -3297,33 +3297,6 @@ DELIMITER ;; -- insufficient privileges to SHOW CREATE PROCEDURE `sp1` -- does user2 have permissions on mysql.proc? -DELIMITER ; -DELIMITER ;; -/*!50003 SET SESSION SQL_MODE=""*/;; -/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`() -select 'hello' */;; -/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;; -DELIMITER ; -drop procedure sp1; -drop user user1; -drop user user2; -drop database mysqldump_test_db; -# -# Bug 27293: mysqldump crashes when dumping routines -# defined by a different user -# -# Bug #22761: mysqldump reports no errors when using -# --routines without mysql.proc privileges -# -create database mysqldump_test_db; -grant all privileges on mysqldump_test_db.* to user1; -grant all privileges on mysqldump_test_db.* to user2; -create procedure mysqldump_test_db.sp1() select 'hello'; -DELIMITER ;; - --- insufficient privileges to SHOW CREATE PROCEDURE `sp1` --- does user2 have permissions on mysql.proc? - DELIMITER ; DELIMITER ;; /*!50003 SET SESSION SQL_MODE=""*/;; diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index 512f9af1c2c..a6f93e759dc 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -1530,39 +1530,6 @@ drop database mysqldump_test_db; ---echo # ---echo # Bug 27293: mysqldump crashes when dumping routines ---echo # defined by a different user ---echo # ---echo # Bug #22761: mysqldump reports no errors when using ---echo # --routines without mysql.proc privileges ---echo # - -create database mysqldump_test_db; - -grant all privileges on mysqldump_test_db.* to user1; -grant all privileges on mysqldump_test_db.* to user2; - -connect (user27293,localhost,user1,,mysqldump_test_db,$MASTER_MYPORT,$MASTER_MYSOCK); -connection user27293; - -create procedure mysqldump_test_db.sp1() select 'hello'; - ---error 2 ---exec $MYSQL_DUMP -f --compact --user=user2 --password= -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db - ---exec $MYSQL_DUMP -f --compact --user=user1 --password= -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db - -drop procedure sp1; - -connection default; -drop user user1; -drop user user2; - -drop database mysqldump_test_db; - - - --echo # --echo # End of 5.0 tests --echo # From d276ff0cf6777638ca3f61206cc39e71ef36079c Mon Sep 17 00:00:00 2001 From: "omer@linux.site" <> Date: Tue, 1 May 2007 06:52:23 -0700 Subject: [PATCH 120/144] Updates to test/result files of funcs_1 to 5.0.40 level, - validated current result files - forced order by and removed time stamps removed a_version files (since do not make sense now when suite is in the main tree) Note: datadict tests still fail as a result of regression bug 28181 in 5.0.42 (discovered while performing this update) - tests should run clean once bug is fixed --- .../suite/funcs_1/datadict/datadict_load.inc | 3 +- .../funcs_1/datadict/datadict_master.inc | 55 +- .../funcs_1/datadict/datadict_show_schema.inc | 2 +- .../suite/funcs_1/r/a_version_check.result | 11 - .../suite/funcs_1/r/innodb__datadict.result | 1737 ++++++++--------- .../suite/funcs_1/r/innodb_func_view.result | 12 +- .../suite/funcs_1/r/innodb_trig_08.result | 5 +- .../suite/funcs_1/r/innodb_views.result | 27 +- .../suite/funcs_1/r/innodb_views.warnings | 2 - .../suite/funcs_1/r/memory__datadict.result | 1737 ++++++++--------- .../suite/funcs_1/r/memory_func_view.result | 12 +- .../suite/funcs_1/r/memory_trig_08.result | 5 +- .../suite/funcs_1/r/memory_views.result | 27 +- .../suite/funcs_1/r/memory_views.warnings | 2 - .../suite/funcs_1/r/myisam__datadict.result | 1737 ++++++++--------- .../suite/funcs_1/r/myisam_func_view.result | 12 +- .../suite/funcs_1/r/myisam_trig_08.result | 5 +- .../suite/funcs_1/r/myisam_views.result | 27 +- .../suite/funcs_1/r/myisam_views.warnings | 2 - .../suite/funcs_1/t/a_version_check.test | 29 - mysql-test/suite/funcs_1/t/disabled.def | 6 +- .../suite/funcs_1/views/views_master.inc | 8 +- 22 files changed, 2697 insertions(+), 2766 deletions(-) delete mode 100644 mysql-test/suite/funcs_1/r/a_version_check.result delete mode 100644 mysql-test/suite/funcs_1/r/innodb_views.warnings delete mode 100644 mysql-test/suite/funcs_1/r/memory_views.warnings delete mode 100644 mysql-test/suite/funcs_1/r/myisam_views.warnings delete mode 100755 mysql-test/suite/funcs_1/t/a_version_check.test diff --git a/mysql-test/suite/funcs_1/datadict/datadict_load.inc b/mysql-test/suite/funcs_1/datadict/datadict_load.inc index 2842703f2f8..4a9bdc9356d 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_load.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_load.inc @@ -44,7 +44,8 @@ if (0) # ------------------------------------------------------------------------------ # prepare a variable to be able to suppress machine dependant diffs # this can be used in: --replace_result $SERVER_NAME -let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host LIKE "%\%" AND host NOT In ("localhost", "127.0.0.1", "%")`; +# let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host LIKE "%\%" AND host NOT In ("localhost", "127.0.0.1", "%")`; +let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("localhost", "127.0.0.1", "%")`; ################################################################################ diff --git a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc index 96185cafdda..385b17be9ee 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_master.inc @@ -105,7 +105,7 @@ SELECT DISTINCT u, AS Server_Clean FROM db_datadict.vu1; --replace_result $SERVER_NAME -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; delimiter //; CREATE PROCEDURE db_datadict.sp_1() @@ -141,8 +141,9 @@ if ($have_bug_11589) # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -152,7 +153,8 @@ SELECT * FROM tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM tables WHERE NOT( table_schema = 'information_schema'); --horizontal_results @@ -177,7 +179,7 @@ select count(*) from routines; select * from statistics; select * from views; --replace_result $SERVER_NAME -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; select * from schema_privileges; select * from table_privileges; select * from column_privileges; @@ -199,7 +201,8 @@ select concat("Table or view '", table_name, --replace_result $SERVER_NAME select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) - from user_privileges where privilege_type = 'select'; + from user_privileges where privilege_type = 'select' + order by grantee; select all table_schema from schema_privileges limit 0,5; @@ -293,13 +296,14 @@ select * from information_schema.schemata ORDER BY 2 DESC; # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHRCK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } --vertical_results ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -309,7 +313,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHRCK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --horizontal_results @@ -385,7 +390,7 @@ select concat(table_schema, ', ', table_name) "Table_info" from tables ORDER BY 1; --replace_result $SERVER_NAME -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; select * from schema_privileges where table_catalog is null limit 0, 5; select * from table_privileges where grantee like '%r%' limit 0, 5; @@ -399,7 +404,7 @@ select * from schemata limit 0,5; --replace_result $SERVER_NAME select distinct grantee from user_privileges; --replace_result $SERVER_NAME -select all grantee from user_privileges; +select all grantee from user_privileges order by grantee, privilege_type; select id , character_set_name from collations order by id asc limit 10; @@ -455,8 +460,7 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# FIXME: why do we get different error numbers with and without OUTFILE ? -#FIXME this should fail! --error 1146 +# The above error is bug 28181 - a regression in 5.0.42 eval SELECT * FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; @@ -469,7 +473,7 @@ eval SELECT * FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -# FIXME 3.2.1.2: why do we get different error numbers with and without OUTFILE ? +# The above error is bug 28181 - a regression in 5.0.42 eval SELECT * FROM schemata LIMIT 0, 5; @@ -479,8 +483,7 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# FIXME: why do we get different error numbers with and without OUTFILE ? -#FIXME this should fail! --error 1146 +# The above error is bug 28181 - a regression in 5.0.42 eval SELECT * FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; @@ -3014,12 +3017,13 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3029,7 +3033,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3049,12 +3054,13 @@ connect (user_12_2, localhost, user_2, , db_datadict); # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3064,7 +3070,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3085,12 +3092,13 @@ connect (user_12_3, localhost, user_3, , db_datadict); # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3100,7 +3108,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3121,12 +3130,13 @@ connection default; # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3136,7 +3146,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol diff --git a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc index 06b2d6fed45..260119f030f 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc @@ -36,7 +36,7 @@ eval select table_name, index_schema, index_name, index_type --replace_result $SERVER_NAME eval select * - from information_schema.user_privileges; + from information_schema.user_privileges order by grantee, privilege_type; # where grantee="'u_6_401013'@'%'"; eval select * diff --git a/mysql-test/suite/funcs_1/r/a_version_check.result b/mysql-test/suite/funcs_1/r/a_version_check.result deleted file mode 100644 index 865569f9e69..00000000000 --- a/mysql-test/suite/funcs_1/r/a_version_check.result +++ /dev/null @@ -1,11 +0,0 @@ - -. Just show the version string for which the results in suite -. funcs_1 have been checked. -. -. I know that the .result file of this check needs to -. updated with each new version --- THIS IS INTENDED! --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -funcs_1 checked with version: 5.0.36 -Warnings: -Warning 1466 Leading spaces are removed from name ' ' diff --git a/mysql-test/suite/funcs_1/r/innodb__datadict.result b/mysql-test/suite/funcs_1/r/innodb__datadict.result index f1bf8e6e25b..675f30da14a 100644 --- a/mysql-test/suite/funcs_1/r/innodb__datadict.result +++ b/mysql-test/suite/funcs_1/r/innodb__datadict.result @@ -418,13 +418,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -474,7 +472,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -495,7 +493,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -516,7 +514,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -537,7 +535,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -558,7 +556,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -579,7 +577,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -600,7 +598,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -621,7 +619,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -642,7 +640,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -663,7 +661,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -684,7 +682,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -705,7 +703,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -726,7 +724,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -747,7 +745,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -768,7 +766,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -789,7 +787,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -812,7 +810,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -833,7 +831,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -854,7 +852,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -875,7 +873,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -896,7 +894,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -917,7 +915,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -938,7 +936,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -959,7 +957,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -980,7 +978,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1001,7 +999,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1022,7 +1020,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1043,7 +1041,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1064,7 +1062,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1085,7 +1083,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1106,7 +1104,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1127,7 +1125,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1148,7 +1146,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1169,7 +1167,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1190,7 +1188,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1202,7 +1200,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1211,7 +1209,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1232,7 +1230,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1253,7 +1251,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1274,7 +1272,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1295,7 +1293,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1316,7 +1314,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1337,7 +1335,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1358,7 +1356,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1379,7 +1377,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1400,7 +1398,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1421,7 +1419,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1442,7 +1440,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1463,7 +1461,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1484,7 +1482,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1505,7 +1503,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1526,7 +1524,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2100,9 +2098,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -2565,7 +2563,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE @@ -2599,91 +2597,89 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE select * from views; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -2853,11 +2849,12 @@ Table or view 'tb2' is associated with the database 'test1'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3090,7 +3087,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3111,7 +3108,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3132,7 +3129,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3153,7 +3150,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3174,7 +3171,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3195,7 +3192,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3216,7 +3213,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3237,7 +3234,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3258,7 +3255,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3279,7 +3276,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3300,7 +3297,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3321,7 +3318,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3342,7 +3339,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3363,7 +3360,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3384,7 +3381,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3405,7 +3402,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3428,7 +3425,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3449,7 +3446,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3470,7 +3467,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3491,7 +3488,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3512,7 +3509,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3533,7 +3530,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3554,7 +3551,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3575,7 +3572,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3596,7 +3593,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3617,7 +3614,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3638,7 +3635,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3659,7 +3656,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3680,7 +3677,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3701,7 +3698,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3722,7 +3719,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3743,7 +3740,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3764,7 +3761,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3785,7 +3782,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3806,7 +3803,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3818,7 +3815,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -3827,7 +3824,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3848,7 +3845,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3869,7 +3866,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3890,7 +3887,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3911,7 +3908,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3932,7 +3929,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3953,7 +3950,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3974,7 +3971,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3995,7 +3992,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4016,7 +4013,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4037,7 +4034,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4058,7 +4055,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4079,7 +4076,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4100,7 +4097,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4121,7 +4118,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4142,7 +4139,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4570,7 +4567,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -77 +75 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 28 @@ -4639,7 +4636,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -4694,13 +4691,11 @@ test, tb3 test, tb4 test1, tb2 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -4737,37 +4732,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -4793,7 +4761,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -4819,7 +4786,31 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -6292,85 +6283,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6439,86 +6428,84 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6572,85 +6559,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6717,85 +6702,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6858,85 +6841,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7012,86 +6993,84 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7144,85 +7123,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -9135,9 +9112,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -12028,178 +12005,178 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test1 tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test4 t6 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test1 tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test4 t6 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -12411,7 +12388,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE @@ -12445,7 +12422,7 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE user_1@localhost test SELECT * FROM information_schema.statistics; diff --git a/mysql-test/suite/funcs_1/r/innodb_func_view.result b/mysql-test/suite/funcs_1/r/innodb_func_view.result index 764aac53414..5fac88b8f14 100644 --- a/mysql-test/suite/funcs_1/r/innodb_func_view.result +++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result @@ -3814,13 +3814,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3831,13 +3829,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result index bb087d5882e..0f2d54f01ba 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result @@ -484,8 +484,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result index fe133f06da7..63d1c8a3131 100644 --- a/mysql-test/suite/funcs_1/r/innodb_views.result +++ b/mysql-test/suite/funcs_1/r/innodb_views.result @@ -448,7 +448,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -585,7 +586,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -605,7 +608,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1790,7 +1795,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1799,7 +1806,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1816,7 +1825,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1828,7 +1839,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/r/innodb_views.warnings b/mysql-test/suite/funcs_1/r/innodb_views.warnings deleted file mode 100644 index 2c9dc825a5d..00000000000 --- a/mysql-test/suite/funcs_1/r/innodb_views.warnings +++ /dev/null @@ -1,2 +0,0 @@ -mysqltest: Warning detected in included file ./suite/funcs_1/views/views_master.inc at line 3039: Suspicious command '--eror 1116' detected, was this intentional? Use # instead of -- to avoid this warning -mysqltest: Warning detected in included file ./suite/funcs_1/views/views_master.inc at line 3050: Suspicious command '--eror 1116' detected, was this intentional? Use # instead of -- to avoid this warning diff --git a/mysql-test/suite/funcs_1/r/memory__datadict.result b/mysql-test/suite/funcs_1/r/memory__datadict.result index deb6550802d..1dea8a5f4a9 100644 --- a/mysql-test/suite/funcs_1/r/memory__datadict.result +++ b/mysql-test/suite/funcs_1/r/memory__datadict.result @@ -416,13 +416,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -472,7 +470,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -493,7 +491,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -514,7 +512,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -535,7 +533,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -556,7 +554,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -577,7 +575,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -598,7 +596,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -619,7 +617,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -640,7 +638,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -661,7 +659,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -682,7 +680,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -703,7 +701,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -724,7 +722,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -745,7 +743,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -766,7 +764,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -787,7 +785,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -810,7 +808,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -831,7 +829,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -852,7 +850,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -873,7 +871,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -894,7 +892,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -915,7 +913,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -936,7 +934,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -957,7 +955,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -978,7 +976,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -999,7 +997,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1020,7 +1018,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1041,7 +1039,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1062,7 +1060,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1083,7 +1081,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1104,7 +1102,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1125,7 +1123,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1146,7 +1144,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1167,7 +1165,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1188,7 +1186,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1200,7 +1198,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1209,7 +1207,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1230,7 +1228,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1251,7 +1249,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1272,7 +1270,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1293,7 +1291,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1314,7 +1312,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1335,7 +1333,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1356,7 +1354,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1377,7 +1375,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1398,7 +1396,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1419,7 +1417,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1440,7 +1438,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1461,7 +1459,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1482,7 +1480,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1503,7 +1501,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1524,7 +1522,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2098,9 +2096,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -2548,7 +2546,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE @@ -2582,91 +2580,89 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE select * from views; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -2836,11 +2832,12 @@ Table or view 'tb2' is associated with the database 'test1'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3073,7 +3070,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3094,7 +3091,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3115,7 +3112,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3136,7 +3133,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3157,7 +3154,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3178,7 +3175,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3199,7 +3196,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3220,7 +3217,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3241,7 +3238,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3262,7 +3259,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3283,7 +3280,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3304,7 +3301,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3325,7 +3322,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3346,7 +3343,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3367,7 +3364,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3388,7 +3385,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3411,7 +3408,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3432,7 +3429,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3453,7 +3450,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3474,7 +3471,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3495,7 +3492,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3516,7 +3513,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3537,7 +3534,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3558,7 +3555,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3579,7 +3576,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3600,7 +3597,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3621,7 +3618,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3642,7 +3639,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3663,7 +3660,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3684,7 +3681,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3705,7 +3702,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3726,7 +3723,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3747,7 +3744,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3768,7 +3765,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3789,7 +3786,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3801,7 +3798,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -3810,7 +3807,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3831,7 +3828,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3852,7 +3849,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3873,7 +3870,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3894,7 +3891,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3915,7 +3912,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3936,7 +3933,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3957,7 +3954,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3978,7 +3975,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3999,7 +3996,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4020,7 +4017,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4041,7 +4038,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4062,7 +4059,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4083,7 +4080,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4104,7 +4101,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4125,7 +4122,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4553,7 +4550,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -77 +75 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 28 @@ -4622,7 +4619,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -4677,13 +4674,11 @@ test, tb3 test, tb4 test1, tb2 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -4720,37 +4715,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -4776,7 +4744,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -4802,7 +4769,31 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -6275,85 +6266,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6422,86 +6411,84 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 HASH select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6555,85 +6542,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6700,85 +6685,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6841,85 +6824,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6995,86 +6976,84 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7127,85 +7106,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -9103,9 +9080,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -11926,178 +11903,178 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test1 tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test1 tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test4 t6 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -12309,7 +12286,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE @@ -12343,7 +12320,7 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE user_1@localhost test SELECT * FROM information_schema.statistics; diff --git a/mysql-test/suite/funcs_1/r/memory_func_view.result b/mysql-test/suite/funcs_1/r/memory_func_view.result index 50caa20e8c7..08e49d1bf6f 100644 --- a/mysql-test/suite/funcs_1/r/memory_func_view.result +++ b/mysql-test/suite/funcs_1/r/memory_func_view.result @@ -3814,13 +3814,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3831,13 +3829,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result index a842bbc3ac7..9a14845d0eb 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_08.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result @@ -480,8 +480,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result index dac9e877e48..516eef24439 100644 --- a/mysql-test/suite/funcs_1/r/memory_views.result +++ b/mysql-test/suite/funcs_1/r/memory_views.result @@ -452,7 +452,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -589,7 +590,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -609,7 +612,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1794,7 +1799,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1803,7 +1810,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1820,7 +1829,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1832,7 +1843,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/r/memory_views.warnings b/mysql-test/suite/funcs_1/r/memory_views.warnings deleted file mode 100644 index 2c9dc825a5d..00000000000 --- a/mysql-test/suite/funcs_1/r/memory_views.warnings +++ /dev/null @@ -1,2 +0,0 @@ -mysqltest: Warning detected in included file ./suite/funcs_1/views/views_master.inc at line 3039: Suspicious command '--eror 1116' detected, was this intentional? Use # instead of -- to avoid this warning -mysqltest: Warning detected in included file ./suite/funcs_1/views/views_master.inc at line 3050: Suspicious command '--eror 1116' detected, was this intentional? Use # instead of -- to avoid this warning diff --git a/mysql-test/suite/funcs_1/r/myisam__datadict.result b/mysql-test/suite/funcs_1/r/myisam__datadict.result index 484b7a7f5e9..e9082e7aee7 100644 --- a/mysql-test/suite/funcs_1/r/myisam__datadict.result +++ b/mysql-test/suite/funcs_1/r/myisam__datadict.result @@ -446,13 +446,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -502,7 +500,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -523,7 +521,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -544,7 +542,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -565,7 +563,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -586,7 +584,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -607,7 +605,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -628,7 +626,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -649,7 +647,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -670,7 +668,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -691,7 +689,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -712,7 +710,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -733,7 +731,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -754,7 +752,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -775,7 +773,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -796,7 +794,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -817,7 +815,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -840,7 +838,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -861,7 +859,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -882,7 +880,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -903,7 +901,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -924,7 +922,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -945,7 +943,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -966,7 +964,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -987,7 +985,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1008,7 +1006,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1029,7 +1027,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1050,7 +1048,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1071,7 +1069,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1092,7 +1090,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1113,7 +1111,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1134,7 +1132,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1155,7 +1153,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1176,7 +1174,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1197,7 +1195,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1218,7 +1216,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1230,7 +1228,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1239,7 +1237,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1260,7 +1258,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1281,7 +1279,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1302,7 +1300,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1323,7 +1321,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1344,7 +1342,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1365,7 +1363,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1386,7 +1384,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1407,7 +1405,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1428,7 +1426,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1449,7 +1447,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1470,7 +1468,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1491,7 +1489,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1512,7 +1510,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1533,7 +1531,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1554,7 +1552,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2128,9 +2126,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -2618,7 +2616,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE @@ -2652,91 +2650,89 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE select * from views; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -2906,11 +2902,12 @@ Table or view 'tb2' is associated with the database 'test1'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3143,7 +3140,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3164,7 +3161,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3185,7 +3182,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3206,7 +3203,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3227,7 +3224,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3248,7 +3245,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3269,7 +3266,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3290,7 +3287,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3311,7 +3308,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3332,7 +3329,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3353,7 +3350,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3374,7 +3371,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3395,7 +3392,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3416,7 +3413,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3437,7 +3434,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3458,7 +3455,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3481,7 +3478,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3502,7 +3499,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3523,7 +3520,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -3544,7 +3541,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3565,7 +3562,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3586,7 +3583,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3607,7 +3604,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3628,7 +3625,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3649,7 +3646,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3670,7 +3667,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3691,7 +3688,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3712,7 +3709,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3733,7 +3730,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3754,7 +3751,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3775,7 +3772,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3796,7 +3793,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3817,7 +3814,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3838,7 +3835,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3859,7 +3856,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -3871,7 +3868,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -3880,7 +3877,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -3901,7 +3898,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3922,7 +3919,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3943,7 +3940,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3964,7 +3961,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -3985,7 +3982,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4006,7 +4003,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4027,7 +4024,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4048,7 +4045,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4069,7 +4066,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4090,7 +4087,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4111,7 +4108,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4132,7 +4129,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4153,7 +4150,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4174,7 +4171,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4195,7 +4192,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4623,7 +4620,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -77 +75 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 28 @@ -4692,7 +4689,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -4747,13 +4744,11 @@ test, tb3 test, tb4 test1, tb2 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -4790,37 +4785,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -4846,7 +4814,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -4872,7 +4839,31 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -6345,85 +6336,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6492,86 +6481,84 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6625,85 +6612,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6770,85 +6755,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -6911,85 +6894,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7065,86 +7046,84 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7197,85 +7176,83 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES -''@'' NULL USAGE NO +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -9205,9 +9182,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -12180,178 +12157,178 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test1 tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test1 tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test4 t6 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -12563,7 +12540,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE @@ -12597,7 +12574,7 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE user_1@localhost test SELECT * FROM information_schema.statistics; diff --git a/mysql-test/suite/funcs_1/r/myisam_func_view.result b/mysql-test/suite/funcs_1/r/myisam_func_view.result index 13fffecd365..4f8a1b23bc0 100644 --- a/mysql-test/suite/funcs_1/r/myisam_func_view.result +++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result @@ -3814,13 +3814,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3831,13 +3829,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Truncated incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Truncated incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result index 8a13e91d71d..ec8e12ff32d 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result @@ -484,8 +484,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views.result index 3a76024cf80..1dbebbccb29 100644 --- a/mysql-test/suite/funcs_1/r/myisam_views.result +++ b/mysql-test/suite/funcs_1/r/myisam_views.result @@ -470,7 +470,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -607,7 +608,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -627,7 +630,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1812,7 +1817,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1821,7 +1828,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1838,7 +1847,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1850,7 +1861,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/r/myisam_views.warnings b/mysql-test/suite/funcs_1/r/myisam_views.warnings deleted file mode 100644 index 2c9dc825a5d..00000000000 --- a/mysql-test/suite/funcs_1/r/myisam_views.warnings +++ /dev/null @@ -1,2 +0,0 @@ -mysqltest: Warning detected in included file ./suite/funcs_1/views/views_master.inc at line 3039: Suspicious command '--eror 1116' detected, was this intentional? Use # instead of -- to avoid this warning -mysqltest: Warning detected in included file ./suite/funcs_1/views/views_master.inc at line 3050: Suspicious command '--eror 1116' detected, was this intentional? Use # instead of -- to avoid this warning diff --git a/mysql-test/suite/funcs_1/t/a_version_check.test b/mysql-test/suite/funcs_1/t/a_version_check.test deleted file mode 100755 index 60bd5b3c161..00000000000 --- a/mysql-test/suite/funcs_1/t/a_version_check.test +++ /dev/null @@ -1,29 +0,0 @@ -#### suite/funcs_1/t/a_version_check.test -# -# just a simple check of the version to be sure the correct server version is -# checked against the funcs_1 tests. - -# just show machine and version to be sure we are testing the correct files -# -let $message= . Just show the version string for which the results in suite - . funcs_1 have been checked. - . - . I know that the .result file of this check needs to - . updated with each new version --- THIS IS INTENDED!; ---source include/show_msg.inc - ---disable_query_log -SELECT CONCAT('funcs_1 checked with version: ', SUBSTR(version(), 1, 6 ) ) AS " "; -#SELECT CONCAT('aa = ', 'bb'); -#SELECT CONCAT('aa = ', 'bb') AS " "; - -if (0) -{ - # these more detailed results create differences between the OS. - # mioght be used later when we enable OS dependent .result files - --vertical_results - SELECT @@version_compile_os AS 'vers_comp_os', current_date; - SHOW VARIABLES LIKE 'vers%'; - --horizontal_results -} - diff --git a/mysql-test/suite/funcs_1/t/disabled.def b/mysql-test/suite/funcs_1/t/disabled.def index e65cc8e934c..6833178a353 100644 --- a/mysql-test/suite/funcs_1/t/disabled.def +++ b/mysql-test/suite/funcs_1/t/disabled.def @@ -10,6 +10,6 @@ # ############################################################################## -innodb_storedproc: switched off (too much changed output from WL#2984, needs to be checked) -memory_storedproc: switched off (too much changed output from WL#2984, needs to be checked) -myisam_storedproc: switched off (too much changed output from WL#2984, needs to be checked) +innodb_storedproc: (changes of WL#2984, using storeproc_nn instead) +memory_storedproc: (changes of WL#2984, using storeproc_nn instead) +myisam_storedproc: (changes of WL#2984, using storeproc_nn instead) diff --git a/mysql-test/suite/funcs_1/views/views_master.inc b/mysql-test/suite/funcs_1/views/views_master.inc index f01b1b01c1f..b06873af159 100644 --- a/mysql-test/suite/funcs_1/views/views_master.inc +++ b/mysql-test/suite/funcs_1/views/views_master.inc @@ -3036,7 +3036,9 @@ let $sublevel= `SELECT @max_level`; eval CREATE VIEW test1.v$level AS SELECT f1, f2 FROM test3.t1 tab1 NATURAL JOIN test1.v$sublevel tab2; eval SHOW CREATE VIEW test1.v$level; ---eror 1116 +# the following line as written as '--eror 1116' and the command +# is successful so assuming no expected error was intended +# --error 1116 eval SELECT CAST(f1 AS SIGNED INTEGER) AS f1, CAST(f2 AS CHAR) AS f2 FROM test1.v$level; let $message= The output of following EXPLAIN is deactivated, because the result @@ -3047,7 +3049,9 @@ if (1) { --disable_result_log } ---eror 1116 +# the following line as written as '--eror 1116' and the command +# is successful so assuming no expected error was intended +# --error 1116 eval EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1, CAST(f2 AS CHAR) AS f2 FROM test1.v$level; if (1) From fc7fea0cc3cec375a3e83339ca993360ca5aafec Mon Sep 17 00:00:00 2001 From: "tsmith@quadxeon.mysql.com" <> Date: Tue, 1 May 2007 20:05:09 +0200 Subject: [PATCH 121/144] mysql-test-run.pl: Run master init scripts also for --embedded-server --- mysql-test/mysql-test-run.pl | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 9ba1a1de31a..2de7c507dc3 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -3434,6 +3434,10 @@ sub run_testcase ($) { return 1; } } + elsif ($glob_use_embedded_server) + { + run_master_init_script($tinfo); + } # ---------------------------------------------------------------------- # If --start-and-exit or --start-dirty given, stop here to let user manually @@ -3609,6 +3613,23 @@ sub report_failure_and_restart ($) { } +sub run_master_init_script ($) { + my ($tinfo)= @_; + my $init_script= $tinfo->{'master_sh'}; + + # Run master initialization shell script if one exists + if ( $init_script ) + { + my $ret= mtr_run("/bin/sh", [$init_script], "", "", "", ""); + if ( $ret != 0 ) + { + # FIXME rewrite those scripts to return 0 if successful + # mtr_warning("$init_script exited with code $ret"); + } + } +} + + ############################################################################## # # Start and stop servers @@ -3620,7 +3641,6 @@ sub do_before_start_master ($) { my ($tinfo)= @_; my $tname= $tinfo->{'name'}; - my $init_script= $tinfo->{'master_sh'}; # FIXME what about second master..... @@ -3636,16 +3656,7 @@ sub do_before_start_master ($) { unlink("$master->[1]->{'path_myddir'}/master.info"); unlink("$master->[1]->{'path_myddir'}/relay-log.info"); - # Run master initialization shell script if one exists - if ( $init_script ) - { - my $ret= mtr_run("/bin/sh", [$init_script], "", "", "", ""); - if ( $ret != 0 ) - { - # FIXME rewrite those scripts to return 0 if successful - # mtr_warning("$init_script exited with code $ret"); - } - } + run_master_init_script($tinfo); } From 1a0cf6db7ca901547c667ac3d2d3c11db28a8eec Mon Sep 17 00:00:00 2001 From: "igor@olga.mysql.com" <> Date: Tue, 1 May 2007 23:34:14 -0700 Subject: [PATCH 122/144] Fixed bug #28188: performance degradation for outer join queries to which 'not exists' optimization is applied. In fact 'not exists' optimization did not work anymore after the patch introducing the evaluate_join_record function had been applied. Corrected the evaluate_join_record function to respect the 'not_exists' optimization. --- mysql-test/r/join_outer.result | 25 +++++++++++++++++++++++++ mysql-test/t/join_outer.test | 20 ++++++++++++++++++++ sql/sql_select.cc | 5 ++--- 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index df66336bd81..c62601946c2 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -1214,3 +1214,28 @@ SELECT * FROM t1 LEFT JOIN t2 USING(f1) WHERE f1='Bla'; f1 f2 f3 bla blah sheep DROP TABLE t1,t2; +CREATE TABLE t1 (id int PRIMARY KEY, a varchar(8)); +CREATE TABLE t2 (id int NOT NULL, b int NOT NULL, INDEX idx(id)); +INSERT INTO t1 VALUES +(1,'aaaaaaa'), (5,'eeeeeee'), (4,'ddddddd'), (2,'bbbbbbb'), (3,'ccccccc'); +INSERT INTO t2 VALUES +(3,10), (2,20), (5,30), (3,20), (5,10), (3,40), (3,30), (2,10), (2,40); +EXPLAIN +SELECT t1.id, a FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.b IS NULL; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 5 +1 SIMPLE t2 ref idx idx 4 test.t1.id 2 Using where; Not exists +flush status; +SELECT t1.id, a FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.b IS NULL; +id a +1 aaaaaaa +4 ddddddd +show status like 'Handler_read%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 5 +Handler_read_next 0 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 6 +DROP TABLE t1,t2; diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index a0620e144c2..51e79a20d65 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -825,3 +825,23 @@ SELECT * FROM t1 LEFT JOIN t2 USING(f1) WHERE f1='bla'; SELECT * FROM t1 LEFT JOIN t2 USING(f1) WHERE f1='Bla'; DROP TABLE t1,t2; + +# +# Bug 28188: 'not exists' optimization for outer joins +# + +CREATE TABLE t1 (id int PRIMARY KEY, a varchar(8)); +CREATE TABLE t2 (id int NOT NULL, b int NOT NULL, INDEX idx(id)); +INSERT INTO t1 VALUES + (1,'aaaaaaa'), (5,'eeeeeee'), (4,'ddddddd'), (2,'bbbbbbb'), (3,'ccccccc'); +INSERT INTO t2 VALUES + (3,10), (2,20), (5,30), (3,20), (5,10), (3,40), (3,30), (2,10), (2,40); + +EXPLAIN +SELECT t1.id, a FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.b IS NULL; + +flush status; +SELECT t1.id, a FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.b IS NULL; +show status like 'Handler_read%'; + +DROP TABLE t1,t2; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index b7ac2130784..acef5a5ff48 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -10526,7 +10526,6 @@ static enum_nested_loop_state evaluate_join_record(JOIN *join, JOIN_TAB *join_tab, int error, my_bool *report_error) { - bool not_exists_optimize= join_tab->table->reginfo.not_exists_optimize; bool not_used_in_distinct=join_tab->not_used_in_distinct; ha_rows found_records=join->found_records; COND *select_cond= join_tab->select_cond; @@ -10563,6 +10562,8 @@ evaluate_join_record(JOIN *join, JOIN_TAB *join_tab, first_unmatched->found= 1; for (JOIN_TAB *tab= first_unmatched; tab <= join_tab; tab++) { + if (tab->table->reginfo.not_exists_optimize) + return NESTED_LOOP_NO_MORE_ROWS; /* Check all predicates that has just been activated. */ /* Actually all predicates non-guarded by first_unmatched->found @@ -10608,8 +10609,6 @@ evaluate_join_record(JOIN *join, JOIN_TAB *join_tab, if (found) { enum enum_nested_loop_state rc; - if (not_exists_optimize) - return NESTED_LOOP_NO_MORE_ROWS; /* A match from join_tab is found for the current partial join. */ rc= (*join_tab->next_select)(join, join_tab+1, 0); if (rc != NESTED_LOOP_OK && rc != NESTED_LOOP_NO_MORE_ROWS) From f6e28f28799c70c8ac20d9238c7cd4705a4c0609 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Wed, 2 May 2007 10:02:27 +0200 Subject: [PATCH 123/144] ndb_insert.test, ndb_insert.result, ha_ndbcluster.cc: Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values --- mysql-test/r/ndb_insert.result | 8 +++++++ mysql-test/t/ndb_insert.test | 9 ++++++++ sql/ha_ndbcluster.cc | 42 ++++++++++++++++++++++++++++++++-- 3 files changed, 57 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ndb_insert.result b/mysql-test/r/ndb_insert.result index 0818f9ce9ac..e7275bde2b8 100644 --- a/mysql-test/r/ndb_insert.result +++ b/mysql-test/r/ndb_insert.result @@ -649,3 +649,11 @@ pk a 6 NULL 7 4 DROP TABLE t1; +create table t1(a int primary key, b int, unique key(b)) engine=ndb; +insert ignore into t1 values (1,0), (2,0), (2,null), (3,null); +select * from t1 order by a; +a b +1 0 +2 NULL +3 NULL +drop table t1; diff --git a/mysql-test/t/ndb_insert.test b/mysql-test/t/ndb_insert.test index bf25ca9a133..f346b7dc4ab 100644 --- a/mysql-test/t/ndb_insert.test +++ b/mysql-test/t/ndb_insert.test @@ -630,4 +630,13 @@ INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4); SELECT * FROM t1 ORDER BY pk; DROP TABLE t1; +# +# Bug #27980 INSERT IGNORE wrongly ignores NULLs in unique index +# + +create table t1(a int primary key, b int, unique key(b)) engine=ndb; +insert ignore into t1 values (1,0), (2,0), (2,null), (3,null); +select * from t1 order by a; +drop table t1; + # End of 4.1 tests diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 8701a216b8e..9b48e0d4f38 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -1630,6 +1630,34 @@ bool ha_ndbcluster::check_all_operations_for_error(NdbTransaction *trans, DBUG_RETURN(true); } + +/** + * Check if record contains any null valued columns that are part of a key + */ +static +int +check_null_in_record(const KEY* key_info, const byte *record) +{ + KEY_PART_INFO *curr_part, *end_part; + curr_part= key_info->key_part; + end_part= curr_part + key_info->key_parts; + + while (curr_part != end_part) + { + if (curr_part->null_bit && + (record[curr_part->null_offset] & curr_part->null_bit)) + return 1; + curr_part++; + } + return 0; + /* + We could instead pre-compute a bitmask in table_share with one bit for + every null-bit in the key, and so check this just by OR'ing the bitmask + with the null bitmap in the record. + But not sure it's worth it. + */ +} + /* * Peek to check if any rows already exist with conflicting * primary key or unique index values @@ -1671,7 +1699,17 @@ int ha_ndbcluster::peek_indexed_rows(const byte *record, bool check_pk) if (i != table->s->primary_key && key_info->flags & HA_NOSAME) { - // A unique index is defined on table + /* + A unique index is defined on table. + We cannot look up a NULL field value in a unique index. But since + keys with NULLs are not indexed, such rows cannot conflict anyway, so + we just skip the index in this case. + */ + if (check_null_in_record(key_info, record)) + { + DBUG_PRINT("info", ("skipping check for key with NULL")); + continue; + } NdbIndexOperation *iop; NDBINDEX *unique_index = (NDBINDEX *) m_index[i].unique_index; key_part= key_info->key_part; @@ -2816,7 +2854,7 @@ int ha_ndbcluster::index_end() } /** - * Check if key contains null + * Check if key contains nullable columns */ static int From 805fabeda612e5abf965a2e5f7fadb2a1854b711 Mon Sep 17 00:00:00 2001 From: "mskold/marty@mysql.com/linux.site" <> Date: Wed, 2 May 2007 12:31:53 +0200 Subject: [PATCH 124/144] ha_ndbcluster.cc: Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values --- sql/ha_ndbcluster.cc | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 5bbaa793939..02fbee7237f 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -1909,6 +1909,33 @@ bool ha_ndbcluster::check_all_operations_for_error(NdbTransaction *trans, } +/** + * Check if record contains any null valued columns that are part of a key + */ +static +int +check_null_in_record(const KEY* key_info, const byte *record) +{ + KEY_PART_INFO *curr_part, *end_part; + curr_part= key_info->key_part; + end_part= curr_part + key_info->key_parts; + + while (curr_part != end_part) + { + if (curr_part->null_bit && + (record[curr_part->null_offset] & curr_part->null_bit)) + return 1; + curr_part++; + } + return 0; + /* + We could instead pre-compute a bitmask in table_share with one bit for + every null-bit in the key, and so check this just by OR'ing the bitmask + with the null bitmap in the record. + But not sure it's worth it. + */ +} + /* * Peek to check if any rows already exist with conflicting * primary key or unique index values @@ -1966,7 +1993,17 @@ int ha_ndbcluster::peek_indexed_rows(const byte *record, if (i != table->s->primary_key && key_info->flags & HA_NOSAME) { - // A unique index is defined on table + /* + A unique index is defined on table. + We cannot look up a NULL field value in a unique index. But since + keys with NULLs are not indexed, such rows cannot conflict anyway, so + we just skip the index in this case. + */ + if (check_null_in_record(key_info, record)) + { + DBUG_PRINT("info", ("skipping check for key with NULL")); + continue; + } NdbIndexOperation *iop; const NDBINDEX *unique_index = m_index[i].unique_index; key_part= key_info->key_part; From bb2996f48705b27d57cd2fcfba76af2902d71b73 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Wed, 2 May 2007 14:01:49 +0200 Subject: [PATCH 125/144] Format corrections for various "Makefile.am": Leading tab, no trailing blank. --- client/Makefile.am | 14 +++++++------- libmysqld/Makefile.am | 6 +++--- netware/Makefile.am | 6 +++--- scripts/Makefile.am | 2 +- win/Makefile.am | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/client/Makefile.am b/client/Makefile.am index 5f1569ba2c4..c7663c7da82 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -64,13 +64,13 @@ link_sources: for f in $(sql_src) ; do \ rm -f $$f; \ @LN_CP_F@ $(top_srcdir)/sql/$$f $$f; \ - done; \ - for f in $(strings_src) ; do \ - rm -f $(srcdir)/$$f; \ - @LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \ - done; \ - rm -f $(srcdir)/my_user.c; \ - @LN_CP_F@ $(top_srcdir)/sql-common/my_user.c my_user.c; + done; \ + for f in $(strings_src) ; do \ + rm -f $(srcdir)/$$f; \ + @LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \ + done; \ + rm -f $(srcdir)/my_user.c; \ + @LN_CP_F@ $(top_srcdir)/sql-common/my_user.c my_user.c; # Don't update the files from bitkeeper diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am index 330e72e5507..95e3e539eee 100644 --- a/libmysqld/Makefile.am +++ b/libmysqld/Makefile.am @@ -127,11 +127,11 @@ link_sources: for f in $(sqlsources); do \ rm -f $$f; \ if test -e $(top_srcdir)/sql/$$f ; \ - then \ + then \ @LN_CP_F@ $(top_srcdir)/sql/$$f $$f; \ - else \ + else \ @LN_CP_F@ $(top_builddir)/sql/$$f $$f; \ - fi ; \ + fi ; \ done; \ for f in $(libmysqlsources); do \ rm -f $$f; \ diff --git a/netware/Makefile.am b/netware/Makefile.am index c83a5b389ab..3ec9c7794bf 100644 --- a/netware/Makefile.am +++ b/netware/Makefile.am @@ -90,20 +90,20 @@ EXTRA_DIST= $(BUILT_SOURCES) comp_err.def install_test_db.ncf \ # Build init_db.sql from the files that contain # the system tables for this version of MySQL plus any commands init_db.sql: $(top_srcdir)/scripts/mysql_system_tables.sql \ - $(top_srcdir)/scripts/mysql_system_tables_data.sql + $(top_srcdir)/scripts/mysql_system_tables_data.sql @echo "Building $@"; @echo "CREATE DATABASE mysql;" > $@; @echo "CREATE DATABASE test;" >> $@; @echo "use mysql;" >> $@; @cat $(top_srcdir)/scripts/mysql_system_tables.sql \ - $(top_srcdir)/scripts/mysql_system_tables_fix.sql >> $@; + $(top_srcdir)/scripts/mysql_system_tables_fix.sql >> $@; # Build test_db.sql from init_db.sql plus # some test data test_db.sql: init_db.sql $(top_srcdir)/scripts/mysql_test_data_timezone.sql @echo "Building $@"; @cat init_db.sql \ - $(top_srcdir)/scripts/mysql_test_data_timezone.sql >> $@; + $(top_srcdir)/scripts/mysql_test_data_timezone.sql >> $@; endif diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 79f4666f855..97691318cc6 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -124,7 +124,7 @@ mysql_fix_privilege_tables.sql: mysql_system_tables.sql \ mysql_fix_privilege_tables_sql.c: comp_sql.c mysql_fix_privilege_tables.sql $(MAKE) $(AM_MAKEFLAGS) comp_sql$(EXEEXT) $(top_builddir)/scripts/comp_sql$(EXEEXT) \ - mysql_fix_privilege_tables \ + mysql_fix_privilege_tables \ $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@ diff --git a/win/Makefile.am b/win/Makefile.am index c6632737d7b..89f0d65b528 100755 --- a/win/Makefile.am +++ b/win/Makefile.am @@ -14,7 +14,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## Process this file with automake to create Makefile.in -EXTRA_DIST = build-vs71.bat build-vs8.bat build-vs8_x64.bat configure.js README \ +EXTRA_DIST = build-vs71.bat build-vs8.bat build-vs8_x64.bat configure.js README \ mysql_manifest.cmake create_manifest.js # Don't update the files from bitkeeper From 6ee2fa0ff53ff10e64c4e6ecb5c34d1f5cba993e Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Wed, 2 May 2007 14:16:21 +0200 Subject: [PATCH 126/144] Manual merge: Makefile lines must start with tab, not blank. --- client/Makefile.am | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/client/Makefile.am b/client/Makefile.am index d482512e411..2d8bd918734 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -109,13 +109,13 @@ link_sources: for f in $(sql_src) ; do \ rm -f $$f; \ @LN_CP_F@ $(top_srcdir)/sql/$$f $$f; \ - done; \ - for f in $(strings_src) ; do \ - rm -f $(srcdir)/$$f; \ - @LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \ - done; \ - rm -f $(srcdir)/my_user.c; \ - @LN_CP_F@ $(top_srcdir)/sql-common/my_user.c my_user.c; + done; \ + for f in $(strings_src) ; do \ + rm -f $(srcdir)/$$f; \ + @LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \ + done; \ + rm -f $(srcdir)/my_user.c; \ + @LN_CP_F@ $(top_srcdir)/sql-common/my_user.c my_user.c; echo timestamp > link_sources; # Don't update the files from bitkeeper From 971992ea9a15f59047a51b12332d7274331c6d49 Mon Sep 17 00:00:00 2001 From: "df@pippilotta.erinye.com" <> Date: Wed, 2 May 2007 15:50:08 +0200 Subject: [PATCH 127/144] generate map files on windows --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a286071bb0..6e6ac835b5d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,6 +116,9 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) + # generate map files + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MAP /MAPINFO:EXPORTS") + # remove support for Exception handling STRING(REPLACE "/GX" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) From 4dac41dcad8132adf88903edae5162ac75084f71 Mon Sep 17 00:00:00 2001 From: "omer@linux.site" <> Date: Wed, 2 May 2007 07:50:47 -0700 Subject: [PATCH 128/144] Coeection to the bug format to for better search - review comment --- .../suite/funcs_1/datadict/datadict_master.inc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc index 385b17be9ee..03d3eeb3777 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_master.inc @@ -460,7 +460,9 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# The above error is bug 28181 - a regression in 5.0.42 +# The above will fail with access error as long as +# BUBG#28181 - a regression introduced in 5.0.42 is not fixed + eval SELECT * FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; @@ -473,7 +475,9 @@ eval SELECT * FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -# The above error is bug 28181 - a regression in 5.0.42 +# The above will fail with access error as long as +# BUBG#28181 - a regression introduced in 5.0.42 is not fixed + eval SELECT * FROM schemata LIMIT 0, 5; @@ -483,7 +487,9 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# The above error is bug 28181 - a regression in 5.0.42 +# The above will fail with access error as long as +# BUBG#28181 - a regression introduced in 5.0.42 is not fixed + eval SELECT * FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; From f32c261973df9c588b959fd4b90f20d7a38f7ad0 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Wed, 2 May 2007 16:51:15 +0200 Subject: [PATCH 129/144] RPM spec file error: Trailing '*' to cover '.gz' for a man page was missing. --- support-files/mysql.spec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index ab544b65f74..b28af51d43e 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -556,7 +556,7 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_privilege_tables.1* -%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1 +%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1* %doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1* %doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1* From 11484e33192f9a1c1b13472a151c4291428d906f Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Wed, 2 May 2007 17:10:41 +0200 Subject: [PATCH 130/144] "ndb_size.tmpl" is gone (NDB change 2007-04-24), so remove it from the spec file. --- support-files/mysql.spec.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 5af5a0107ac..39c7f866e4f 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -650,7 +650,6 @@ fi %attr(755, root, root) %{_bindir}/ndb_size.pl %attr(755, root, root) %{_bindir}/ndb_test_platform %attr(755, root, root) %{_bindir}/ndb_waiter -%attr(-, root, root) %{_datadir}/mysql/ndb_size.tmpl %doc %attr(644, root, man) %{_mandir}/man1/ndb_config.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_desc.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_error_reporter.1* @@ -726,6 +725,11 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Wed May 02 2007 Joerg Bruehe + +- "ndb_size.tmpl" is not needed any more, + "man1/mysql_install_db.1" lacked the trailing '*'. + * Sat Apr 07 2007 Kent Boortz - Removed man page for "mysql_create_system_tables" From 16dfab5e926a2bb3ee51703c6ce87eb32c9fbf91 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Wed, 2 May 2007 20:07:01 +0200 Subject: [PATCH 131/144] Resolve a possible timing issue with "scripts/mysql_fix_privilege_tables_sql.c" in the source tarball, this is essential for cross builds, like for NetWare. --- scripts/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index cb0658f8756..754ca2ea4c0 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -122,9 +122,11 @@ mysql_fix_privilege_tables.sql: mysql_system_tables.sql \ # # Build mysql_fix_privilege_tables_sql.c from # mysql_fix_privileges_tables.sql using comp_sql +# The "sleep" ensures the generated file has a younger timestamp than its source. # mysql_fix_privilege_tables_sql.c: comp_sql.c mysql_fix_privilege_tables.sql $(MAKE) $(AM_MAKEFLAGS) comp_sql$(EXEEXT) + sleep 5 $(top_builddir)/scripts/comp_sql$(EXEEXT) \ mysql_fix_privilege_tables \ $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@ From 56d180e83f8dcff260afcdc72898a26c978a01e5 Mon Sep 17 00:00:00 2001 From: "omer@linux.site" <> Date: Wed, 2 May 2007 17:30:23 -0700 Subject: [PATCH 132/144] Updated funcs_1 files to 5.1.18 level - validating current result files - updating with new features in information_schema / error messages - forced order by and removed time stamps removed a_version files that are not needed (now that the suite is in the main tree Note: datadict tests still fail as a result of bug 28181 (a regression introduced in 5.0.42 - and 5.1.18(?) - tests should runn clean once it is fixed --- .../suite/funcs_1/datadict/datadict_load.inc | 3 +- .../funcs_1/datadict/datadict_master.inc | 79 +- .../funcs_1/datadict/datadict_show_schema.inc | 2 +- .../suite/funcs_1/r/a_version_check.result | 11 - .../suite/funcs_1/r/innodb__datadict.result | 2679 ++++++++-------- .../suite/funcs_1/r/innodb_func_view.result | 12 +- .../suite/funcs_1/r/innodb_trig_0102.result | 5 + .../suite/funcs_1/r/innodb_trig_08.result | 5 +- .../suite/funcs_1/r/innodb_views.result | 27 +- .../suite/funcs_1/r/memory__datadict.result | 2679 ++++++++-------- .../suite/funcs_1/r/memory_func_view.result | 12 +- .../suite/funcs_1/r/memory_trig_0102.result | 5 + .../suite/funcs_1/r/memory_trig_08.result | 5 +- .../suite/funcs_1/r/memory_views.result | 27 +- .../suite/funcs_1/r/myisam__datadict.result | 2679 ++++++++-------- .../suite/funcs_1/r/myisam_func_view.result | 12 +- .../suite/funcs_1/r/myisam_trig_0102.result | 5 + .../suite/funcs_1/r/myisam_trig_08.result | 5 +- .../suite/funcs_1/r/myisam_views.result | 27 +- .../suite/funcs_1/r/ndb__datadict.result | 2697 +++++++++-------- .../suite/funcs_1/r/ndb_func_view.result | 12 +- .../suite/funcs_1/r/ndb_trig_0102.result | 7 +- mysql-test/suite/funcs_1/r/ndb_trig_08.result | 5 +- mysql-test/suite/funcs_1/r/ndb_views.result | 27 +- .../suite/funcs_1/t/a_version_check.test | 29 - mysql-test/suite/funcs_1/t/disabled.def | 7 +- .../suite/funcs_1/triggers/triggers_0102.inc | 10 +- .../suite/funcs_1/views/views_master.inc | 8 +- 28 files changed, 5641 insertions(+), 5440 deletions(-) delete mode 100644 mysql-test/suite/funcs_1/r/a_version_check.result delete mode 100644 mysql-test/suite/funcs_1/t/a_version_check.test diff --git a/mysql-test/suite/funcs_1/datadict/datadict_load.inc b/mysql-test/suite/funcs_1/datadict/datadict_load.inc index 2842703f2f8..4a9bdc9356d 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_load.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_load.inc @@ -44,7 +44,8 @@ if (0) # ------------------------------------------------------------------------------ # prepare a variable to be able to suppress machine dependant diffs # this can be used in: --replace_result $SERVER_NAME -let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host LIKE "%\%" AND host NOT In ("localhost", "127.0.0.1", "%")`; +# let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host LIKE "%\%" AND host NOT In ("localhost", "127.0.0.1", "%")`; +let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("localhost", "127.0.0.1", "%")`; ################################################################################ diff --git a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc index 6b3996717d9..6088a5c5143 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_master.inc @@ -13,14 +13,8 @@ let $message= . *__datadict.test are started. This can be a result of showing e.g. maximum . values of the number of rows of tables. . -. Currently (Dec 19, 2005) this .result file is checked OK for Linux 5.0.18-bk -. (ChangeSet@1.1993, 2005-12-19 16:21:02+04:00). Using the available Windows -. version 5.0.16 there are some known differences that can be ignored: -. -. - Fix for bug#14271 I_S: columns has no size for (var)binary columns -. - bug#14290 (CHARACTER_MAXIMUM_LENGTH values for columns using ucs2 have been fixed) -. - new column INFORMATION_SCHEMA.TRIGGERS.DEFINER is still not present in 5.0.16 -. - (:5055, :5122, :5215) 3 warnings now errors 1044 at call db_datadict.sp_4_1_3() +. This .result file has been checked OK with Linux 5.0.23-bk, +. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00. .; --source include/show_msg80.inc @@ -111,7 +105,7 @@ SELECT DISTINCT u, AS Server_Clean FROM db_datadict.vu1; --replace_result $SERVER_NAME -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; delimiter //; CREATE PROCEDURE db_datadict.sp_1() @@ -147,8 +141,9 @@ if ($have_bug_11589) # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -158,7 +153,8 @@ SELECT * FROM tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM tables WHERE NOT( table_schema = 'information_schema'); --horizontal_results @@ -183,7 +179,7 @@ select count(*) from routines; select * from statistics; select * from views; --replace_result $SERVER_NAME -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; select * from schema_privileges; select * from table_privileges; select * from column_privileges; @@ -205,7 +201,8 @@ select concat("Table or view '", table_name, --replace_result $SERVER_NAME select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) - from user_privileges where privilege_type = 'select'; + from user_privileges where privilege_type = 'select' + order by grantee; select all table_schema from schema_privileges limit 0,5; @@ -299,13 +296,14 @@ select * from information_schema.schemata ORDER BY 2 DESC; # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHRCK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } --vertical_results ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -315,7 +313,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHRCK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --horizontal_results @@ -391,7 +390,7 @@ select concat(table_schema, ', ', table_name) "Table_info" from tables ORDER BY 1; --replace_result $SERVER_NAME -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; select * from schema_privileges where table_catalog is null limit 0, 5; select * from table_privileges where grantee like '%r%' limit 0, 5; @@ -405,7 +404,7 @@ select * from schemata limit 0,5; --replace_result $SERVER_NAME select distinct grantee from user_privileges; --replace_result $SERVER_NAME -select all grantee from user_privileges; +select all grantee from user_privileges order by grantee, privilege_type; select id , character_set_name from collations order by id asc limit 10; @@ -461,8 +460,9 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# FIXME: why do we get different error numbers with and without OUTFILE ? -#FIXME this should fail! --error 1146 +# The above will fail with access error as long as +# BUBG#28181 - a regression introduced in 5.0.42 is not fixed + eval SELECT * FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; @@ -475,7 +475,9 @@ eval SELECT * FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM schemata LIMIT 0, 5; -# FIXME 3.2.1.2: why do we get different error numbers with and without OUTFILE ? +# The above will fail with access error as long as +# BUBG#28181 - a regression introduced in 5.0.42 is not fixed + eval SELECT * FROM schemata LIMIT 0, 5; @@ -485,8 +487,9 @@ eval SELECT * LINES TERMINATED BY '\n' FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; -# FIXME: why do we get different error numbers with and without OUTFILE ? -#FIXME this should fail! --error 1146 +# The above will fail with access error as long as +# BUBG#28181 - a regression introduced in 5.0.42 is not fixed + eval SELECT * FROM information_schema.schemata WHERE schema_name LIKE 'db_%'; @@ -3020,12 +3023,13 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3035,7 +3039,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3055,12 +3060,13 @@ connect (user_12_2, localhost, user_2, , db_datadict); # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3070,7 +3076,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3091,12 +3098,13 @@ connect (user_12_3, localhost, user_3, , db_datadict); # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3106,7 +3114,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3127,12 +3136,13 @@ connection default; # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME +# 17 CHECK_TIME # 20 CREATE_OPTIONS if ($have_bug_11589) { --disable_ps_protocol } ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" 20 "#CO#" SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; # 9 AVG_ROW_LENGTH @@ -3142,7 +3152,8 @@ SELECT * FROM information_schema.tables # 13 DATA_FREE # 15 CREATE_TIME # 16 UPDATE_TIME ---replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" +# 17 CHECK_TIME +--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); --enable_ps_protocol @@ -3870,11 +3881,11 @@ let $message= Testcase 3.2.20.1:; let $is_table= referential_constraints; # when table is implemented remove this and the next 4 lines and "enable" 5th line: # and don't forget to add the test description to QATestPlanV50func -let $message= checking a table that will be implemented later; ---source include/show_msg.inc ---error 0,1109 +#let $message= checking a table that will be implemented later; +#--source include/show_msg.inc +#--error 1109 eval DESC $is_table; -#--source suite/funcs_1/datadict/datadict_show_table_design.inc +--source suite/funcs_1/datadict/datadict_show_table_design.inc # ------------------------------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc index 06b2d6fed45..260119f030f 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc @@ -36,7 +36,7 @@ eval select table_name, index_schema, index_name, index_type --replace_result $SERVER_NAME eval select * - from information_schema.user_privileges; + from information_schema.user_privileges order by grantee, privilege_type; # where grantee="'u_6_401013'@'%'"; eval select * diff --git a/mysql-test/suite/funcs_1/r/a_version_check.result b/mysql-test/suite/funcs_1/r/a_version_check.result deleted file mode 100644 index da6ba0846fd..00000000000 --- a/mysql-test/suite/funcs_1/r/a_version_check.result +++ /dev/null @@ -1,11 +0,0 @@ - -. Just show the version string for which the results in suite -. funcs_1 have been checked. -. -. I know that the .result file of this check needs to -. updated with each new version --- THIS IS INTENDED! --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -funcs_1 checked with version: 5.1.17 -Warnings: -Warning 1548 Leading spaces are removed from name ' ' diff --git a/mysql-test/suite/funcs_1/r/innodb__datadict.result b/mysql-test/suite/funcs_1/r/innodb__datadict.result index 1a4cc1e4d00..25c5fbbf358 100644 --- a/mysql-test/suite/funcs_1/r/innodb__datadict.result +++ b/mysql-test/suite/funcs_1/r/innodb__datadict.result @@ -10,14 +10,8 @@ . *__datadict.test are started. This can be a result of showing e.g. maximum . values of the number of rows of tables. . -. Currently (Dec 19, 2005) this .result file is checked OK for Linux 5.0.18-bk -. (ChangeSet@1.1993, 2005-12-19 16:21:02+04:00). Using the available Windows -. version 5.0.16 there are some known differences that can be ignored: -. -. - Fix for bug#14271 I_S: columns has no size for (var)binary columns -. - bug#14290 (CHARACTER_MAXIMUM_LENGTH values for columns using ucs2 have been fixed) -. - new column INFORMATION_SCHEMA.TRIGGERS.DEFINER is still not present in 5.0.16 -. - (:5055, :5122, :5215) 3 warnings now errors 1044 at call db_datadict.sp_4_1_3() +. This .result file has been checked OK with Linux 5.0.23-bk, +. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00. . -------------------------------------------------------------------------------- @@ -424,13 +418,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -491,7 +483,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -512,7 +504,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -533,7 +525,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -554,7 +546,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -575,7 +567,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -596,7 +588,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -617,7 +609,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -638,7 +630,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -659,7 +651,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -680,7 +672,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -701,7 +693,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -722,7 +714,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -743,7 +735,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -764,7 +756,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -785,7 +777,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -806,7 +798,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -827,7 +819,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -848,7 +840,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -869,7 +861,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -890,7 +882,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -911,7 +903,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -932,7 +924,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -953,7 +945,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -974,7 +966,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -995,7 +987,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1016,7 +1008,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1037,7 +1029,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1060,7 +1052,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1081,7 +1073,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1102,7 +1094,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1123,7 +1115,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1144,7 +1136,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1165,7 +1157,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1186,7 +1178,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1207,7 +1199,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1228,7 +1220,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1249,7 +1241,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1270,7 +1262,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1291,7 +1283,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1312,7 +1304,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1333,7 +1325,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1354,7 +1346,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1375,7 +1367,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1396,7 +1388,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1408,7 +1400,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1417,7 +1409,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1438,7 +1430,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1459,7 +1451,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1480,7 +1472,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1501,7 +1493,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1522,7 +1514,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1543,7 +1535,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1564,7 +1556,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1576,7 +1568,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1585,7 +1577,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1606,7 +1598,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1627,7 +1619,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1648,7 +1640,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1669,7 +1661,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1690,7 +1682,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1711,7 +1703,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1732,7 +1724,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1753,7 +1745,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1774,7 +1766,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1795,7 +1787,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1816,7 +1808,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1837,7 +1829,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1858,7 +1850,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1879,7 +1871,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1900,7 +1892,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2336,14 +2328,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -2368,21 +2360,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -2399,26 +2393,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2442,23 +2436,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2545,20 +2539,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -2609,20 +2603,20 @@ NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_genera NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references @@ -2670,10 +2664,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -2735,9 +2731,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -3222,7 +3218,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -3247,7 +3243,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -3261,97 +3257,95 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE select * from views; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -3551,11 +3545,12 @@ Table or view 'tb2' is associated with the database 'test1'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3592,8 +3587,8 @@ columns_priv 7 COLUMN_PRIVILEGES 7 db 22 ENGINES 6 -event 16 -EVENTS 19 +event 18 +EVENTS 21 FILES 38 func 4 general_log 6 @@ -3805,7 +3800,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3826,7 +3821,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3847,7 +3842,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3868,7 +3863,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3889,7 +3884,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3910,7 +3905,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3931,7 +3926,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3952,7 +3947,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3973,7 +3968,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3994,7 +3989,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4015,7 +4010,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4036,7 +4031,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4057,7 +4052,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4078,7 +4073,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4099,7 +4094,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4120,7 +4115,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4141,7 +4136,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4162,7 +4157,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4183,7 +4178,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4204,7 +4199,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4225,7 +4220,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4246,7 +4241,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4267,7 +4262,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4288,7 +4283,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4309,7 +4304,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4330,7 +4325,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4351,7 +4346,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4374,7 +4369,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4395,7 +4390,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4416,7 +4411,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4437,7 +4432,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4458,7 +4453,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4479,7 +4474,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4500,7 +4495,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4521,7 +4516,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4542,7 +4537,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4563,7 +4558,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4584,7 +4579,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4605,7 +4600,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4626,7 +4621,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4647,7 +4642,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4668,7 +4663,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4689,7 +4684,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4710,7 +4705,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4722,7 +4717,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4731,7 +4726,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4752,7 +4747,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4773,7 +4768,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4794,7 +4789,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4815,7 +4810,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4836,7 +4831,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4857,7 +4852,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4878,7 +4873,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4890,7 +4885,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4899,7 +4894,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4920,7 +4915,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4941,7 +4936,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4962,7 +4957,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4983,7 +4978,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5004,7 +4999,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5025,7 +5020,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5046,7 +5041,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5067,7 +5062,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5088,7 +5083,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5109,7 +5104,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5130,7 +5125,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5151,7 +5146,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5172,7 +5167,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5193,7 +5188,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5214,7 +5209,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5723,7 +5718,7 @@ COUNT(*) 68 SELECT COUNT(*) FROM information_schema. columns ; COUNT(*) -838 +842 SELECT COUNT(*) FROM information_schema. character_sets ; COUNT(*) 36 @@ -5744,7 +5739,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -83 +81 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 32 @@ -5788,7 +5783,7 @@ tot_tabs 65 select count(*) as the_cols from columns; the_cols -813 +817 select max(maxlen) as the_max from character_sets; the_max 3 @@ -5814,7 +5809,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -5886,13 +5881,11 @@ test, tb3 test, tb4 test1, tb2 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -5929,39 +5922,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -5989,7 +5953,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -6017,7 +5980,33 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -7490,91 +7479,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7643,92 +7630,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7782,91 +7767,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7933,91 +7916,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8080,91 +8061,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8240,92 +8219,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8378,91 +8355,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8824,14 +8799,14 @@ COLUMNS TABLE_CATALOG varchar(4096) COLUMNS TABLE_SCHEMA varchar(64) COLUMNS TABLE_NAME varchar(64) COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) +COLUMNS ORDINAL_POSITION bigint(21) unsigned COLUMNS COLUMN_DEFAULT longtext COLUMNS IS_NULLABLE varchar(3) COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) +COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned +COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned +COLUMNS NUMERIC_PRECISION bigint(21) unsigned +COLUMNS NUMERIC_SCALE bigint(21) unsigned COLUMNS CHARACTER_SET_NAME varchar(64) COLUMNS COLLATION_NAME varchar(64) COLUMNS COLUMN_TYPE longtext @@ -8856,6 +8831,7 @@ EVENTS EVENT_CATALOG varchar(64) EVENTS EVENT_SCHEMA varchar(64) EVENTS EVENT_NAME varchar(64) EVENTS DEFINER varchar(77) +EVENTS TIME_ZONE varchar(64) EVENTS EVENT_BODY varchar(8) EVENTS EVENT_DEFINITION longtext EVENTS EVENT_TYPE varchar(9) @@ -8865,12 +8841,13 @@ EVENTS INTERVAL_FIELD varchar(18) EVENTS SQL_MODE longtext EVENTS STARTS datetime EVENTS ENDS datetime -EVENTS STATUS varchar(8) +EVENTS STATUS varchar(18) EVENTS ON_COMPLETION varchar(12) EVENTS CREATED datetime EVENTS LAST_ALTERED datetime EVENTS LAST_EXECUTED datetime EVENTS EVENT_COMMENT varchar(64) +EVENTS ORIGINATOR bigint(10) FILES FILE_ID bigint(4) FILES FILE_NAME varchar(64) FILES FILE_TYPE varchar(20) @@ -8887,26 +8864,26 @@ FILES UPDATE_COUNT bigint(4) FILES FREE_EXTENTS bigint(4) FILES TOTAL_EXTENTS bigint(4) FILES EXTENT_SIZE bigint(4) -FILES INITIAL_SIZE bigint(21) -FILES MAXIMUM_SIZE bigint(21) -FILES AUTOEXTEND_SIZE bigint(21) +FILES INITIAL_SIZE bigint(21) unsigned +FILES MAXIMUM_SIZE bigint(21) unsigned +FILES AUTOEXTEND_SIZE bigint(21) unsigned FILES CREATION_TIME datetime FILES LAST_UPDATE_TIME datetime FILES LAST_ACCESS_TIME datetime FILES RECOVER_TIME bigint(4) FILES TRANSACTION_COUNTER bigint(4) -FILES VERSION bigint(21) +FILES VERSION bigint(21) unsigned FILES ROW_FORMAT varchar(10) -FILES TABLE_ROWS bigint(21) -FILES AVG_ROW_LENGTH bigint(21) -FILES DATA_LENGTH bigint(21) -FILES MAX_DATA_LENGTH bigint(21) -FILES INDEX_LENGTH bigint(21) -FILES DATA_FREE bigint(21) +FILES TABLE_ROWS bigint(21) unsigned +FILES AVG_ROW_LENGTH bigint(21) unsigned +FILES DATA_LENGTH bigint(21) unsigned +FILES MAX_DATA_LENGTH bigint(21) unsigned +FILES INDEX_LENGTH bigint(21) unsigned +FILES DATA_FREE bigint(21) unsigned FILES CREATE_TIME datetime FILES UPDATE_TIME datetime FILES CHECK_TIME datetime -FILES CHECKSUM bigint(21) +FILES CHECKSUM bigint(21) unsigned FILES STATUS varchar(20) FILES EXTRA varchar(255) GLOBAL_STATUS VARIABLE_NAME varchar(64) @@ -8930,23 +8907,23 @@ PARTITIONS TABLE_SCHEMA varchar(64) PARTITIONS TABLE_NAME varchar(64) PARTITIONS PARTITION_NAME varchar(64) PARTITIONS SUBPARTITION_NAME varchar(64) -PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) -PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) +PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned +PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned PARTITIONS PARTITION_METHOD varchar(12) PARTITIONS SUBPARTITION_METHOD varchar(12) PARTITIONS PARTITION_EXPRESSION longtext PARTITIONS SUBPARTITION_EXPRESSION longtext PARTITIONS PARTITION_DESCRIPTION longtext -PARTITIONS TABLE_ROWS bigint(21) -PARTITIONS AVG_ROW_LENGTH bigint(21) -PARTITIONS DATA_LENGTH bigint(21) -PARTITIONS MAX_DATA_LENGTH bigint(21) -PARTITIONS INDEX_LENGTH bigint(21) -PARTITIONS DATA_FREE bigint(21) +PARTITIONS TABLE_ROWS bigint(21) unsigned +PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned +PARTITIONS DATA_LENGTH bigint(21) unsigned +PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned +PARTITIONS INDEX_LENGTH bigint(21) unsigned +PARTITIONS DATA_FREE bigint(21) unsigned PARTITIONS CREATE_TIME datetime PARTITIONS UPDATE_TIME datetime PARTITIONS CHECK_TIME datetime -PARTITIONS CHECKSUM bigint(21) +PARTITIONS CHECKSUM bigint(21) unsigned PARTITIONS PARTITION_COMMENT varchar(80) PARTITIONS NODEGROUP varchar(12) PARTITIONS TABLESPACE_NAME varchar(64) @@ -9033,20 +9010,20 @@ TABLES TABLE_SCHEMA varchar(64) TABLES TABLE_NAME varchar(64) TABLES TABLE_TYPE varchar(64) TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) +TABLES VERSION bigint(21) unsigned TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) +TABLES TABLE_ROWS bigint(21) unsigned +TABLES AVG_ROW_LENGTH bigint(21) unsigned +TABLES DATA_LENGTH bigint(21) unsigned +TABLES MAX_DATA_LENGTH bigint(21) unsigned +TABLES INDEX_LENGTH bigint(21) unsigned +TABLES DATA_FREE bigint(21) unsigned +TABLES AUTO_INCREMENT bigint(21) unsigned TABLES CREATE_TIME datetime TABLES UPDATE_TIME datetime TABLES CHECK_TIME datetime TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) +TABLES CHECKSUM bigint(21) unsigned TABLES CREATE_OPTIONS varchar(255) TABLES TABLE_COMMENT varchar(80) TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) @@ -10229,14 +10206,14 @@ TABLE_CATALOG varchar(4096) YES NULL TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 +ORDINAL_POSITION bigint(21) unsigned NO 0 COLUMN_DEFAULT longtext YES NULL IS_NULLABLE varchar(3) NO DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL +CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL +CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL +NUMERIC_PRECISION bigint(21) unsigned YES NULL +NUMERIC_SCALE bigint(21) unsigned YES NULL CHARACTER_SET_NAME varchar(64) YES NULL COLLATION_NAME varchar(64) YES NULL COLUMN_TYPE longtext NO @@ -10251,14 +10228,14 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '', - `ORDINAL_POSITION` bigint(21) NOT NULL DEFAULT '0', + `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0', `COLUMN_DEFAULT` longtext, `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '', `DATA_TYPE` varchar(64) NOT NULL DEFAULT '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) DEFAULT NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) DEFAULT NULL, - `NUMERIC_PRECISION` bigint(21) DEFAULT NULL, - `NUMERIC_SCALE` bigint(21) DEFAULT NULL, + `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL, + `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL, `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL, `COLLATION_NAME` varchar(64) DEFAULT NULL, `COLUMN_TYPE` longtext NOT NULL, @@ -10282,14 +10259,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10337,14 +10314,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10369,21 +10346,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -10400,26 +10379,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10443,23 +10422,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10546,20 +10525,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -10646,10 +10625,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -10711,9 +10692,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -11156,14 +11137,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11188,21 +11169,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11219,26 +11202,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11262,23 +11245,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11365,20 +11348,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -11715,14 +11698,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11747,21 +11730,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11778,26 +11763,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11821,23 +11806,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11924,20 +11909,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -12372,14 +12357,14 @@ NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext @@ -12404,6 +12389,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint( 3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) +3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) 1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) @@ -12413,12 +12399,13 @@ NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime 1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime -3.0000 information_schema EVENTS STATUS varchar 8 24 utf8 utf8_general_ci varchar(8) +3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18) 3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12) NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10) NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4) 3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20) @@ -12435,26 +12422,26 @@ NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20) 3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12478,23 +12465,23 @@ NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NU 3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12581,20 +12568,20 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime 3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) @@ -12681,10 +12668,12 @@ NULL mysql event modified timestamp NULL NULL NULL NULL timestamp NULL mysql event last_executed datetime NULL NULL NULL NULL datetime NULL mysql event starts datetime NULL NULL NULL NULL datetime NULL mysql event ends datetime NULL NULL NULL NULL datetime -3.0000 mysql event status enum 8 24 utf8 utf8_general_ci enum('ENABLED','DISABLED') +3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') 3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE') 3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') 3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64) +NULL mysql event originator int NULL NULL NULL NULL int(10) +1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64) 3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) 3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) @@ -13968,20 +13957,20 @@ TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO TABLE_TYPE varchar(64) NO ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL +VERSION bigint(21) unsigned YES NULL ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL +TABLE_ROWS bigint(21) unsigned YES NULL +AVG_ROW_LENGTH bigint(21) unsigned YES NULL +DATA_LENGTH bigint(21) unsigned YES NULL +MAX_DATA_LENGTH bigint(21) unsigned YES NULL +INDEX_LENGTH bigint(21) unsigned YES NULL +DATA_FREE bigint(21) unsigned YES NULL +AUTO_INCREMENT bigint(21) unsigned YES NULL CREATE_TIME datetime YES NULL UPDATE_TIME datetime YES NULL CHECK_TIME datetime YES NULL TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL +CHECKSUM bigint(21) unsigned YES NULL CREATE_OPTIONS varchar(255) YES NULL TABLE_COMMENT varchar(80) NO SHOW CREATE TABLE tables; @@ -13992,20 +13981,20 @@ TABLES CREATE TEMPORARY TABLE `TABLES` ( `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '', `ENGINE` varchar(64) DEFAULT NULL, - `VERSION` bigint(21) DEFAULT NULL, + `VERSION` bigint(21) unsigned DEFAULT NULL, `ROW_FORMAT` varchar(10) DEFAULT NULL, - `TABLE_ROWS` bigint(21) DEFAULT NULL, - `AVG_ROW_LENGTH` bigint(21) DEFAULT NULL, - `DATA_LENGTH` bigint(21) DEFAULT NULL, - `MAX_DATA_LENGTH` bigint(21) DEFAULT NULL, - `INDEX_LENGTH` bigint(21) DEFAULT NULL, - `DATA_FREE` bigint(21) DEFAULT NULL, - `AUTO_INCREMENT` bigint(21) DEFAULT NULL, + `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL, + `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_FREE` bigint(21) unsigned DEFAULT NULL, + `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL, `CREATE_TIME` datetime DEFAULT NULL, `UPDATE_TIME` datetime DEFAULT NULL, `CHECK_TIME` datetime DEFAULT NULL, `TABLE_COLLATION` varchar(64) DEFAULT NULL, - `CHECKSUM` bigint(21) DEFAULT NULL, + `CHECKSUM` bigint(21) unsigned DEFAULT NULL, `CREATE_OPTIONS` varchar(255) DEFAULT NULL, `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT '' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 @@ -14025,20 +14014,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select @@ -14066,228 +14055,228 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Events -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL General log -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL MySQL plugins -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql servers BASE TABLE MyISAM 10 Fixed 1 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL MySQL Foreign Servers table -NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Slow log -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test1 tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test4 t6 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table +NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test1 tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB +NULL test4 t6 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -14499,7 +14488,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -14524,7 +14513,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -14538,7 +14527,7 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE user_1@localhost test SELECT * FROM information_schema.statistics; @@ -15191,9 +15180,6 @@ ERROR 42S02: Unknown table 'parameters' in information_schema Testcase 3.2.20.1: -------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ DESC referential_constraints; Field Type Null Key Default Extra CONSTRAINT_CATALOG varchar(512) YES NULL @@ -15207,6 +15193,57 @@ UPDATE_RULE varchar(64) NO DELETE_RULE varchar(64) NO TABLE_NAME varchar(64) NO REFERENCED_TABLE_NAME varchar(64) NO +USE information_schema; +DESC referential_constraints; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(4096) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL +UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO +UNIQUE_CONSTRAINT_NAME varchar(64) NO +MATCH_OPTION varchar(64) NO +UPDATE_RULE varchar(64) NO +DELETE_RULE varchar(64) NO +TABLE_NAME varchar(64) NO +REFERENCED_TABLE_NAME varchar(64) NO +SHOW CREATE TABLE referential_constraints; +Table Create Table +REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` ( + `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '', + `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '', + `DELETE_RULE` varchar(64) NOT NULL DEFAULT '', + `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', + `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SELECT COUNT(*) FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +COUNT(*) +11 +SELECT * FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select *** End of Data Dictionary Tests *** -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_func_view.result b/mysql-test/suite/funcs_1/r/innodb_func_view.result index 9fde670680d..ab4508fb302 100644 --- a/mysql-test/suite/funcs_1/r/innodb_func_view.result +++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result @@ -3935,13 +3935,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3952,13 +3950,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result index 590d4c611bf..02a82db0901 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result @@ -199,6 +199,9 @@ CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1 for each row set new.f3 = '14'; CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; insert into t1 (f2) values ('insert 3.5.1.7'); select * from t1; f1 f2 f3 @@ -213,6 +216,8 @@ trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX; drop table t1; Testcase 3.5.1.8: diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result index 4388950aba1..44d53923241 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result @@ -492,8 +492,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result index 4e7d80c6102..be0f36f49be 100644 --- a/mysql-test/suite/funcs_1/r/innodb_views.result +++ b/mysql-test/suite/funcs_1/r/innodb_views.result @@ -448,7 +448,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -585,7 +586,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -605,7 +608,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1790,7 +1795,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1799,7 +1806,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1816,7 +1825,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1828,7 +1839,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/r/memory__datadict.result b/mysql-test/suite/funcs_1/r/memory__datadict.result index fba08589ccf..0ef00f0e553 100644 --- a/mysql-test/suite/funcs_1/r/memory__datadict.result +++ b/mysql-test/suite/funcs_1/r/memory__datadict.result @@ -10,14 +10,8 @@ . *__datadict.test are started. This can be a result of showing e.g. maximum . values of the number of rows of tables. . -. Currently (Dec 19, 2005) this .result file is checked OK for Linux 5.0.18-bk -. (ChangeSet@1.1993, 2005-12-19 16:21:02+04:00). Using the available Windows -. version 5.0.16 there are some known differences that can be ignored: -. -. - Fix for bug#14271 I_S: columns has no size for (var)binary columns -. - bug#14290 (CHARACTER_MAXIMUM_LENGTH values for columns using ucs2 have been fixed) -. - new column INFORMATION_SCHEMA.TRIGGERS.DEFINER is still not present in 5.0.16 -. - (:5055, :5122, :5215) 3 warnings now errors 1044 at call db_datadict.sp_4_1_3() +. This .result file has been checked OK with Linux 5.0.23-bk, +. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00. . -------------------------------------------------------------------------------- @@ -422,13 +416,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -489,7 +481,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -510,7 +502,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -531,7 +523,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -552,7 +544,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -573,7 +565,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -594,7 +586,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -615,7 +607,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -636,7 +628,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -657,7 +649,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -678,7 +670,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -699,7 +691,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -720,7 +712,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -741,7 +733,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -762,7 +754,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -783,7 +775,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -804,7 +796,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -825,7 +817,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -846,7 +838,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -867,7 +859,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -888,7 +880,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -909,7 +901,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -930,7 +922,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -951,7 +943,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -972,7 +964,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -993,7 +985,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1014,7 +1006,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1035,7 +1027,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1058,7 +1050,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1079,7 +1071,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1100,7 +1092,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1121,7 +1113,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1142,7 +1134,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1163,7 +1155,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1184,7 +1176,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1205,7 +1197,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1226,7 +1218,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1247,7 +1239,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1268,7 +1260,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1289,7 +1281,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1310,7 +1302,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1331,7 +1323,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1352,7 +1344,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1373,7 +1365,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1394,7 +1386,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1406,7 +1398,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1415,7 +1407,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1436,7 +1428,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1457,7 +1449,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1478,7 +1470,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1499,7 +1491,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1520,7 +1512,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1541,7 +1533,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1562,7 +1554,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1574,7 +1566,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1583,7 +1575,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1604,7 +1596,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1625,7 +1617,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1646,7 +1638,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1667,7 +1659,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1688,7 +1680,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1709,7 +1701,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1730,7 +1722,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1751,7 +1743,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1772,7 +1764,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1793,7 +1785,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1814,7 +1806,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1835,7 +1827,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1856,7 +1848,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1877,7 +1869,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1898,7 +1890,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2334,14 +2326,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -2366,21 +2358,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -2397,26 +2391,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2440,23 +2434,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2543,20 +2537,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -2607,20 +2601,20 @@ NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_genera NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references @@ -2668,10 +2662,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -2733,9 +2729,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -3205,7 +3201,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -3230,7 +3226,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -3244,97 +3240,95 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE select * from views; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -3534,11 +3528,12 @@ Table or view 'tb2' is associated with the database 'test1'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3575,8 +3570,8 @@ columns_priv 7 COLUMN_PRIVILEGES 7 db 22 ENGINES 6 -event 16 -EVENTS 19 +event 18 +EVENTS 21 FILES 38 func 4 general_log 6 @@ -3788,7 +3783,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3809,7 +3804,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3830,7 +3825,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3851,7 +3846,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3872,7 +3867,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3893,7 +3888,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3914,7 +3909,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3935,7 +3930,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3956,7 +3951,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3977,7 +3972,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3998,7 +3993,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4019,7 +4014,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4040,7 +4035,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4061,7 +4056,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4082,7 +4077,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4103,7 +4098,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4124,7 +4119,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4145,7 +4140,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4166,7 +4161,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4187,7 +4182,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4208,7 +4203,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4229,7 +4224,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4250,7 +4245,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4271,7 +4266,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4292,7 +4287,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4313,7 +4308,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4334,7 +4329,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4357,7 +4352,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4378,7 +4373,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4399,7 +4394,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4420,7 +4415,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4441,7 +4436,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4462,7 +4457,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4483,7 +4478,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4504,7 +4499,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4525,7 +4520,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4546,7 +4541,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4567,7 +4562,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4588,7 +4583,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4609,7 +4604,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4630,7 +4625,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4651,7 +4646,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4672,7 +4667,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4693,7 +4688,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4705,7 +4700,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4714,7 +4709,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4735,7 +4730,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4756,7 +4751,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4777,7 +4772,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4798,7 +4793,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4819,7 +4814,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4840,7 +4835,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4861,7 +4856,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4873,7 +4868,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4882,7 +4877,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4903,7 +4898,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4924,7 +4919,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4945,7 +4940,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4966,7 +4961,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4987,7 +4982,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5008,7 +5003,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5029,7 +5024,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5050,7 +5045,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5071,7 +5066,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5092,7 +5087,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5113,7 +5108,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5134,7 +5129,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5155,7 +5150,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5176,7 +5171,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5197,7 +5192,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5706,7 +5701,7 @@ COUNT(*) 68 SELECT COUNT(*) FROM information_schema. columns ; COUNT(*) -823 +827 SELECT COUNT(*) FROM information_schema. character_sets ; COUNT(*) 36 @@ -5727,7 +5722,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -83 +81 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 32 @@ -5771,7 +5766,7 @@ tot_tabs 65 select count(*) as the_cols from columns; the_cols -798 +802 select max(maxlen) as the_max from character_sets; the_max 3 @@ -5797,7 +5792,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -5869,13 +5864,11 @@ test, tb3 test, tb4 test1, tb2 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -5912,39 +5905,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -5972,7 +5936,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -6000,7 +5963,33 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -7473,91 +7462,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7626,92 +7613,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 HASH select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7765,91 +7750,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7916,91 +7899,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8063,91 +8044,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8223,92 +8202,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8361,91 +8338,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8807,14 +8782,14 @@ COLUMNS TABLE_CATALOG varchar(4096) COLUMNS TABLE_SCHEMA varchar(64) COLUMNS TABLE_NAME varchar(64) COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) +COLUMNS ORDINAL_POSITION bigint(21) unsigned COLUMNS COLUMN_DEFAULT longtext COLUMNS IS_NULLABLE varchar(3) COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) +COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned +COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned +COLUMNS NUMERIC_PRECISION bigint(21) unsigned +COLUMNS NUMERIC_SCALE bigint(21) unsigned COLUMNS CHARACTER_SET_NAME varchar(64) COLUMNS COLLATION_NAME varchar(64) COLUMNS COLUMN_TYPE longtext @@ -8839,6 +8814,7 @@ EVENTS EVENT_CATALOG varchar(64) EVENTS EVENT_SCHEMA varchar(64) EVENTS EVENT_NAME varchar(64) EVENTS DEFINER varchar(77) +EVENTS TIME_ZONE varchar(64) EVENTS EVENT_BODY varchar(8) EVENTS EVENT_DEFINITION longtext EVENTS EVENT_TYPE varchar(9) @@ -8848,12 +8824,13 @@ EVENTS INTERVAL_FIELD varchar(18) EVENTS SQL_MODE longtext EVENTS STARTS datetime EVENTS ENDS datetime -EVENTS STATUS varchar(8) +EVENTS STATUS varchar(18) EVENTS ON_COMPLETION varchar(12) EVENTS CREATED datetime EVENTS LAST_ALTERED datetime EVENTS LAST_EXECUTED datetime EVENTS EVENT_COMMENT varchar(64) +EVENTS ORIGINATOR bigint(10) FILES FILE_ID bigint(4) FILES FILE_NAME varchar(64) FILES FILE_TYPE varchar(20) @@ -8870,26 +8847,26 @@ FILES UPDATE_COUNT bigint(4) FILES FREE_EXTENTS bigint(4) FILES TOTAL_EXTENTS bigint(4) FILES EXTENT_SIZE bigint(4) -FILES INITIAL_SIZE bigint(21) -FILES MAXIMUM_SIZE bigint(21) -FILES AUTOEXTEND_SIZE bigint(21) +FILES INITIAL_SIZE bigint(21) unsigned +FILES MAXIMUM_SIZE bigint(21) unsigned +FILES AUTOEXTEND_SIZE bigint(21) unsigned FILES CREATION_TIME datetime FILES LAST_UPDATE_TIME datetime FILES LAST_ACCESS_TIME datetime FILES RECOVER_TIME bigint(4) FILES TRANSACTION_COUNTER bigint(4) -FILES VERSION bigint(21) +FILES VERSION bigint(21) unsigned FILES ROW_FORMAT varchar(10) -FILES TABLE_ROWS bigint(21) -FILES AVG_ROW_LENGTH bigint(21) -FILES DATA_LENGTH bigint(21) -FILES MAX_DATA_LENGTH bigint(21) -FILES INDEX_LENGTH bigint(21) -FILES DATA_FREE bigint(21) +FILES TABLE_ROWS bigint(21) unsigned +FILES AVG_ROW_LENGTH bigint(21) unsigned +FILES DATA_LENGTH bigint(21) unsigned +FILES MAX_DATA_LENGTH bigint(21) unsigned +FILES INDEX_LENGTH bigint(21) unsigned +FILES DATA_FREE bigint(21) unsigned FILES CREATE_TIME datetime FILES UPDATE_TIME datetime FILES CHECK_TIME datetime -FILES CHECKSUM bigint(21) +FILES CHECKSUM bigint(21) unsigned FILES STATUS varchar(20) FILES EXTRA varchar(255) GLOBAL_STATUS VARIABLE_NAME varchar(64) @@ -8913,23 +8890,23 @@ PARTITIONS TABLE_SCHEMA varchar(64) PARTITIONS TABLE_NAME varchar(64) PARTITIONS PARTITION_NAME varchar(64) PARTITIONS SUBPARTITION_NAME varchar(64) -PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) -PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) +PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned +PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned PARTITIONS PARTITION_METHOD varchar(12) PARTITIONS SUBPARTITION_METHOD varchar(12) PARTITIONS PARTITION_EXPRESSION longtext PARTITIONS SUBPARTITION_EXPRESSION longtext PARTITIONS PARTITION_DESCRIPTION longtext -PARTITIONS TABLE_ROWS bigint(21) -PARTITIONS AVG_ROW_LENGTH bigint(21) -PARTITIONS DATA_LENGTH bigint(21) -PARTITIONS MAX_DATA_LENGTH bigint(21) -PARTITIONS INDEX_LENGTH bigint(21) -PARTITIONS DATA_FREE bigint(21) +PARTITIONS TABLE_ROWS bigint(21) unsigned +PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned +PARTITIONS DATA_LENGTH bigint(21) unsigned +PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned +PARTITIONS INDEX_LENGTH bigint(21) unsigned +PARTITIONS DATA_FREE bigint(21) unsigned PARTITIONS CREATE_TIME datetime PARTITIONS UPDATE_TIME datetime PARTITIONS CHECK_TIME datetime -PARTITIONS CHECKSUM bigint(21) +PARTITIONS CHECKSUM bigint(21) unsigned PARTITIONS PARTITION_COMMENT varchar(80) PARTITIONS NODEGROUP varchar(12) PARTITIONS TABLESPACE_NAME varchar(64) @@ -9016,20 +8993,20 @@ TABLES TABLE_SCHEMA varchar(64) TABLES TABLE_NAME varchar(64) TABLES TABLE_TYPE varchar(64) TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) +TABLES VERSION bigint(21) unsigned TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) +TABLES TABLE_ROWS bigint(21) unsigned +TABLES AVG_ROW_LENGTH bigint(21) unsigned +TABLES DATA_LENGTH bigint(21) unsigned +TABLES MAX_DATA_LENGTH bigint(21) unsigned +TABLES INDEX_LENGTH bigint(21) unsigned +TABLES DATA_FREE bigint(21) unsigned +TABLES AUTO_INCREMENT bigint(21) unsigned TABLES CREATE_TIME datetime TABLES UPDATE_TIME datetime TABLES CHECK_TIME datetime TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) +TABLES CHECKSUM bigint(21) unsigned TABLES CREATE_OPTIONS varchar(255) TABLES TABLE_COMMENT varchar(80) TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) @@ -10197,14 +10174,14 @@ TABLE_CATALOG varchar(4096) YES NULL TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 +ORDINAL_POSITION bigint(21) unsigned NO 0 COLUMN_DEFAULT longtext YES NULL IS_NULLABLE varchar(3) NO DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL +CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL +CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL +NUMERIC_PRECISION bigint(21) unsigned YES NULL +NUMERIC_SCALE bigint(21) unsigned YES NULL CHARACTER_SET_NAME varchar(64) YES NULL COLLATION_NAME varchar(64) YES NULL COLUMN_TYPE longtext NO @@ -10219,14 +10196,14 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '', - `ORDINAL_POSITION` bigint(21) NOT NULL DEFAULT '0', + `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0', `COLUMN_DEFAULT` longtext, `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '', `DATA_TYPE` varchar(64) NOT NULL DEFAULT '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) DEFAULT NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) DEFAULT NULL, - `NUMERIC_PRECISION` bigint(21) DEFAULT NULL, - `NUMERIC_SCALE` bigint(21) DEFAULT NULL, + `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL, + `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL, `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL, `COLLATION_NAME` varchar(64) DEFAULT NULL, `COLUMN_TYPE` longtext NOT NULL, @@ -10250,14 +10227,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10305,14 +10282,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10337,21 +10314,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -10368,26 +10347,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10411,23 +10390,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10514,20 +10493,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -10614,10 +10593,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -10679,9 +10660,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -11109,14 +11090,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11141,21 +11122,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11172,26 +11155,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11215,23 +11198,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11318,20 +11301,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -11653,14 +11636,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11685,21 +11668,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11716,26 +11701,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11759,23 +11744,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11862,20 +11847,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -12285,14 +12270,14 @@ NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext @@ -12317,6 +12302,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint( 3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) +3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) 1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) @@ -12326,12 +12312,13 @@ NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime 1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime -3.0000 information_schema EVENTS STATUS varchar 8 24 utf8 utf8_general_ci varchar(8) +3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18) 3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12) NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10) NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4) 3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20) @@ -12348,26 +12335,26 @@ NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20) 3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12391,23 +12378,23 @@ NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NU 3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12494,20 +12481,20 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime 3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) @@ -12594,10 +12581,12 @@ NULL mysql event modified timestamp NULL NULL NULL NULL timestamp NULL mysql event last_executed datetime NULL NULL NULL NULL datetime NULL mysql event starts datetime NULL NULL NULL NULL datetime NULL mysql event ends datetime NULL NULL NULL NULL datetime -3.0000 mysql event status enum 8 24 utf8 utf8_general_ci enum('ENABLED','DISABLED') +3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') 3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE') 3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') 3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64) +NULL mysql event originator int NULL NULL NULL NULL int(10) +1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64) 3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) 3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) @@ -13866,20 +13855,20 @@ TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO TABLE_TYPE varchar(64) NO ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL +VERSION bigint(21) unsigned YES NULL ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL +TABLE_ROWS bigint(21) unsigned YES NULL +AVG_ROW_LENGTH bigint(21) unsigned YES NULL +DATA_LENGTH bigint(21) unsigned YES NULL +MAX_DATA_LENGTH bigint(21) unsigned YES NULL +INDEX_LENGTH bigint(21) unsigned YES NULL +DATA_FREE bigint(21) unsigned YES NULL +AUTO_INCREMENT bigint(21) unsigned YES NULL CREATE_TIME datetime YES NULL UPDATE_TIME datetime YES NULL CHECK_TIME datetime YES NULL TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL +CHECKSUM bigint(21) unsigned YES NULL CREATE_OPTIONS varchar(255) YES NULL TABLE_COMMENT varchar(80) NO SHOW CREATE TABLE tables; @@ -13890,20 +13879,20 @@ TABLES CREATE TEMPORARY TABLE `TABLES` ( `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '', `ENGINE` varchar(64) DEFAULT NULL, - `VERSION` bigint(21) DEFAULT NULL, + `VERSION` bigint(21) unsigned DEFAULT NULL, `ROW_FORMAT` varchar(10) DEFAULT NULL, - `TABLE_ROWS` bigint(21) DEFAULT NULL, - `AVG_ROW_LENGTH` bigint(21) DEFAULT NULL, - `DATA_LENGTH` bigint(21) DEFAULT NULL, - `MAX_DATA_LENGTH` bigint(21) DEFAULT NULL, - `INDEX_LENGTH` bigint(21) DEFAULT NULL, - `DATA_FREE` bigint(21) DEFAULT NULL, - `AUTO_INCREMENT` bigint(21) DEFAULT NULL, + `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL, + `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_FREE` bigint(21) unsigned DEFAULT NULL, + `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL, `CREATE_TIME` datetime DEFAULT NULL, `UPDATE_TIME` datetime DEFAULT NULL, `CHECK_TIME` datetime DEFAULT NULL, `TABLE_COLLATION` varchar(64) DEFAULT NULL, - `CHECKSUM` bigint(21) DEFAULT NULL, + `CHECKSUM` bigint(21) unsigned DEFAULT NULL, `CREATE_OPTIONS` varchar(255) DEFAULT NULL, `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT '' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 @@ -13923,20 +13912,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select @@ -13964,228 +13953,228 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Events -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL General log -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL MySQL plugins -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql servers BASE TABLE MyISAM 10 Fixed 1 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL MySQL Foreign Servers table -NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Slow log -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test1 tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table +NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test1 tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test4 t6 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -14397,7 +14386,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -14422,7 +14411,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -14436,7 +14425,7 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE user_1@localhost test SELECT * FROM information_schema.statistics; @@ -15089,9 +15078,6 @@ ERROR 42S02: Unknown table 'parameters' in information_schema Testcase 3.2.20.1: -------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ DESC referential_constraints; Field Type Null Key Default Extra CONSTRAINT_CATALOG varchar(512) YES NULL @@ -15105,6 +15091,57 @@ UPDATE_RULE varchar(64) NO DELETE_RULE varchar(64) NO TABLE_NAME varchar(64) NO REFERENCED_TABLE_NAME varchar(64) NO +USE information_schema; +DESC referential_constraints; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(4096) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL +UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO +UNIQUE_CONSTRAINT_NAME varchar(64) NO +MATCH_OPTION varchar(64) NO +UPDATE_RULE varchar(64) NO +DELETE_RULE varchar(64) NO +TABLE_NAME varchar(64) NO +REFERENCED_TABLE_NAME varchar(64) NO +SHOW CREATE TABLE referential_constraints; +Table Create Table +REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` ( + `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '', + `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '', + `DELETE_RULE` varchar(64) NOT NULL DEFAULT '', + `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', + `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SELECT COUNT(*) FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +COUNT(*) +11 +SELECT * FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select *** End of Data Dictionary Tests *** -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_func_view.result b/mysql-test/suite/funcs_1/r/memory_func_view.result index 9fde670680d..ab4508fb302 100644 --- a/mysql-test/suite/funcs_1/r/memory_func_view.result +++ b/mysql-test/suite/funcs_1/r/memory_func_view.result @@ -3935,13 +3935,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3952,13 +3950,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0102.result b/mysql-test/suite/funcs_1/r/memory_trig_0102.result index a02ade90c8a..1319fc3e361 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result @@ -195,6 +195,9 @@ CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1 for each row set new.f3 = '14'; CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; insert into t1 (f2) values ('insert 3.5.1.7'); select * from t1; f1 f2 f3 @@ -209,6 +212,8 @@ trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX; drop table t1; Testcase 3.5.1.8: diff --git a/mysql-test/suite/funcs_1/r/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result index c445f03a2c0..ddc990d1919 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_08.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result @@ -488,8 +488,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result index cd8180c6f57..9267cc5a98b 100644 --- a/mysql-test/suite/funcs_1/r/memory_views.result +++ b/mysql-test/suite/funcs_1/r/memory_views.result @@ -452,7 +452,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -589,7 +590,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -609,7 +612,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1794,7 +1799,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1803,7 +1810,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1820,7 +1829,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1832,7 +1843,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/r/myisam__datadict.result b/mysql-test/suite/funcs_1/r/myisam__datadict.result index 5426c0aa59e..36662ad9259 100644 --- a/mysql-test/suite/funcs_1/r/myisam__datadict.result +++ b/mysql-test/suite/funcs_1/r/myisam__datadict.result @@ -10,14 +10,8 @@ . *__datadict.test are started. This can be a result of showing e.g. maximum . values of the number of rows of tables. . -. Currently (Dec 19, 2005) this .result file is checked OK for Linux 5.0.18-bk -. (ChangeSet@1.1993, 2005-12-19 16:21:02+04:00). Using the available Windows -. version 5.0.16 there are some known differences that can be ignored: -. -. - Fix for bug#14271 I_S: columns has no size for (var)binary columns -. - bug#14290 (CHARACTER_MAXIMUM_LENGTH values for columns using ucs2 have been fixed) -. - new column INFORMATION_SCHEMA.TRIGGERS.DEFINER is still not present in 5.0.16 -. - (:5055, :5122, :5215) 3 warnings now errors 1044 at call db_datadict.sp_4_1_3() +. This .result file has been checked OK with Linux 5.0.23-bk, +. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00. . -------------------------------------------------------------------------------- @@ -452,13 +446,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -519,7 +511,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -540,7 +532,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -561,7 +553,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -582,7 +574,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -603,7 +595,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -624,7 +616,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -645,7 +637,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -666,7 +658,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -687,7 +679,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -708,7 +700,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -729,7 +721,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -750,7 +742,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -771,7 +763,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -792,7 +784,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -813,7 +805,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -834,7 +826,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -855,7 +847,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -876,7 +868,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -897,7 +889,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -918,7 +910,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -939,7 +931,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -960,7 +952,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -981,7 +973,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1002,7 +994,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1023,7 +1015,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1044,7 +1036,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1065,7 +1057,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -1088,7 +1080,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1109,7 +1101,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1130,7 +1122,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -1151,7 +1143,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1172,7 +1164,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1193,7 +1185,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1214,7 +1206,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1235,7 +1227,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1256,7 +1248,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1277,7 +1269,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1298,7 +1290,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1319,7 +1311,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1340,7 +1332,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1361,7 +1353,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1382,7 +1374,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1403,7 +1395,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1424,7 +1416,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1436,7 +1428,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1445,7 +1437,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1466,7 +1458,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1487,7 +1479,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1508,7 +1500,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1529,7 +1521,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1550,7 +1542,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1571,7 +1563,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1592,7 +1584,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1604,7 +1596,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1613,7 +1605,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1634,7 +1626,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1655,7 +1647,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1676,7 +1668,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1697,7 +1689,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1718,7 +1710,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1739,7 +1731,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1760,7 +1752,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1781,7 +1773,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1802,7 +1794,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1823,7 +1815,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1844,7 +1836,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1865,7 +1857,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1886,7 +1878,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1907,7 +1899,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1928,7 +1920,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2364,14 +2356,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -2396,21 +2388,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -2427,26 +2421,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2470,23 +2464,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2573,20 +2567,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -2637,20 +2631,20 @@ NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_genera NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references @@ -2698,10 +2692,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -2763,9 +2759,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -3275,7 +3271,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -3300,7 +3296,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -3314,97 +3310,95 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE select * from views; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -3604,11 +3598,12 @@ Table or view 'tb2' is associated with the database 'test1'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3645,8 +3640,8 @@ columns_priv 7 COLUMN_PRIVILEGES 7 db 22 ENGINES 6 -event 16 -EVENTS 19 +event 18 +EVENTS 21 FILES 38 func 4 general_log 6 @@ -3858,7 +3853,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3879,7 +3874,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3900,7 +3895,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3921,7 +3916,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3942,7 +3937,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3963,7 +3958,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3984,7 +3979,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4005,7 +4000,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4026,7 +4021,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4047,7 +4042,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4068,7 +4063,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4089,7 +4084,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4110,7 +4105,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4131,7 +4126,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4152,7 +4147,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4173,7 +4168,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4194,7 +4189,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4215,7 +4210,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4236,7 +4231,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4257,7 +4252,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4278,7 +4273,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4299,7 +4294,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4320,7 +4315,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4341,7 +4336,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4362,7 +4357,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4383,7 +4378,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4404,7 +4399,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4427,7 +4422,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4448,7 +4443,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4469,7 +4464,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4490,7 +4485,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4511,7 +4506,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4532,7 +4527,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4553,7 +4548,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4574,7 +4569,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4595,7 +4590,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4616,7 +4611,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4637,7 +4632,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4658,7 +4653,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4679,7 +4674,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4700,7 +4695,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4721,7 +4716,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4742,7 +4737,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4763,7 +4758,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4775,7 +4770,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4784,7 +4779,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4805,7 +4800,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4826,7 +4821,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4847,7 +4842,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4868,7 +4863,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4889,7 +4884,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4910,7 +4905,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4931,7 +4926,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4943,7 +4938,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4952,7 +4947,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4973,7 +4968,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4994,7 +4989,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5015,7 +5010,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5036,7 +5031,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5057,7 +5052,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5078,7 +5073,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5099,7 +5094,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5120,7 +5115,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5141,7 +5136,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5162,7 +5157,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5183,7 +5178,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5204,7 +5199,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5225,7 +5220,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5246,7 +5241,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5267,7 +5262,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5776,7 +5771,7 @@ COUNT(*) 68 SELECT COUNT(*) FROM information_schema. columns ; COUNT(*) -863 +867 SELECT COUNT(*) FROM information_schema. character_sets ; COUNT(*) 36 @@ -5797,7 +5792,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -83 +81 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 32 @@ -5841,7 +5836,7 @@ tot_tabs 65 select count(*) as the_cols from columns; the_cols -838 +842 select max(maxlen) as the_max from character_sets; the_max 3 @@ -5867,7 +5862,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -5939,13 +5934,11 @@ test, tb3 test, tb4 test1, tb2 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -5982,39 +5975,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -6042,7 +6006,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -6070,7 +6033,33 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -7543,91 +7532,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7696,92 +7683,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7835,91 +7820,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7986,91 +7969,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8133,91 +8114,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8293,92 +8272,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8431,91 +8408,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8877,14 +8852,14 @@ COLUMNS TABLE_CATALOG varchar(4096) COLUMNS TABLE_SCHEMA varchar(64) COLUMNS TABLE_NAME varchar(64) COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) +COLUMNS ORDINAL_POSITION bigint(21) unsigned COLUMNS COLUMN_DEFAULT longtext COLUMNS IS_NULLABLE varchar(3) COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) +COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned +COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned +COLUMNS NUMERIC_PRECISION bigint(21) unsigned +COLUMNS NUMERIC_SCALE bigint(21) unsigned COLUMNS CHARACTER_SET_NAME varchar(64) COLUMNS COLLATION_NAME varchar(64) COLUMNS COLUMN_TYPE longtext @@ -8909,6 +8884,7 @@ EVENTS EVENT_CATALOG varchar(64) EVENTS EVENT_SCHEMA varchar(64) EVENTS EVENT_NAME varchar(64) EVENTS DEFINER varchar(77) +EVENTS TIME_ZONE varchar(64) EVENTS EVENT_BODY varchar(8) EVENTS EVENT_DEFINITION longtext EVENTS EVENT_TYPE varchar(9) @@ -8918,12 +8894,13 @@ EVENTS INTERVAL_FIELD varchar(18) EVENTS SQL_MODE longtext EVENTS STARTS datetime EVENTS ENDS datetime -EVENTS STATUS varchar(8) +EVENTS STATUS varchar(18) EVENTS ON_COMPLETION varchar(12) EVENTS CREATED datetime EVENTS LAST_ALTERED datetime EVENTS LAST_EXECUTED datetime EVENTS EVENT_COMMENT varchar(64) +EVENTS ORIGINATOR bigint(10) FILES FILE_ID bigint(4) FILES FILE_NAME varchar(64) FILES FILE_TYPE varchar(20) @@ -8940,26 +8917,26 @@ FILES UPDATE_COUNT bigint(4) FILES FREE_EXTENTS bigint(4) FILES TOTAL_EXTENTS bigint(4) FILES EXTENT_SIZE bigint(4) -FILES INITIAL_SIZE bigint(21) -FILES MAXIMUM_SIZE bigint(21) -FILES AUTOEXTEND_SIZE bigint(21) +FILES INITIAL_SIZE bigint(21) unsigned +FILES MAXIMUM_SIZE bigint(21) unsigned +FILES AUTOEXTEND_SIZE bigint(21) unsigned FILES CREATION_TIME datetime FILES LAST_UPDATE_TIME datetime FILES LAST_ACCESS_TIME datetime FILES RECOVER_TIME bigint(4) FILES TRANSACTION_COUNTER bigint(4) -FILES VERSION bigint(21) +FILES VERSION bigint(21) unsigned FILES ROW_FORMAT varchar(10) -FILES TABLE_ROWS bigint(21) -FILES AVG_ROW_LENGTH bigint(21) -FILES DATA_LENGTH bigint(21) -FILES MAX_DATA_LENGTH bigint(21) -FILES INDEX_LENGTH bigint(21) -FILES DATA_FREE bigint(21) +FILES TABLE_ROWS bigint(21) unsigned +FILES AVG_ROW_LENGTH bigint(21) unsigned +FILES DATA_LENGTH bigint(21) unsigned +FILES MAX_DATA_LENGTH bigint(21) unsigned +FILES INDEX_LENGTH bigint(21) unsigned +FILES DATA_FREE bigint(21) unsigned FILES CREATE_TIME datetime FILES UPDATE_TIME datetime FILES CHECK_TIME datetime -FILES CHECKSUM bigint(21) +FILES CHECKSUM bigint(21) unsigned FILES STATUS varchar(20) FILES EXTRA varchar(255) GLOBAL_STATUS VARIABLE_NAME varchar(64) @@ -8983,23 +8960,23 @@ PARTITIONS TABLE_SCHEMA varchar(64) PARTITIONS TABLE_NAME varchar(64) PARTITIONS PARTITION_NAME varchar(64) PARTITIONS SUBPARTITION_NAME varchar(64) -PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) -PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) +PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned +PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned PARTITIONS PARTITION_METHOD varchar(12) PARTITIONS SUBPARTITION_METHOD varchar(12) PARTITIONS PARTITION_EXPRESSION longtext PARTITIONS SUBPARTITION_EXPRESSION longtext PARTITIONS PARTITION_DESCRIPTION longtext -PARTITIONS TABLE_ROWS bigint(21) -PARTITIONS AVG_ROW_LENGTH bigint(21) -PARTITIONS DATA_LENGTH bigint(21) -PARTITIONS MAX_DATA_LENGTH bigint(21) -PARTITIONS INDEX_LENGTH bigint(21) -PARTITIONS DATA_FREE bigint(21) +PARTITIONS TABLE_ROWS bigint(21) unsigned +PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned +PARTITIONS DATA_LENGTH bigint(21) unsigned +PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned +PARTITIONS INDEX_LENGTH bigint(21) unsigned +PARTITIONS DATA_FREE bigint(21) unsigned PARTITIONS CREATE_TIME datetime PARTITIONS UPDATE_TIME datetime PARTITIONS CHECK_TIME datetime -PARTITIONS CHECKSUM bigint(21) +PARTITIONS CHECKSUM bigint(21) unsigned PARTITIONS PARTITION_COMMENT varchar(80) PARTITIONS NODEGROUP varchar(12) PARTITIONS TABLESPACE_NAME varchar(64) @@ -9086,20 +9063,20 @@ TABLES TABLE_SCHEMA varchar(64) TABLES TABLE_NAME varchar(64) TABLES TABLE_TYPE varchar(64) TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) +TABLES VERSION bigint(21) unsigned TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) +TABLES TABLE_ROWS bigint(21) unsigned +TABLES AVG_ROW_LENGTH bigint(21) unsigned +TABLES DATA_LENGTH bigint(21) unsigned +TABLES MAX_DATA_LENGTH bigint(21) unsigned +TABLES INDEX_LENGTH bigint(21) unsigned +TABLES DATA_FREE bigint(21) unsigned +TABLES AUTO_INCREMENT bigint(21) unsigned TABLES CREATE_TIME datetime TABLES UPDATE_TIME datetime TABLES CHECK_TIME datetime TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) +TABLES CHECKSUM bigint(21) unsigned TABLES CREATE_OPTIONS varchar(255) TABLES TABLE_COMMENT varchar(80) TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) @@ -10299,14 +10276,14 @@ TABLE_CATALOG varchar(4096) YES NULL TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 +ORDINAL_POSITION bigint(21) unsigned NO 0 COLUMN_DEFAULT longtext YES NULL IS_NULLABLE varchar(3) NO DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL +CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL +CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL +NUMERIC_PRECISION bigint(21) unsigned YES NULL +NUMERIC_SCALE bigint(21) unsigned YES NULL CHARACTER_SET_NAME varchar(64) YES NULL COLLATION_NAME varchar(64) YES NULL COLUMN_TYPE longtext NO @@ -10321,14 +10298,14 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '', - `ORDINAL_POSITION` bigint(21) NOT NULL DEFAULT '0', + `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0', `COLUMN_DEFAULT` longtext, `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '', `DATA_TYPE` varchar(64) NOT NULL DEFAULT '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) DEFAULT NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) DEFAULT NULL, - `NUMERIC_PRECISION` bigint(21) DEFAULT NULL, - `NUMERIC_SCALE` bigint(21) DEFAULT NULL, + `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL, + `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL, `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL, `COLLATION_NAME` varchar(64) DEFAULT NULL, `COLUMN_TYPE` longtext NOT NULL, @@ -10352,14 +10329,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10407,14 +10384,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10439,21 +10416,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -10470,26 +10449,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10513,23 +10492,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10616,20 +10595,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -10716,10 +10695,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -10781,9 +10762,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -11251,14 +11232,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11283,21 +11264,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11314,26 +11297,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11357,23 +11340,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11460,20 +11443,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -11827,14 +11810,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11859,21 +11842,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11890,26 +11875,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11933,23 +11918,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -12036,20 +12021,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -12499,14 +12484,14 @@ NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext @@ -12531,6 +12516,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint( 3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) +3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) 1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) @@ -12540,12 +12526,13 @@ NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime 1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime -3.0000 information_schema EVENTS STATUS varchar 8 24 utf8 utf8_general_ci varchar(8) +3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18) 3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12) NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10) NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4) 3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20) @@ -12562,26 +12549,26 @@ NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20) 3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12605,23 +12592,23 @@ NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NU 3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12708,20 +12695,20 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime 3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) @@ -12808,10 +12795,12 @@ NULL mysql event modified timestamp NULL NULL NULL NULL timestamp NULL mysql event last_executed datetime NULL NULL NULL NULL datetime NULL mysql event starts datetime NULL NULL NULL NULL datetime NULL mysql event ends datetime NULL NULL NULL NULL datetime -3.0000 mysql event status enum 8 24 utf8 utf8_general_ci enum('ENABLED','DISABLED') +3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') 3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE') 3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') 3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64) +NULL mysql event originator int NULL NULL NULL NULL int(10) +1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64) 3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) 3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) @@ -14120,20 +14109,20 @@ TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO TABLE_TYPE varchar(64) NO ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL +VERSION bigint(21) unsigned YES NULL ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL +TABLE_ROWS bigint(21) unsigned YES NULL +AVG_ROW_LENGTH bigint(21) unsigned YES NULL +DATA_LENGTH bigint(21) unsigned YES NULL +MAX_DATA_LENGTH bigint(21) unsigned YES NULL +INDEX_LENGTH bigint(21) unsigned YES NULL +DATA_FREE bigint(21) unsigned YES NULL +AUTO_INCREMENT bigint(21) unsigned YES NULL CREATE_TIME datetime YES NULL UPDATE_TIME datetime YES NULL CHECK_TIME datetime YES NULL TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL +CHECKSUM bigint(21) unsigned YES NULL CREATE_OPTIONS varchar(255) YES NULL TABLE_COMMENT varchar(80) NO SHOW CREATE TABLE tables; @@ -14144,20 +14133,20 @@ TABLES CREATE TEMPORARY TABLE `TABLES` ( `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '', `ENGINE` varchar(64) DEFAULT NULL, - `VERSION` bigint(21) DEFAULT NULL, + `VERSION` bigint(21) unsigned DEFAULT NULL, `ROW_FORMAT` varchar(10) DEFAULT NULL, - `TABLE_ROWS` bigint(21) DEFAULT NULL, - `AVG_ROW_LENGTH` bigint(21) DEFAULT NULL, - `DATA_LENGTH` bigint(21) DEFAULT NULL, - `MAX_DATA_LENGTH` bigint(21) DEFAULT NULL, - `INDEX_LENGTH` bigint(21) DEFAULT NULL, - `DATA_FREE` bigint(21) DEFAULT NULL, - `AUTO_INCREMENT` bigint(21) DEFAULT NULL, + `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL, + `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_FREE` bigint(21) unsigned DEFAULT NULL, + `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL, `CREATE_TIME` datetime DEFAULT NULL, `UPDATE_TIME` datetime DEFAULT NULL, `CHECK_TIME` datetime DEFAULT NULL, `TABLE_COLLATION` varchar(64) DEFAULT NULL, - `CHECKSUM` bigint(21) DEFAULT NULL, + `CHECKSUM` bigint(21) unsigned DEFAULT NULL, `CREATE_OPTIONS` varchar(255) DEFAULT NULL, `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT '' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 @@ -14177,20 +14166,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select @@ -14218,228 +14207,228 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Events -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL General log -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL MySQL plugins -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql servers BASE TABLE MyISAM 10 Fixed 1 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL MySQL Foreign Servers table -NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Slow log -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test1 tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table +NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test1 tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test4 t6 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -14651,7 +14640,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -14676,7 +14665,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -14690,7 +14679,7 @@ NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NUL NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE user_1@localhost test SELECT * FROM information_schema.statistics; @@ -15343,9 +15332,6 @@ ERROR 42S02: Unknown table 'parameters' in information_schema Testcase 3.2.20.1: -------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ DESC referential_constraints; Field Type Null Key Default Extra CONSTRAINT_CATALOG varchar(512) YES NULL @@ -15359,6 +15345,57 @@ UPDATE_RULE varchar(64) NO DELETE_RULE varchar(64) NO TABLE_NAME varchar(64) NO REFERENCED_TABLE_NAME varchar(64) NO +USE information_schema; +DESC referential_constraints; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(4096) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL +UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO +UNIQUE_CONSTRAINT_NAME varchar(64) NO +MATCH_OPTION varchar(64) NO +UPDATE_RULE varchar(64) NO +DELETE_RULE varchar(64) NO +TABLE_NAME varchar(64) NO +REFERENCED_TABLE_NAME varchar(64) NO +SHOW CREATE TABLE referential_constraints; +Table Create Table +REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` ( + `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '', + `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '', + `DELETE_RULE` varchar(64) NOT NULL DEFAULT '', + `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', + `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SELECT COUNT(*) FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +COUNT(*) +11 +SELECT * FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select *** End of Data Dictionary Tests *** -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_func_view.result b/mysql-test/suite/funcs_1/r/myisam_func_view.result index 9fde670680d..ab4508fb302 100644 --- a/mysql-test/suite/funcs_1/r/myisam_func_view.result +++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result @@ -3935,13 +3935,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3952,13 +3950,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result index 425d69bceb2..4d9a6c64947 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result @@ -199,6 +199,9 @@ CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1 for each row set new.f3 = '14'; CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; insert into t1 (f2) values ('insert 3.5.1.7'); select * from t1; f1 f2 f3 @@ -213,6 +216,8 @@ trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX; drop table t1; Testcase 3.5.1.8: diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result index 4f350191099..906aea070d9 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result @@ -492,8 +492,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views.result index 1b405041850..a3620575c8b 100644 --- a/mysql-test/suite/funcs_1/r/myisam_views.result +++ b/mysql-test/suite/funcs_1/r/myisam_views.result @@ -470,7 +470,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -607,7 +608,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -627,7 +630,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1812,7 +1817,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1821,7 +1828,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1838,7 +1847,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1850,7 +1861,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/r/ndb__datadict.result b/mysql-test/suite/funcs_1/r/ndb__datadict.result index 74b279b3d43..cf3b5c29bfe 100644 --- a/mysql-test/suite/funcs_1/r/ndb__datadict.result +++ b/mysql-test/suite/funcs_1/r/ndb__datadict.result @@ -10,14 +10,8 @@ . *__datadict.test are started. This can be a result of showing e.g. maximum . values of the number of rows of tables. . -. Currently (Dec 19, 2005) this .result file is checked OK for Linux 5.0.18-bk -. (ChangeSet@1.1993, 2005-12-19 16:21:02+04:00). Using the available Windows -. version 5.0.16 there are some known differences that can be ignored: -. -. - Fix for bug#14271 I_S: columns has no size for (var)binary columns -. - bug#14290 (CHARACTER_MAXIMUM_LENGTH values for columns using ucs2 have been fixed) -. - new column INFORMATION_SCHEMA.TRIGGERS.DEFINER is still not present in 5.0.16 -. - (:5055, :5122, :5215) 3 warnings now errors 1044 at call db_datadict.sp_4_1_3() +. This .result file has been checked OK with Linux 5.0.23-bk, +. ChangeSet@1.2211, 2006-06-28 10:11:43-07:00. . -------------------------------------------------------------------------------- @@ -109,13 +103,11 @@ LENGTH( SUBSTRING( u, LENGTH( SUBSTRING_INDEX(u, _utf8'@',1)) +3 )) - 1 ) AS Server_Clean FROM db_datadict.vu1; -SELECT * FROM db_datadict.vu; +SELECT * FROM db_datadict.vu order by u; u server Server_Clean -'root'@'localhost' localhost' localhost 'root'@'127.0.0.1' 127.0.0.1' 127.0.0.1 -''@'localhost' localhost' localhost 'root'@'' ' -''@'' ' +'root'@'localhost' localhost' localhost CREATE PROCEDURE db_datadict.sp_1() BEGIN SELECT * FROM db_datadict.v1; @@ -176,7 +168,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -197,7 +189,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -218,7 +210,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -239,7 +231,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -260,7 +252,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -281,7 +273,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -302,7 +294,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -323,7 +315,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -344,7 +336,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -365,7 +357,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -386,7 +378,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -407,7 +399,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -428,7 +420,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -449,7 +441,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -470,7 +462,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -491,7 +483,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -512,7 +504,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -533,7 +525,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -554,7 +546,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -575,7 +567,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -596,7 +588,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -617,7 +609,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -638,7 +630,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -659,7 +651,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -680,7 +672,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -701,7 +693,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -722,7 +714,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -745,7 +737,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -766,7 +758,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -787,7 +779,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -799,7 +791,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -808,7 +800,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -829,7 +821,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -850,7 +842,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -871,7 +863,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -892,7 +884,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -913,7 +905,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -934,7 +926,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -955,7 +947,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -976,7 +968,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -997,7 +989,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1018,7 +1010,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1029,7 +1021,7 @@ TABLE_NAME ndb_apply_status TABLE_TYPE BASE TABLE ENGINE NDBCLUSTER VERSION 10 -ROW_FORMAT Fixed +ROW_FORMAT Dynamic TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1039,7 +1031,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1060,7 +1052,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1081,7 +1073,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1102,7 +1094,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1123,7 +1115,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1135,7 +1127,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -1144,7 +1136,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1165,7 +1157,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1186,7 +1178,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -1207,7 +1199,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1228,7 +1220,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1249,7 +1241,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1270,7 +1262,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1291,7 +1283,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -1312,7 +1304,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1333,7 +1325,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1354,7 +1346,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1375,7 +1367,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1396,7 +1388,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1417,7 +1409,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1438,7 +1430,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1459,7 +1451,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1480,7 +1472,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1501,7 +1493,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1522,7 +1514,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1543,7 +1535,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1564,7 +1556,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -1585,7 +1577,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -2021,14 +2013,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -2053,21 +2045,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -2084,26 +2078,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2127,23 +2121,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -2230,20 +2224,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -2294,20 +2288,20 @@ NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_genera NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references +NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references +NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select,insert,update,references NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references @@ -2394,10 +2388,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -2444,6 +2440,9 @@ NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enu NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NULL mysql ndb_apply_status server_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references NULL mysql ndb_apply_status epoch 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL mysql ndb_apply_status log_name 3 NULL NO varchar 255 255 NULL NULL latin1 latin1_bin varchar(255) select,insert,update,references +NULL mysql ndb_apply_status start_pos 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL mysql ndb_apply_status end_pos 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references @@ -2461,9 +2460,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -2868,7 +2867,7 @@ count(*) select * from statistics; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -2877,7 +2876,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -2903,7 +2902,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -2921,91 +2920,89 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges; +select * from user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from schema_privileges; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -3207,11 +3204,12 @@ Table or view 'tb4' is associated with the database 'test'. Table or view 't6' is associated with the database 'test4'. select grantee as "user's having select privilege", substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -from user_privileges where privilege_type = 'select'; +from user_privileges where privilege_type = 'select' + order by grantee; user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'localhost' 'localhost' 'root'@'127.0.0.1' '127.0.0.1' 'root'@'' '' +'root'@'localhost' 'localhost' select all table_schema from schema_privileges limit 0,5; table_schema test @@ -3248,8 +3246,8 @@ columns_priv 7 COLUMN_PRIVILEGES 7 db 22 ENGINES 6 -event 16 -EVENTS 19 +event 18 +EVENTS 21 FILES 38 func 4 general_log 6 @@ -3261,7 +3259,7 @@ help_relation 2 help_topic 6 host 20 KEY_COLUMN_USAGE 12 -ndb_apply_status 2 +ndb_apply_status 5 ndb_binlog_index 7 PARTITIONS 25 plugin 2 @@ -3462,7 +3460,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3483,7 +3481,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3504,7 +3502,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3525,7 +3523,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3546,7 +3544,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3567,7 +3565,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3588,7 +3586,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3609,7 +3607,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3630,7 +3628,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3651,7 +3649,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3672,7 +3670,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3693,7 +3691,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3714,7 +3712,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3735,7 +3733,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3756,7 +3754,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3777,7 +3775,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3798,7 +3796,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3819,7 +3817,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3840,7 +3838,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3861,7 +3859,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3882,7 +3880,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3903,7 +3901,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3924,7 +3922,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3945,7 +3943,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3966,7 +3964,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -3987,7 +3985,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4008,7 +4006,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS #CO# @@ -4031,7 +4029,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4052,7 +4050,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4073,7 +4071,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION NULL CHECKSUM NULL CREATE_OPTIONS NULL @@ -4085,7 +4083,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Dynamic -TABLE_ROWS 5 +TABLE_ROWS 3 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4094,7 +4092,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4115,7 +4113,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4136,7 +4134,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4157,7 +4155,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4178,7 +4176,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4199,7 +4197,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4220,7 +4218,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4241,7 +4239,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4262,7 +4260,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4283,7 +4281,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4304,7 +4302,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4315,7 +4313,7 @@ TABLE_NAME ndb_apply_status TABLE_TYPE BASE TABLE ENGINE NDBCLUSTER VERSION 10 -ROW_FORMAT Fixed +ROW_FORMAT Dynamic TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -4325,7 +4323,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4346,7 +4344,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4367,7 +4365,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4388,7 +4386,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4409,7 +4407,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4421,7 +4419,7 @@ TABLE_TYPE BASE TABLE ENGINE MyISAM VERSION 10 ROW_FORMAT Fixed -TABLE_ROWS 1 +TABLE_ROWS 0 AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# MAX_DATA_LENGTH #MDL# @@ -4430,7 +4428,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4451,7 +4449,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4472,7 +4470,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_bin CHECKSUM NULL CREATE_OPTIONS @@ -4493,7 +4491,7 @@ DATA_FREE #DF# AUTO_INCREMENT 6 CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4514,7 +4512,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4535,7 +4533,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4556,7 +4554,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4577,7 +4575,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION utf8_general_ci CHECKSUM NULL CREATE_OPTIONS @@ -4598,7 +4596,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4619,7 +4617,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4640,7 +4638,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4661,7 +4659,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4682,7 +4680,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4703,7 +4701,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4724,7 +4722,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4745,7 +4743,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4766,7 +4764,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4787,7 +4785,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4808,7 +4806,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4829,7 +4827,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4850,7 +4848,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -4871,7 +4869,7 @@ DATA_FREE #DF# AUTO_INCREMENT NULL CREATE_TIME YYYY-MM-DD hh:mm:ss UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME NULL +CHECK_TIME YYYY-MM-DD hh:mm:ss TABLE_COLLATION latin1_swedish_ci CHECKSUM NULL CREATE_OPTIONS @@ -5325,7 +5323,7 @@ END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh select * from information_schema.statistics limit 0, 5; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -5380,7 +5378,7 @@ COUNT(*) 68 SELECT COUNT(*) FROM information_schema. columns ; COUNT(*) -806 +813 SELECT COUNT(*) FROM information_schema. character_sets ; COUNT(*) 36 @@ -5401,7 +5399,7 @@ COUNT(*) 3 SELECT COUNT(*) FROM information_schema. user_privileges ; COUNT(*) -83 +81 SELECT COUNT(*) FROM information_schema. schema_privileges ; COUNT(*) 32 @@ -5445,7 +5443,7 @@ tot_tabs 65 select count(*) as the_cols from columns; the_cols -781 +788 select max(maxlen) as the_max from character_sets; the_max 3 @@ -5471,7 +5469,7 @@ TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_ NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE select concat(table_schema, ', ', table_name, ', ', view_definition) view_info from views; view_info @@ -5543,13 +5541,11 @@ test, tb2 test, tb3 test, tb4 test4, t6 -select distinct grantee from user_privileges; +select distinct grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' +'root'@'localhost' select * from schema_privileges where table_catalog is null limit 0, 5; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE ''@'%' NULL test SELECT NO @@ -5586,39 +5582,10 @@ NULL test1 latin1 latin1_swedish_ci NULL select distinct grantee from user_privileges; grantee 'root'@'localhost' -'root'@'127.0.0.1' -''@'localhost' 'root'@'' -''@'' -select all grantee from user_privileges; +'root'@'127.0.0.1' +select all grantee from user_privileges order by grantee, privilege_type; grantee -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' @@ -5646,7 +5613,6 @@ grantee 'root'@'127.0.0.1' 'root'@'127.0.0.1' 'root'@'127.0.0.1' -''@'localhost' 'root'@'' 'root'@'' 'root'@'' @@ -5674,7 +5640,33 @@ grantee 'root'@'' 'root'@'' 'root'@'' -''@'' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' +'root'@'localhost' select id , character_set_name from collations order by id asc limit 10; id character_set_name 1 big5 @@ -7147,91 +7139,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7300,92 +7290,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401013 db_datadict i_6_401013 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401013'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401013'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7439,91 +7427,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7590,91 +7576,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7737,91 +7721,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -7897,92 +7879,90 @@ where table_schema like 'db_datadict%'; table_name index_schema index_name index_type res_t_401015 db_datadict i_6_401015 BTREE select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -'u_6_401015'@'localhost' NULL USAGE NO -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES +'u_6_401015'@'localhost' NULL USAGE NO select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8035,91 +8015,89 @@ from information_schema.statistics where table_schema like 'db_datadict%'; table_name index_schema index_name index_type select * -from information_schema.user_privileges; +from information_schema.user_privileges order by grantee, privilege_type; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL EVENT YES -'root'@'localhost' NULL TRIGGER YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL INDEX YES 'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES 'root'@'127.0.0.1' NULL ALTER ROUTINE YES +'root'@'127.0.0.1' NULL CREATE YES +'root'@'127.0.0.1' NULL CREATE ROUTINE YES +'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES 'root'@'127.0.0.1' NULL CREATE USER YES +'root'@'127.0.0.1' NULL CREATE VIEW YES +'root'@'127.0.0.1' NULL DELETE YES +'root'@'127.0.0.1' NULL DROP YES 'root'@'127.0.0.1' NULL EVENT YES +'root'@'127.0.0.1' NULL EXECUTE YES +'root'@'127.0.0.1' NULL FILE YES +'root'@'127.0.0.1' NULL INDEX YES +'root'@'127.0.0.1' NULL INSERT YES +'root'@'127.0.0.1' NULL LOCK TABLES YES +'root'@'127.0.0.1' NULL PROCESS YES +'root'@'127.0.0.1' NULL REFERENCES YES +'root'@'127.0.0.1' NULL RELOAD YES +'root'@'127.0.0.1' NULL REPLICATION CLIENT YES +'root'@'127.0.0.1' NULL REPLICATION SLAVE YES +'root'@'127.0.0.1' NULL SELECT YES +'root'@'127.0.0.1' NULL SHOW DATABASES YES +'root'@'127.0.0.1' NULL SHOW VIEW YES +'root'@'127.0.0.1' NULL SHUTDOWN YES +'root'@'127.0.0.1' NULL SUPER YES 'root'@'127.0.0.1' NULL TRIGGER YES -''@'localhost' NULL USAGE NO -'root'@'' NULL SELECT YES -'root'@'' NULL INSERT YES -'root'@'' NULL UPDATE YES -'root'@'' NULL DELETE YES -'root'@'' NULL CREATE YES -'root'@'' NULL DROP YES -'root'@'' NULL RELOAD YES -'root'@'' NULL SHUTDOWN YES -'root'@'' NULL PROCESS YES -'root'@'' NULL FILE YES -'root'@'' NULL REFERENCES YES -'root'@'' NULL INDEX YES +'root'@'127.0.0.1' NULL UPDATE YES 'root'@'' NULL ALTER YES -'root'@'' NULL SHOW DATABASES YES -'root'@'' NULL SUPER YES -'root'@'' NULL CREATE TEMPORARY TABLES YES -'root'@'' NULL LOCK TABLES YES -'root'@'' NULL EXECUTE YES -'root'@'' NULL REPLICATION SLAVE YES -'root'@'' NULL REPLICATION CLIENT YES -'root'@'' NULL CREATE VIEW YES -'root'@'' NULL SHOW VIEW YES -'root'@'' NULL CREATE ROUTINE YES 'root'@'' NULL ALTER ROUTINE YES +'root'@'' NULL CREATE YES +'root'@'' NULL CREATE ROUTINE YES +'root'@'' NULL CREATE TEMPORARY TABLES YES 'root'@'' NULL CREATE USER YES +'root'@'' NULL CREATE VIEW YES +'root'@'' NULL DELETE YES +'root'@'' NULL DROP YES 'root'@'' NULL EVENT YES +'root'@'' NULL EXECUTE YES +'root'@'' NULL FILE YES +'root'@'' NULL INDEX YES +'root'@'' NULL INSERT YES +'root'@'' NULL LOCK TABLES YES +'root'@'' NULL PROCESS YES +'root'@'' NULL REFERENCES YES +'root'@'' NULL RELOAD YES +'root'@'' NULL REPLICATION CLIENT YES +'root'@'' NULL REPLICATION SLAVE YES +'root'@'' NULL SELECT YES +'root'@'' NULL SHOW DATABASES YES +'root'@'' NULL SHOW VIEW YES +'root'@'' NULL SHUTDOWN YES +'root'@'' NULL SUPER YES 'root'@'' NULL TRIGGER YES -''@'' NULL USAGE NO +'root'@'' NULL UPDATE YES +'root'@'localhost' NULL ALTER YES +'root'@'localhost' NULL ALTER ROUTINE YES +'root'@'localhost' NULL CREATE YES +'root'@'localhost' NULL CREATE ROUTINE YES +'root'@'localhost' NULL CREATE TEMPORARY TABLES YES +'root'@'localhost' NULL CREATE USER YES +'root'@'localhost' NULL CREATE VIEW YES +'root'@'localhost' NULL DELETE YES +'root'@'localhost' NULL DROP YES +'root'@'localhost' NULL EVENT YES +'root'@'localhost' NULL EXECUTE YES +'root'@'localhost' NULL FILE YES +'root'@'localhost' NULL INDEX YES +'root'@'localhost' NULL INSERT YES +'root'@'localhost' NULL LOCK TABLES YES +'root'@'localhost' NULL PROCESS YES +'root'@'localhost' NULL REFERENCES YES +'root'@'localhost' NULL RELOAD YES +'root'@'localhost' NULL REPLICATION CLIENT YES +'root'@'localhost' NULL REPLICATION SLAVE YES +'root'@'localhost' NULL SELECT YES +'root'@'localhost' NULL SHOW DATABASES YES +'root'@'localhost' NULL SHOW VIEW YES +'root'@'localhost' NULL SHUTDOWN YES +'root'@'localhost' NULL SUPER YES +'root'@'localhost' NULL TRIGGER YES +'root'@'localhost' NULL UPDATE YES select * from information_schema.column_privileges where table_schema like 'db_datadict%'; @@ -8481,14 +8459,14 @@ COLUMNS TABLE_CATALOG varchar(4096) COLUMNS TABLE_SCHEMA varchar(64) COLUMNS TABLE_NAME varchar(64) COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) +COLUMNS ORDINAL_POSITION bigint(21) unsigned COLUMNS COLUMN_DEFAULT longtext COLUMNS IS_NULLABLE varchar(3) COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) +COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned +COLUMNS CHARACTER_OCTET_LENGTH bigint(21) unsigned +COLUMNS NUMERIC_PRECISION bigint(21) unsigned +COLUMNS NUMERIC_SCALE bigint(21) unsigned COLUMNS CHARACTER_SET_NAME varchar(64) COLUMNS COLLATION_NAME varchar(64) COLUMNS COLUMN_TYPE longtext @@ -8513,6 +8491,7 @@ EVENTS EVENT_CATALOG varchar(64) EVENTS EVENT_SCHEMA varchar(64) EVENTS EVENT_NAME varchar(64) EVENTS DEFINER varchar(77) +EVENTS TIME_ZONE varchar(64) EVENTS EVENT_BODY varchar(8) EVENTS EVENT_DEFINITION longtext EVENTS EVENT_TYPE varchar(9) @@ -8522,12 +8501,13 @@ EVENTS INTERVAL_FIELD varchar(18) EVENTS SQL_MODE longtext EVENTS STARTS datetime EVENTS ENDS datetime -EVENTS STATUS varchar(8) +EVENTS STATUS varchar(18) EVENTS ON_COMPLETION varchar(12) EVENTS CREATED datetime EVENTS LAST_ALTERED datetime EVENTS LAST_EXECUTED datetime EVENTS EVENT_COMMENT varchar(64) +EVENTS ORIGINATOR bigint(10) FILES FILE_ID bigint(4) FILES FILE_NAME varchar(64) FILES FILE_TYPE varchar(20) @@ -8544,26 +8524,26 @@ FILES UPDATE_COUNT bigint(4) FILES FREE_EXTENTS bigint(4) FILES TOTAL_EXTENTS bigint(4) FILES EXTENT_SIZE bigint(4) -FILES INITIAL_SIZE bigint(21) -FILES MAXIMUM_SIZE bigint(21) -FILES AUTOEXTEND_SIZE bigint(21) +FILES INITIAL_SIZE bigint(21) unsigned +FILES MAXIMUM_SIZE bigint(21) unsigned +FILES AUTOEXTEND_SIZE bigint(21) unsigned FILES CREATION_TIME datetime FILES LAST_UPDATE_TIME datetime FILES LAST_ACCESS_TIME datetime FILES RECOVER_TIME bigint(4) FILES TRANSACTION_COUNTER bigint(4) -FILES VERSION bigint(21) +FILES VERSION bigint(21) unsigned FILES ROW_FORMAT varchar(10) -FILES TABLE_ROWS bigint(21) -FILES AVG_ROW_LENGTH bigint(21) -FILES DATA_LENGTH bigint(21) -FILES MAX_DATA_LENGTH bigint(21) -FILES INDEX_LENGTH bigint(21) -FILES DATA_FREE bigint(21) +FILES TABLE_ROWS bigint(21) unsigned +FILES AVG_ROW_LENGTH bigint(21) unsigned +FILES DATA_LENGTH bigint(21) unsigned +FILES MAX_DATA_LENGTH bigint(21) unsigned +FILES INDEX_LENGTH bigint(21) unsigned +FILES DATA_FREE bigint(21) unsigned FILES CREATE_TIME datetime FILES UPDATE_TIME datetime FILES CHECK_TIME datetime -FILES CHECKSUM bigint(21) +FILES CHECKSUM bigint(21) unsigned FILES STATUS varchar(20) FILES EXTRA varchar(255) GLOBAL_STATUS VARIABLE_NAME varchar(64) @@ -8587,23 +8567,23 @@ PARTITIONS TABLE_SCHEMA varchar(64) PARTITIONS TABLE_NAME varchar(64) PARTITIONS PARTITION_NAME varchar(64) PARTITIONS SUBPARTITION_NAME varchar(64) -PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) -PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) +PARTITIONS PARTITION_ORDINAL_POSITION bigint(21) unsigned +PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint(21) unsigned PARTITIONS PARTITION_METHOD varchar(12) PARTITIONS SUBPARTITION_METHOD varchar(12) PARTITIONS PARTITION_EXPRESSION longtext PARTITIONS SUBPARTITION_EXPRESSION longtext PARTITIONS PARTITION_DESCRIPTION longtext -PARTITIONS TABLE_ROWS bigint(21) -PARTITIONS AVG_ROW_LENGTH bigint(21) -PARTITIONS DATA_LENGTH bigint(21) -PARTITIONS MAX_DATA_LENGTH bigint(21) -PARTITIONS INDEX_LENGTH bigint(21) -PARTITIONS DATA_FREE bigint(21) +PARTITIONS TABLE_ROWS bigint(21) unsigned +PARTITIONS AVG_ROW_LENGTH bigint(21) unsigned +PARTITIONS DATA_LENGTH bigint(21) unsigned +PARTITIONS MAX_DATA_LENGTH bigint(21) unsigned +PARTITIONS INDEX_LENGTH bigint(21) unsigned +PARTITIONS DATA_FREE bigint(21) unsigned PARTITIONS CREATE_TIME datetime PARTITIONS UPDATE_TIME datetime PARTITIONS CHECK_TIME datetime -PARTITIONS CHECKSUM bigint(21) +PARTITIONS CHECKSUM bigint(21) unsigned PARTITIONS PARTITION_COMMENT varchar(80) PARTITIONS NODEGROUP varchar(12) PARTITIONS TABLESPACE_NAME varchar(64) @@ -8690,20 +8670,20 @@ TABLES TABLE_SCHEMA varchar(64) TABLES TABLE_NAME varchar(64) TABLES TABLE_TYPE varchar(64) TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) +TABLES VERSION bigint(21) unsigned TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) +TABLES TABLE_ROWS bigint(21) unsigned +TABLES AVG_ROW_LENGTH bigint(21) unsigned +TABLES DATA_LENGTH bigint(21) unsigned +TABLES MAX_DATA_LENGTH bigint(21) unsigned +TABLES INDEX_LENGTH bigint(21) unsigned +TABLES DATA_FREE bigint(21) unsigned +TABLES AUTO_INCREMENT bigint(21) unsigned TABLES CREATE_TIME datetime TABLES UPDATE_TIME datetime TABLES CHECK_TIME datetime TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) +TABLES CHECKSUM bigint(21) unsigned TABLES CREATE_OPTIONS varchar(255) TABLES TABLE_COMMENT varchar(80) TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) @@ -9903,14 +9883,14 @@ TABLE_CATALOG varchar(4096) YES NULL TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 +ORDINAL_POSITION bigint(21) unsigned NO 0 COLUMN_DEFAULT longtext YES NULL IS_NULLABLE varchar(3) NO DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL +CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL +CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL +NUMERIC_PRECISION bigint(21) unsigned YES NULL +NUMERIC_SCALE bigint(21) unsigned YES NULL CHARACTER_SET_NAME varchar(64) YES NULL COLLATION_NAME varchar(64) YES NULL COLUMN_TYPE longtext NO @@ -9925,14 +9905,14 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '', - `ORDINAL_POSITION` bigint(21) NOT NULL DEFAULT '0', + `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0', `COLUMN_DEFAULT` longtext, `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '', `DATA_TYPE` varchar(64) NOT NULL DEFAULT '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) DEFAULT NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) DEFAULT NULL, - `NUMERIC_PRECISION` bigint(21) DEFAULT NULL, - `NUMERIC_SCALE` bigint(21) DEFAULT NULL, + `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL, + `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL, + `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL, `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL, `COLLATION_NAME` varchar(64) DEFAULT NULL, `COLUMN_TYPE` longtext NOT NULL, @@ -9956,14 +9936,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10011,14 +9991,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10043,21 +10023,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -10074,26 +10056,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10117,23 +10099,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10220,20 +10202,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -10320,10 +10302,12 @@ NULL mysql event modified 9 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event starts 11 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references NULL mysql event ends 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL mysql event status 13 ENABLED NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED') select,insert,update,references +NULL mysql event status 13 ENABLED NO enum 18 54 NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NULL mysql event on_completion 14 DROP NO enum 8 24 NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NULL mysql event sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references NULL mysql event comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL int(10) select,insert,update,references +NULL mysql event time_zone 18 SYSTEM NO char 64 64 NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references @@ -10370,6 +10354,9 @@ NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enu NULL mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NULL mysql ndb_apply_status server_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references NULL mysql ndb_apply_status epoch 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL mysql ndb_apply_status log_name 3 NULL NO varchar 255 255 NULL NULL latin1 latin1_bin varchar(255) select,insert,update,references +NULL mysql ndb_apply_status start_pos 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL mysql ndb_apply_status end_pos 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references NULL mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references NULL mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references NULL mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references @@ -10387,9 +10374,9 @@ NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum(' NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references @@ -10798,14 +10785,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -10830,21 +10817,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -10861,26 +10850,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -10904,23 +10893,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11007,20 +10996,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -11374,14 +11363,14 @@ NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema COLUMNS COLUMN_TYPE 15 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select @@ -11406,21 +11395,23 @@ NULL information_schema EVENTS EVENT_CATALOG 1 NULL YES varchar 64 192 NULL NULL NULL information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema EVENTS EVENT_BODY 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS EVENT_DEFINITION 6 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS EVENT_TYPE 7 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema EVENTS EXECUTE_AT 8 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS INTERVAL_VALUE 9 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select -NULL information_schema EVENTS INTERVAL_FIELD 10 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select -NULL information_schema EVENTS SQL_MODE 11 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema EVENTS STARTS 12 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS ENDS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS STATUS 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema EVENTS ON_COMPLETION 15 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select -NULL information_schema EVENTS CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS LAST_EXECUTED 18 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema EVENTS EVENT_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema EVENTS EVENT_DEFINITION 7 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256) select +NULL information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS SQL_MODE 12 NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select +NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select +NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select NULL information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select @@ -11437,26 +11428,26 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select NULL information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select NULL information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11480,23 +11471,23 @@ NULL information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL u NULL information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -11583,20 +11574,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select @@ -11949,6 +11940,7 @@ COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME 1.0000 tinyblob NULL NULL 1.0000 varbinary NULL NULL 1.0000 char latin1 latin1_bin +1.0000 varchar latin1 latin1_bin 1.0000 char latin1 latin1_swedish_ci 1.0000 enum latin1 latin1_swedish_ci 1.0000 longtext latin1 latin1_swedish_ci @@ -12046,14 +12038,14 @@ NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext @@ -12078,6 +12070,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint( 3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) +3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) 1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) @@ -12087,12 +12080,13 @@ NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime 1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime -3.0000 information_schema EVENTS STATUS varchar 8 24 utf8 utf8_general_ci varchar(8) +3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18) 3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12) NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10) NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4) 3.0000 information_schema FILES FILE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20) @@ -12109,26 +12103,26 @@ NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TOTAL_EXTENTS bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES INITIAL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATION_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4) NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4) -NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema FILES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema FILES CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20) 3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12152,23 +12146,23 @@ NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NU 3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12) 1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema PARTITIONS DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12) 3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -12255,20 +12249,20 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) 3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) unsigned +NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime 3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) 3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) @@ -12355,10 +12349,12 @@ NULL mysql event modified timestamp NULL NULL NULL NULL timestamp NULL mysql event last_executed datetime NULL NULL NULL NULL datetime NULL mysql event starts datetime NULL NULL NULL NULL datetime NULL mysql event ends datetime NULL NULL NULL NULL datetime -3.0000 mysql event status enum 8 24 utf8 utf8_general_ci enum('ENABLED','DISABLED') +3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') 3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE') 3.0000 mysql event sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') 3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64) +NULL mysql event originator int NULL NULL NULL NULL int(10) +1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64) 3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) 3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) @@ -12405,6 +12401,9 @@ NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) 3.0000 mysql host Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') NULL mysql ndb_apply_status server_id int NULL NULL NULL NULL int(10) unsigned NULL mysql ndb_apply_status epoch bigint NULL NULL NULL NULL bigint(20) unsigned +1.0000 mysql ndb_apply_status log_name varchar 255 255 latin1 latin1_bin varchar(255) +NULL mysql ndb_apply_status start_pos bigint NULL NULL NULL NULL bigint(20) unsigned +NULL mysql ndb_apply_status end_pos bigint NULL NULL NULL NULL bigint(20) unsigned NULL mysql ndb_binlog_index Position bigint NULL NULL NULL NULL bigint(20) unsigned 1.0000 mysql ndb_binlog_index File varchar 255 255 latin1 latin1_swedish_ci varchar(255) NULL mysql ndb_binlog_index epoch bigint NULL NULL NULL NULL bigint(20) unsigned @@ -13611,20 +13610,20 @@ TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO TABLE_TYPE varchar(64) NO ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL +VERSION bigint(21) unsigned YES NULL ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL +TABLE_ROWS bigint(21) unsigned YES NULL +AVG_ROW_LENGTH bigint(21) unsigned YES NULL +DATA_LENGTH bigint(21) unsigned YES NULL +MAX_DATA_LENGTH bigint(21) unsigned YES NULL +INDEX_LENGTH bigint(21) unsigned YES NULL +DATA_FREE bigint(21) unsigned YES NULL +AUTO_INCREMENT bigint(21) unsigned YES NULL CREATE_TIME datetime YES NULL UPDATE_TIME datetime YES NULL CHECK_TIME datetime YES NULL TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL +CHECKSUM bigint(21) unsigned YES NULL CREATE_OPTIONS varchar(255) YES NULL TABLE_COMMENT varchar(80) NO SHOW CREATE TABLE tables; @@ -13635,20 +13634,20 @@ TABLES CREATE TEMPORARY TABLE `TABLES` ( `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '', `ENGINE` varchar(64) DEFAULT NULL, - `VERSION` bigint(21) DEFAULT NULL, + `VERSION` bigint(21) unsigned DEFAULT NULL, `ROW_FORMAT` varchar(10) DEFAULT NULL, - `TABLE_ROWS` bigint(21) DEFAULT NULL, - `AVG_ROW_LENGTH` bigint(21) DEFAULT NULL, - `DATA_LENGTH` bigint(21) DEFAULT NULL, - `MAX_DATA_LENGTH` bigint(21) DEFAULT NULL, - `INDEX_LENGTH` bigint(21) DEFAULT NULL, - `DATA_FREE` bigint(21) DEFAULT NULL, - `AUTO_INCREMENT` bigint(21) DEFAULT NULL, + `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL, + `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL, + `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL, + `DATA_FREE` bigint(21) unsigned DEFAULT NULL, + `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL, `CREATE_TIME` datetime DEFAULT NULL, `UPDATE_TIME` datetime DEFAULT NULL, `CHECK_TIME` datetime DEFAULT NULL, `TABLE_COLLATION` varchar(64) DEFAULT NULL, - `CHECKSUM` bigint(21) DEFAULT NULL, + `CHECKSUM` bigint(21) unsigned DEFAULT NULL, `CREATE_OPTIONS` varchar(255) DEFAULT NULL, `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT '' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 @@ -13668,20 +13667,20 @@ NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select @@ -13709,228 +13708,228 @@ GRANT SELECT ON db_datadict.v3 to 'user_3'@'localhost'; SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL root@localhost db_datadict SELECT * FROM information_schema.tables WHERE table_schema = 'information_schema'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# +NULL information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMNS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ENGINES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema EVENTS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema FILES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema GLOBAL_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PARTITIONS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PLUGINS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema PROCESSLIST SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema REFERENTIAL_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema ROUTINES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_STATUS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema SESSION_VARIABLES SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema STATISTICS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 10 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# +NULL information_schema VIEWS SYSTEM VIEW MyISAM 10 Dynamic NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL #CO# SELECT * FROM information_schema.tables WHERE NOT( table_schema = 'information_schema'); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL NULL VIEW -NULL mysql user BASE TABLE MyISAM 10 Dynamic 8 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Users and global privileges -NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Database privileges -NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Events -NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL User defined functions -NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL General log -NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help categories -NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help keywords -NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL keyword-topic relation -NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL help topics -NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Host privileges; Merged with database privileges -NULL mysql ndb_apply_status BASE TABLE NDBCLUSTER 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL MySQL plugins -NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Stored Procedures -NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Procedure privileges -NULL mysql servers BASE TABLE MyISAM 10 Fixed 1 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL MySQL Foreign Servers table -NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Slow log -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL Time zone transition types -NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL latin1_swedish_ci NULL number_of_replicas: 2 +NULL db_datadict tb1 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb2 BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict tb3 BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW +NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Users and global privileges +NULL mysql columns_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Column privileges +NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Database privileges +NULL mysql event BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Events +NULL mysql func BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL User defined functions +NULL mysql general_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL General log +NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories +NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords +NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation +NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics +NULL mysql host BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Host privileges; Merged with database privileges +NULL mysql ndb_apply_status BASE TABLE NDBCLUSTER 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL mysql ndb_binlog_index BASE TABLE MyISAM 10 Dynamic 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL mysql plugin BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL MySQL plugins +NULL mysql proc BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Stored Procedures +NULL mysql procs_priv BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Procedure privileges +NULL mysql servers BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL MySQL Foreign Servers table +NULL mysql slow_log BASE TABLE CSV 10 Dynamic 2 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Slow log +NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_bin NULL Table privileges +NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones +NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Leap seconds information for time zones +NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone names +NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transitions +NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zone transition types +NULL test t1 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t10 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t11 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t2 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t3 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t4 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t7 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t8 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test t9 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 +NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb2 BASE TABLE MyISAM 10 Dynamic 54 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb3 BASE TABLE MyISAM 10 Dynamic 11 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL +NULL test4 t6 BASE TABLE NDBCLUSTER 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL number_of_replicas: 2 DROP USER 'user_1'@'localhost'; DROP USER 'user_2'@'localhost'; DROP USER 'user_3'@'localhost'; @@ -14135,7 +14134,7 @@ NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 7 NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -14144,7 +14143,7 @@ NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A NULL NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE NULL mysql event 0 mysql PRIMARY 2 name A 0 NULL NULL BTREE NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE @@ -14170,7 +14169,7 @@ NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql servers 0 mysql PRIMARY 1 Server_name A 1 NULL NULL BTREE +NULL mysql servers 0 mysql PRIMARY 1 Server_name A 0 NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE @@ -14835,9 +14834,6 @@ ERROR 42S02: Unknown table 'parameters' in information_schema Testcase 3.2.20.1: -------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ DESC referential_constraints; Field Type Null Key Default Extra CONSTRAINT_CATALOG varchar(512) YES NULL @@ -14851,6 +14847,57 @@ UPDATE_RULE varchar(64) NO DELETE_RULE varchar(64) NO TABLE_NAME varchar(64) NO REFERENCED_TABLE_NAME varchar(64) NO +USE information_schema; +DESC referential_constraints; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(4096) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +UNIQUE_CONSTRAINT_CATALOG varchar(4096) YES NULL +UNIQUE_CONSTRAINT_SCHEMA varchar(64) NO +UNIQUE_CONSTRAINT_NAME varchar(64) NO +MATCH_OPTION varchar(64) NO +UPDATE_RULE varchar(64) NO +DELETE_RULE varchar(64) NO +TABLE_NAME varchar(64) NO +REFERENCED_TABLE_NAME varchar(64) NO +SHOW CREATE TABLE referential_constraints; +Table Create Table +REFERENTIAL_CONSTRAINTS CREATE TEMPORARY TABLE `REFERENTIAL_CONSTRAINTS` ( + `CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_CATALOG` varchar(4096) DEFAULT NULL, + `UNIQUE_CONSTRAINT_SCHEMA` varchar(64) NOT NULL DEFAULT '', + `UNIQUE_CONSTRAINT_NAME` varchar(64) NOT NULL DEFAULT '', + `MATCH_OPTION` varchar(64) NOT NULL DEFAULT '', + `UPDATE_RULE` varchar(64) NOT NULL DEFAULT '', + `DELETE_RULE` varchar(64) NOT NULL DEFAULT '', + `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', + `REFERENCED_TABLE_NAME` varchar(64) NOT NULL DEFAULT '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SELECT COUNT(*) FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +COUNT(*) +11 +SELECT * FROM information_schema.columns +WHERE table_schema = 'information_schema' + AND table_name = 'referential_constraints' +ORDER BY ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select *** End of Data Dictionary Tests *** -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/ndb_func_view.result b/mysql-test/suite/funcs_1/r/ndb_func_view.result index 9fde670680d..ab4508fb302 100644 --- a/mysql-test/suite/funcs_1/r/ndb_func_view.result +++ b/mysql-test/suite/funcs_1/r/ndb_func_view.result @@ -3935,13 +3935,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` @@ -3952,13 +3950,11 @@ CAST(my_time AS DATETIME) my_time id NULL NULL 1 0000-00-00 00:00:00 -838:59:59 2 0000-00-00 00:00:00 838:59:59 3 -0000-00-00 00:00:00 13:00:00 4 -0000-00-00 00:00:00 10:00:00 5 +0000-00-00 13:00:00 13:00:00 4 +0000-00-00 10:00:00 10:00:00 5 Warnings: Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59' -Warning 1292 Incorrect datetime value: '0000-00-00 13:00:00' -Warning 1292 Incorrect datetime value: '0000-00-00 10:00:00' DROP VIEW v1; diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result index 7a20bb28d3c..0157151e8be 100644 --- a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result @@ -132,7 +132,7 @@ f121 f122 f142 f144 f134 Test 3.5.1.1 Before Update Trigger 27 0000000008 1 select @test_before, @test_after; @test_before @test_after -2 2 +2 1 drop trigger trg1_1; drop trigger trg1_2; drop trigger trg1_3; @@ -200,6 +200,9 @@ CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1 for each row set new.f3 = '14'; CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; insert into t1 (f2) values ('insert 3.5.1.7'); select * from t1; f1 f2 f3 @@ -214,6 +217,8 @@ trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; +ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long +drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX; drop table t1; Testcase 3.5.1.8: diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_08.result b/mysql-test/suite/funcs_1/r/ndb_trig_08.result index ad42796b9e5..a60caec0144 100644 --- a/mysql-test/suite/funcs_1/r/ndb_trig_08.result +++ b/mysql-test/suite/funcs_1/r/ndb_trig_08.result @@ -493,8 +493,9 @@ BEGIN WHILE @counter1 < new.f136 SET @counter1 = @counter1 + 1; END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @counter1 < new.f136 +SET @counter1 = @counter1 + 1; +END' at line 3 delete from tb3 where f122='Test 3.5.8.5-while'; drop trigger trg7; diff --git a/mysql-test/suite/funcs_1/r/ndb_views.result b/mysql-test/suite/funcs_1/r/ndb_views.result index 2b92e819461..a8dba47ac6e 100644 --- a/mysql-test/suite/funcs_1/r/ndb_views.result +++ b/mysql-test/suite/funcs_1/r/ndb_views.result @@ -448,7 +448,8 @@ SET @x=0; CREATE or REPLACE VIEW v1 AS Select 1 INTO @x; ERROR HY000: View's SELECT contains a 'INTO' clause Select @x; -ERROR HY000: View's SELECT contains a variable or parameter +@x +0 CREATE or REPLACE VIEW v1 AS Select 1 FROM (SELECT 1 FROM t1) my_table; ERROR HY000: View's SELECT contains a subquery in the FROM clause @@ -585,7 +586,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp CREATE or REPLACE view v1 as Select f59, f60 from tb2 by group f59 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.5 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE VIEW v1 SELECT * FROM tb2 limit 100 ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2 limit 100' at line 1 @@ -605,7 +608,9 @@ CREATE VIEW v1 SELECT 1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1 CREATE VIEW v1 AS ; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.6 +-------------------------------------------------------------------------------- DROP VIEW IF EXISTS v1 ; CREATE or REPLACE VIEW v1 as SELECT * from tb2 limit 100 ; @@ -1790,7 +1795,9 @@ ERROR HY000: View's SELECT contains a subquery in the FROM clause SELECT * FROM test.v1 ; ERROR 42S02: Table 'test.v1' doesn't exist Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.40 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Set @var1 = 'ABC' ; Set @var2 = 'XYZ' ; @@ -1799,7 +1806,9 @@ ERROR HY000: View's SELECT contains a variable or parameter CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size; ERROR HY000: View's SELECT contains a variable or parameter Drop view if exists test.v1 ; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.41 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; Drop procedure if exists sp1 ; Create procedure sp1() DETERMINISTIC @@ -1816,7 +1825,9 @@ Warnings: Note 1051 Unknown table 'test.v1' Drop procedure sp1 ; ERROR 42000: PROCEDURE test.sp1 does not exist -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.42 +-------------------------------------------------------------------------------- Drop VIEW if exists test.v1 ; CREATE TEMPORARY VIEW test.v1 AS SELECT * FROM test.tb2 limit 2 ; @@ -1828,7 +1839,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT * FROM test.tb2 limit 2' at line 1 Drop view if exists test.v1 ; Use test; -ERROR HY000: View's SELECT contains a variable or parameter + +Testcase 3.3.1.43 +-------------------------------------------------------------------------------- Drop view if exists test.v1 ; CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2; INSERT INTO test.v1 values(122,432); diff --git a/mysql-test/suite/funcs_1/t/a_version_check.test b/mysql-test/suite/funcs_1/t/a_version_check.test deleted file mode 100644 index 60bd5b3c161..00000000000 --- a/mysql-test/suite/funcs_1/t/a_version_check.test +++ /dev/null @@ -1,29 +0,0 @@ -#### suite/funcs_1/t/a_version_check.test -# -# just a simple check of the version to be sure the correct server version is -# checked against the funcs_1 tests. - -# just show machine and version to be sure we are testing the correct files -# -let $message= . Just show the version string for which the results in suite - . funcs_1 have been checked. - . - . I know that the .result file of this check needs to - . updated with each new version --- THIS IS INTENDED!; ---source include/show_msg.inc - ---disable_query_log -SELECT CONCAT('funcs_1 checked with version: ', SUBSTR(version(), 1, 6 ) ) AS " "; -#SELECT CONCAT('aa = ', 'bb'); -#SELECT CONCAT('aa = ', 'bb') AS " "; - -if (0) -{ - # these more detailed results create differences between the OS. - # mioght be used later when we enable OS dependent .result files - --vertical_results - SELECT @@version_compile_os AS 'vers_comp_os', current_date; - SHOW VARIABLES LIKE 'vers%'; - --horizontal_results -} - diff --git a/mysql-test/suite/funcs_1/t/disabled.def b/mysql-test/suite/funcs_1/t/disabled.def index cfb16800c35..6833178a353 100644 --- a/mysql-test/suite/funcs_1/t/disabled.def +++ b/mysql-test/suite/funcs_1/t/disabled.def @@ -10,7 +10,6 @@ # ############################################################################## -innodb_storedproc: switched off (too much changed output from WL#2984, needs to be checked) -memory_storedproc: switched off (too much changed output from WL#2984, needs to be checked) -myisam_storedproc: switched off (too much changed output from WL#2984, needs to be checked) -~ +innodb_storedproc: (changes of WL#2984, using storeproc_nn instead) +memory_storedproc: (changes of WL#2984, using storeproc_nn instead) +myisam_storedproc: (changes of WL#2984, using storeproc_nn instead) diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc index ce06e0c0c3e..af94041d245 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc @@ -214,8 +214,14 @@ let $message= Testcase 3.5.1.7: - need to fix; eval create table t1 (f1 int, f2 char(25),f3 int) engine=$engine_type; CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1 for each row set new.f3 = '14'; +# In 5.0 names to long (more than 64 chars) were trimed without an error +# In 5.1 an error is returned. So adding a call with the expected error +# and one with a shorter name to validate proper execution + --error 1059 CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; + CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX + BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; insert into t1 (f2) values ('insert 3.5.1.7'); select * from t1; @@ -227,8 +233,10 @@ let $message= Testcase 3.5.1.7: - need to fix; --disable_warnings --error 0, 1360 drop trigger trg5_1; - # The above trigger should be dropped since the name was trimmed. + # In 5.1 the long name should generate an error that is to long + --error 1059 drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; + drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX; drop table t1; #Section 3.5.1.8 diff --git a/mysql-test/suite/funcs_1/views/views_master.inc b/mysql-test/suite/funcs_1/views/views_master.inc index 8f0eab5849d..0e3371bdb18 100644 --- a/mysql-test/suite/funcs_1/views/views_master.inc +++ b/mysql-test/suite/funcs_1/views/views_master.inc @@ -3036,7 +3036,9 @@ let $sublevel= `SELECT @max_level`; eval CREATE VIEW test1.v$level AS SELECT f1, f2 FROM test3.t1 tab1 NATURAL JOIN test1.v$sublevel tab2; eval SHOW CREATE VIEW test1.v$level; ---eror 1116 +# the following line as written as '--eror 1116' and the command +# is successful so assuming no expected error was intended +# --error 1116 eval SELECT CAST(f1 AS SIGNED INTEGER) AS f1, CAST(f2 AS CHAR) AS f2 FROM test1.v$level; let $message= The output of following EXPLAIN is deactivated, because the result @@ -3047,7 +3049,9 @@ if (1) { --disable_result_log } ---eror 1116 +# the following line as written as '--eror 1116' and the command +# is successful so assuming no expected error was intended +# --error 1116 eval EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1, CAST(f2 AS CHAR) AS f2 FROM test1.v$level; if (1) From 6511b280ca271dd042fb4cb7820769a45f3f3bf8 Mon Sep 17 00:00:00 2001 From: "joerg@trift2." <> Date: Thu, 3 May 2007 15:51:02 +0200 Subject: [PATCH 133/144] Better distinction between "CLEANFILES" and "DISTCLEANFILES" for some generated files (here: "scripts/mysql_fix_privilege_tables{.sql,_sql.c}"). Important for cross-builds. --- scripts/Makefile.am | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 754ca2ea4c0..d4944962884 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -16,7 +16,7 @@ ## Process this file with automake to create Makefile.in BUILT_SOURCES = mysql_fix_privilege_tables.sql \ - mysql_fix_privilege_tables_sql.c + mysql_fix_privilege_tables_sql.c EXTRA_PROGRAMS = comp_sql @@ -70,7 +70,6 @@ EXTRA_DIST = $(EXTRA_SCRIPTS) \ mysqlaccess.conf \ mysqlbug \ make_win_bin_dist \ - mysql_fix_privilege_tables.sql \ mysql_fix_privilege_tables_sql.c \ mysql_system_tables_fix.sql \ CMakeLists.txt @@ -100,13 +99,11 @@ CLEANFILES = @server_scripts@ \ mysql_tableinfo \ mysql_upgrade_shell \ mysqld_multi \ - make_win_src_distribution \ - mysql_fix_privilege_tables.sql \ - mysql_fix_privilege_tables_sql.c + make_win_src_distribution # mysqlbug should be distributed built so that people can report build # failures with it. -DISTCLEANFILES = mysqlbug +DISTCLEANFILES = $(BUILT_SOURCES) mysqlbug # We want the right version and configure comand line in mysqlbug mysqlbug: ${top_builddir}/config.status mysqlbug.sh @@ -122,11 +119,12 @@ mysql_fix_privilege_tables.sql: mysql_system_tables.sql \ # # Build mysql_fix_privilege_tables_sql.c from # mysql_fix_privileges_tables.sql using comp_sql -# The "sleep" ensures the generated file has a younger timestamp than its source. +# The "sleep" ensures the generated file has a younger timestamp than its source +# (which may have been generated in this very same "make" run). # mysql_fix_privilege_tables_sql.c: comp_sql.c mysql_fix_privilege_tables.sql $(MAKE) $(AM_MAKEFLAGS) comp_sql$(EXEEXT) - sleep 5 + sleep 2 $(top_builddir)/scripts/comp_sql$(EXEEXT) \ mysql_fix_privilege_tables \ $(top_srcdir)/scripts/mysql_fix_privilege_tables.sql $@ From 7f9411c156610819d470cb2786ef69850b4369fb Mon Sep 17 00:00:00 2001 From: "evgen@moonbone.local" <> Date: Fri, 4 May 2007 00:53:37 +0400 Subject: [PATCH 134/144] Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function. The generic string to int conversion was used by the Item_func_signed and the Item_func_unsigned classes to convert DATE/DATETIME values to the SIGNED/UNSIGNED type. But this conversion produces wrong results for such values. Now if the item which result has to be converted can return its result as longlong then the item->val_int() method is used to allow the item to carry out the conversion itself and return the correct result. This condition is checked in the Item_func_signed::val_int() and the Item_func_unsigned::val_int() functions. --- mysql-test/r/cast.result | 6 ++++++ mysql-test/t/cast.test | 6 ++++++ sql/item_func.cc | 6 ++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result index 23c38bb792c..f6f46bd4079 100644 --- a/mysql-test/r/cast.result +++ b/mysql-test/r/cast.result @@ -281,4 +281,10 @@ DROP TABLE t1; select isnull(date(NULL)), isnull(cast(NULL as DATE)); isnull(date(NULL)) isnull(cast(NULL as DATE)) 1 1 +SELECT CAST(cast('01-01-01' as date) AS UNSIGNED); +CAST(cast('01-01-01' as date) AS UNSIGNED) +20010101 +SELECT CAST(cast('01-01-01' as date) AS SIGNED); +CAST(cast('01-01-01' as date) AS SIGNED) +20010101 End of 4.1 tests diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test index 7e8ef031e6b..8eef66f9e1b 100644 --- a/mysql-test/t/cast.test +++ b/mysql-test/t/cast.test @@ -173,4 +173,10 @@ DROP TABLE t1; select isnull(date(NULL)), isnull(cast(NULL as DATE)); +# +# Bug#23656: Wrong result of CAST from DATE to int +# +SELECT CAST(cast('01-01-01' as date) AS UNSIGNED); +SELECT CAST(cast('01-01-01' as date) AS SIGNED); + --echo End of 4.1 tests diff --git a/sql/item_func.cc b/sql/item_func.cc index c6b2fa5cc3e..12bb6571369 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -477,7 +477,8 @@ longlong Item_func_signed::val_int() longlong value; int error; - if (args[0]->cast_to_int_type() != STRING_RESULT) + if (args[0]->cast_to_int_type() != STRING_RESULT || + args[0]->result_as_longlong()) { value= args[0]->val_int(); null_value= args[0]->null_value; @@ -529,7 +530,8 @@ longlong Item_func_unsigned::val_int() return (longlong) (dvalue + (dvalue > 0 ? 0.5 : -0.5)); } - if (args[0]->cast_to_int_type() != STRING_RESULT) + if (args[0]->cast_to_int_type() != STRING_RESULT || + args[0]->result_as_longlong()) { value= args[0]->val_int(); null_value= args[0]->null_value; From 6badb08ce30c7b96714e7df91b8d7cf008a7bbb9 Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Fri, 4 May 2007 10:48:51 +0300 Subject: [PATCH 135/144] Bug #27807. Non-correlated scalar subqueries may get executed in EXPLAIN at the optimization phase if they are part of a right hand sargable expression. If the scalar subquery uses a temp table to materialize its results it will replace the subquery structure from the parser with a simple select from the materialization table. As a result the EXPLAIN will crash as the temporary materialization table is not to be shown in EXPLAIN at all. Fixed by preserving the original query structure right after calling optimize() for scalar subqueries with temp tables executed during EXPLAIN. --- mysql-test/r/subselect.result | 8 ++++++++ mysql-test/t/subselect.test | 10 ++++++++++ sql/item_subselect.cc | 15 +++++++++++++++ sql/sql_select.cc | 36 +++++++++++++++++++++++++++-------- sql/sql_select.h | 1 + 5 files changed, 62 insertions(+), 8 deletions(-) diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 94075df57b4..2b16242fac2 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4012,3 +4012,11 @@ WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a; ERROR HY000: Invalid use of group function SET @@sql_mode=default; DROP TABLE t1; +CREATE TABLE t1 (a int, b int, KEY (a)); +INSERT INTO t1 VALUES (1,1),(2,1); +EXPLAIN SELECT 1 FROM t1 WHERE a = (SELECT COUNT(*) FROM t1 GROUP BY b); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t1 ref a a 5 const 1 Using where; Using index +2 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort +DROP TABLE t1; +End of 5.0 tests. diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index 482b3e883e6..123a1ef3282 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -2845,3 +2845,13 @@ SELECT a FROM t1 t0 SET @@sql_mode=default; DROP TABLE t1; + +# +# Bug #27807: Server crash when executing subquery with EXPLAIN +# +CREATE TABLE t1 (a int, b int, KEY (a)); +INSERT INTO t1 VALUES (1,1),(2,1); +EXPLAIN SELECT 1 FROM t1 WHERE a = (SELECT COUNT(*) FROM t1 GROUP BY b); +DROP TABLE t1; + +--echo End of 5.0 tests. diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index b3744d6eb96..a4d07e08473 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -1774,6 +1774,21 @@ int subselect_single_select_engine::exec() thd->lex->current_select= save_select; DBUG_RETURN(join->error ? join->error : 1); } + if (!select_lex->uncacheable && thd->lex->describe && + !(join->select_options & SELECT_DESCRIBE) && + join->need_tmp && item->const_item()) + { + /* + Force join->join_tmp creation, because this subquery will be replaced + by a simple select from the materialization temp table by optimize() + called by EXPLAIN and we need to preserve the initial query structure + so we can display it. + */ + select_lex->uncacheable|= UNCACHEABLE_EXPLAIN; + select_lex->master_unit()->uncacheable|= UNCACHEABLE_EXPLAIN; + if (join->init_save_join_tab()) + DBUG_RETURN(1); + } if (item->engine_changed) { DBUG_RETURN(1); diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 9b27daabc0e..499fed58c4b 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1426,14 +1426,13 @@ JOIN::optimize() } } - if (select_lex->uncacheable && !is_top_level_join()) - { - /* If this join belongs to an uncacheable subquery */ - if (!(tmp_join= (JOIN*)thd->alloc(sizeof(JOIN)))) - DBUG_RETURN(-1); - error= 0; // Ensure that tmp_join.error= 0 - restore_tmp(); - } + /* + If this join belongs to an uncacheable subquery save + the original join + */ + if (select_lex->uncacheable && !is_top_level_join() && + init_save_join_tab()) + DBUG_RETURN(-1); } error= 0; @@ -1495,6 +1494,27 @@ JOIN::reinit() DBUG_RETURN(0); } +/** + @brief Save the original join layout + + @details Saves the original join layout so it can be reused in + re-execution and for EXPLAIN. + + @return Operation status + @retval 0 success. + @retval 1 error occurred. +*/ + +bool +JOIN::init_save_join_tab() +{ + if (!(tmp_join= (JOIN*)thd->alloc(sizeof(JOIN)))) + return 1; + error= 0; // Ensure that tmp_join.error= 0 + restore_tmp(); + return 0; +} + bool JOIN::save_join_tab() diff --git a/sql/sql_select.h b/sql/sql_select.h index 9aa6fc1cfcd..5081366c10b 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -434,6 +434,7 @@ public: void cleanup(bool full); void clear(); bool save_join_tab(); + bool init_save_join_tab(); bool send_row_on_empty_set() { return (do_send_rows && tmp_table_param.sum_func_count != 0 && From 16d6bdfd751565f75c1d977032aab32e8b02d9fb Mon Sep 17 00:00:00 2001 From: "gluh@mysql.com/eagle.(none)" <> Date: Fri, 4 May 2007 14:41:58 +0500 Subject: [PATCH 136/144] Bug#28181 Access denied to 'information_schema when select into out file (regression) allow select into out file from I_S if user has FILE privilege otherwise issue an error --- mysql-test/r/outfile.result | Bin 1382 -> 2135 bytes mysql-test/t/outfile.test | 35 +++++++++++++++++++++++++++++++++++ sql/sql_parse.cc | 3 ++- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/outfile.result b/mysql-test/r/outfile.result index 023c4ea205f4c5a038bf841e341968343f71ad5e..8503df545d2d0bfc67d5c8aa9e6e8a51ca23d5ca 100644 GIT binary patch delta 766 zcmb`_y-ve05C`yy#S@Qk%3`U4G@wpoDFZW7XQaw?F0F+>g6$S%$}90UyaCU_If(*N zVTjZvQFQ+J=XdwTKCeIOt4?|p5up-M>_k8?ZFtiWLoC@?ItKKR9^1RMc2ekrOVzy> zHiFO^oc-CAFCe-I_wpJPcFPE2J(Mu Kllaual6?b_NfAN- delta 7 OcmcaE@QiCi8Y=(|&jRxR diff --git a/mysql-test/t/outfile.test b/mysql-test/t/outfile.test index 7c90fd32909..f285407efd4 100644 --- a/mysql-test/t/outfile.test +++ b/mysql-test/t/outfile.test @@ -96,3 +96,38 @@ create table t1(a int); eval select * into outfile "$MYSQL_TEST_DIR/outfile-test1" from t1; drop table t1; +# +# Bug#28181 Access denied to 'information_schema when +# select into out file (regression) +# +create database mysqltest; +create user user_1@localhost; +grant all on mysqltest.* to user_1@localhost; +connect (con28181_1,localhost,user_1,,mysqltest); + +--error 1044 +eval select schema_name +into outfile "../tmp/outfile-test.4" +fields terminated by ',' optionally enclosed by '"' + lines terminated by '\n' +from information_schema.schemata +where schema_name like 'mysqltest'; + +connection default; +grant file on *.* to user_1@localhost; + +connect (con28181_2,localhost,user_1,,mysqltest); +eval select schema_name +into outfile "../tmp/outfile-test.4" +fields terminated by ',' optionally enclosed by '"' + lines terminated by '\n' +from information_schema.schemata +where schema_name like 'mysqltest'; + +connection default; +--exec rm $MYSQLTEST_VARDIR/tmp/outfile-test.4 +use test; +revoke all privileges on *.* from user_1@localhost; +drop user user_1@localhost; +drop database mysqltest; + diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 35089bbb251..3ca0c78d96a 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5261,7 +5261,8 @@ check_access(THD *thd, ulong want_access, const char *db, ulong *save_priv, if (schema_db) { - if (want_access & ~(SELECT_ACL | EXTRA_ACL)) + if (!(sctx->master_access & FILE_ACL) && (want_access & FILE_ACL) || + (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) { if (!no_errors) { From 76bedc6a0374cc56970acc9474e338d9392145af Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Fri, 4 May 2007 12:19:06 +0200 Subject: [PATCH 137/144] bugfix in checksum with force varpart --- mysql-test/mysql-test-run.pl | 2 +- mysql-test/r/ndb_row_format.result | 26 +++++++++++++++++++ mysql-test/t/ndb_row_format.test | 24 +++++++++++++++++ .../kernel/blocks/dbtup/DbtupExecQuery.cpp | 6 +++++ 4 files changed, 57 insertions(+), 1 deletion(-) diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 2de7c507dc3..5d9e42fa7d7 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2487,7 +2487,7 @@ sub ndbcluster_start_install ($) { else { $ndb_no_ord=32; - $ndb_con_op=5000; + $ndb_con_op=10000; $ndb_dmem="20M"; $ndb_imem="1M"; $ndb_pbmem="4M"; diff --git a/mysql-test/r/ndb_row_format.result b/mysql-test/r/ndb_row_format.result index 6db289c75aa..ae165d87c5c 100644 --- a/mysql-test/r/ndb_row_format.result +++ b/mysql-test/r/ndb_row_format.result @@ -37,3 +37,29 @@ ROW_FORMAT=DYNAMIC ENGINE=NDB; ForceVarPart: 1 DROP TABLE t1; +create table t1 (a int auto_increment primary key, b varchar(1000)) engine = ndb; +insert into t1(b) values ('0123456789'); +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +select count(*) from t1; +count(*) +1024 +begin; +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +rollback; +select count(*),b from t1 group by b; +count(*) b +1024 0123456789 +drop table t1; diff --git a/mysql-test/t/ndb_row_format.test b/mysql-test/t/ndb_row_format.test index 9668d8ea515..b1582cbe339 100644 --- a/mysql-test/t/ndb_row_format.test +++ b/mysql-test/t/ndb_row_format.test @@ -60,3 +60,27 @@ CREATE TABLE t1 ENGINE=NDB; --exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart DROP TABLE t1; + +# test of bug +create table t1 (a int auto_increment primary key, b varchar(1000)) engine = ndb; +insert into t1(b) values ('0123456789'); +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +insert into t1(b) select b from t1; +select count(*) from t1; +begin; +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +update t1 set b = concat(b,b); +rollback; +select count(*),b from t1 group by b; +drop table t1; diff --git a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp index ce337afb20b..69b2d6d116e 100644 --- a/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp @@ -2846,6 +2846,12 @@ Dbtup::handle_size_change_after_update(KeyReqStruct* req_struct, if (unlikely(realloc_var_part(regFragPtr, regTabPtr, pagePtr, refptr, alloc, needed))) return -1; + + if (regTabPtr->m_bits & Tablerec::TR_Checksum) + { + jam(); + setChecksum(org, regTabPtr); + } } req_struct->m_tuple_ptr->m_header_bits = copy_bits; return 0; From d11e1f248bbf6fef285ba068e640b07139b23753 Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Fri, 4 May 2007 16:43:29 +0300 Subject: [PATCH 138/144] Bug #27531: the 4.1 fix. When checking for applicability of join cache we must disable its usage only if there is no temp table in use. When a temp table is used we can use join cache (and it will not make the result-set unordered) to fill the temp table. The filesort() operation is then applied to the data in the temp table and hence is not affected by join cache usage. Fixed by narrowing the condition for disabling join cache to exclude the case where temp table is used. --- mysql-test/r/join.result | 50 ++++++++++++++++++++++++++++++++++++++++ mysql-test/t/join.test | 24 +++++++++++++++++++ sql/sql_select.cc | 9 +++++--- 3 files changed, 80 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result index dc763472b0e..9ac8825fcb8 100644 --- a/mysql-test/r/join.result +++ b/mysql-test/r/join.result @@ -376,3 +376,53 @@ i i i 2 NULL 4 2 2 2 drop table t1,t2,t3; +CREATE TABLE t1 (a int, b int default 0, c int default 1); +INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8); +INSERT INTO t1 (a) SELECT a + 8 FROM t1; +INSERT INTO t1 (a) SELECT a + 16 FROM t1; +CREATE TABLE t2 (a int, d int, e int default 0); +INSERT INTO t2 (a, d) VALUES (1,1),(2,2),(3,3),(4,4); +INSERT INTO t2 (a, d) SELECT a+4, a+4 FROM t2; +INSERT INTO t2 (a, d) SELECT a+8, a+8 FROM t2; +EXPLAIN +SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e +ORDER BY t1.b, t1.c; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 32 Using temporary; Using filesort +1 SIMPLE t2 ALL NULL NULL NULL NULL 16 Using where +SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e +ORDER BY t1.b, t1.c; +e +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +DROP TABLE t1,t2; diff --git a/mysql-test/t/join.test b/mysql-test/t/join.test index 2715f30b6cf..0fe5de8c9b7 100644 --- a/mysql-test/t/join.test +++ b/mysql-test/t/join.test @@ -326,4 +326,28 @@ select t1.i,t2.i,t3.i from t2 natural right join t3,t1 order by t1.i,t2.i,t3.i; select t1.i,t2.i,t3.i from t2 right join t3 on (t2.i=t3.i),t1 order by t1.i,t2.i,t3.i; drop table t1,t2,t3; +# +# Bug #27531: Query performance degredation in 4.1.22 and greater +# +CREATE TABLE t1 (a int, b int default 0, c int default 1); + +INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8); +INSERT INTO t1 (a) SELECT a + 8 FROM t1; +INSERT INTO t1 (a) SELECT a + 16 FROM t1; + +CREATE TABLE t2 (a int, d int, e int default 0); + +INSERT INTO t2 (a, d) VALUES (1,1),(2,2),(3,3),(4,4); +INSERT INTO t2 (a, d) SELECT a+4, a+4 FROM t2; +INSERT INTO t2 (a, d) SELECT a+8, a+8 FROM t2; + +# should use join cache +EXPLAIN +SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e + ORDER BY t1.b, t1.c; +SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e + ORDER BY t1.b, t1.c; + +DROP TABLE t1,t2; + # End of 4.1 tests diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 36a15841065..656d1b5639a 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -3939,14 +3939,17 @@ make_join_readinfo(JOIN *join, uint options) disable join cache because it will change the ordering of the results. Code handles sort table that is at any location (not only first after the const tables) despite the fact that it's currently prohibited. + We must disable join cache if the first non-const table alone is + ordered. If there is a temp table the ordering is done as a last + operation and doesn't prevent join cache usage. */ - if (!ordered_set && - (table == join->sort_by_table && + if (!ordered_set && !join->need_tmp && + ((table == join->sort_by_table && (!join->order || join->skip_sort_order || test_if_skip_sort_order(tab, join->order, join->select_limit, 1)) ) || - (join->sort_by_table == (TABLE *) 1 && i != join->const_tables)) + (join->sort_by_table == (TABLE *) 1 && i != join->const_tables))) ordered_set= 1; switch (tab->type) { From 5b4448ef704fedf9d6cbb15a6fec0261717dec0e Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Fri, 4 May 2007 17:33:41 +0300 Subject: [PATCH 139/144] post merge (5.0-opt -> 5.1-opt) fixes --- mysql-test/r/subselect.result | 1 - 1 file changed, 1 deletion(-) diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 6f01217c1a0..1859fe26791 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4042,7 +4042,6 @@ id select_type table type possible_keys key key_len ref rows Extra 2 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort DROP TABLE t1; End of 5.0 tests. -End of 5.0 tests. CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (2,22),(1,11),(2,22); SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a; From 239f727b7e58dd4dd7d89906baf6858605185c15 Mon Sep 17 00:00:00 2001 From: "evgen@moonbone.local" <> Date: Fri, 4 May 2007 18:57:10 +0400 Subject: [PATCH 140/144] Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. The LEAST/GREATEST functions compared DATE/DATETIME values as strings which in some cases could lead to a wrong result. A new member function called cmp_datetimes() is added to the Item_func_min_max class. It compares arguments in DATETIME context and returns index of the least/greatest argument. The Item_func_min_max::fix_length_and_dec() function now detects when arguments should be compared in DATETIME context and sets the newly added flag compare_as_dates. It indicates that the cmp_datetimes() function should be called to get a correct result. Item_func_min_max::val_xxx() methods are corrected to call the cmp_datetimes() function when needed. Objects of the Item_splocal class now stores and reports correct original field type. --- mysql-test/r/sp-vars.result | 4 +- mysql-test/r/type_datetime.result | 30 +++++++++++ mysql-test/t/type_datetime.test | 26 +++++++++ sql/item.cc | 1 + sql/item.h | 3 +- sql/item_cmpfunc.cc | 4 +- sql/item_func.cc | 90 +++++++++++++++++++++++++++++++ sql/item_func.h | 10 +++- sql/mysql_priv.h | 2 + 9 files changed, 164 insertions(+), 6 deletions(-) diff --git a/mysql-test/r/sp-vars.result b/mysql-test/r/sp-vars.result index 6090dfdf737..b112c6bece6 100644 --- a/mysql-test/r/sp-vars.result +++ b/mysql-test/r/sp-vars.result @@ -690,12 +690,12 @@ END| CALL p1(NOW()); Table Create Table t1 CREATE TABLE "t1" ( - "x" varbinary(19) default NULL + "x" datetime default NULL ) CALL p1('test'); Table Create Table t1 CREATE TABLE "t1" ( - "x" varbinary(19) default NULL + "x" datetime default NULL ) Warnings: Warning 1264 Out of range value adjusted for column 'x' at row 1 diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index 3a28410b7dc..3a7313f48eb 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -264,3 +264,33 @@ f2 SELECT 1 from dual where NOW() BETWEEN CURRENT_DATE() - INTERVAL 1 DAY AND CURRENT_DATE(); 1 drop table t1; +select least(cast('01-01-01' as date), '01-01-02'); +least(cast('01-01-01' as date), '01-01-02') +2001-01-01 +select greatest(cast('01-01-01' as date), '01-01-02'); +greatest(cast('01-01-01' as date), '01-01-02') +01-01-02 +select least(cast('01-01-01' as date), '01-01-02') + 0; +least(cast('01-01-01' as date), '01-01-02') + 0 +20010101 +select greatest(cast('01-01-01' as date), '01-01-02') + 0; +greatest(cast('01-01-01' as date), '01-01-02') + 0 +20010102 +select least(cast('01-01-01' as datetime), '01-01-02') + 0; +least(cast('01-01-01' as datetime), '01-01-02') + 0 +20010101000000 +DROP PROCEDURE IF EXISTS test27759 ; +CREATE PROCEDURE test27759() +BEGIN +declare v_a date default '2007-4-10'; +declare v_b date default '2007-4-11'; +declare v_c datetime default '2004-4-9 0:0:0'; +select v_a as a,v_b as b, +least( v_a, v_b ) as a_then_b, +least( v_b, v_a ) as b_then_a, +least( v_c, v_a ) as c_then_a; +END;| +call test27759(); +a b a_then_b b_then_a c_then_a +2007-04-10 2007-04-11 2007-04-10 2007-04-10 2004-04-09 00:00:00 +drop procedure test27759; diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test index fc7b20d77a4..c82dee168d2 100644 --- a/mysql-test/t/type_datetime.test +++ b/mysql-test/t/type_datetime.test @@ -178,3 +178,29 @@ select f2, f3 from t1 where '01-03-10' between f2 and f3; select f2 from t1 where DATE(f2) between "2001-4-15" AND "01-4-15"; SELECT 1 from dual where NOW() BETWEEN CURRENT_DATE() - INTERVAL 1 DAY AND CURRENT_DATE(); drop table t1; + +# +# Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. +# +select least(cast('01-01-01' as date), '01-01-02'); +select greatest(cast('01-01-01' as date), '01-01-02'); +select least(cast('01-01-01' as date), '01-01-02') + 0; +select greatest(cast('01-01-01' as date), '01-01-02') + 0; +select least(cast('01-01-01' as datetime), '01-01-02') + 0; +--disable_warnings +DROP PROCEDURE IF EXISTS test27759 ; +--enable_warnings +DELIMITER |; +CREATE PROCEDURE test27759() +BEGIN +declare v_a date default '2007-4-10'; +declare v_b date default '2007-4-11'; +declare v_c datetime default '2004-4-9 0:0:0'; +select v_a as a,v_b as b, + least( v_a, v_b ) as a_then_b, + least( v_b, v_a ) as b_then_a, + least( v_c, v_a ) as c_then_a; +END;| +DELIMITER ;| +call test27759(); +drop procedure test27759; diff --git a/sql/item.cc b/sql/item.cc index 28729e9936f..30486e7559a 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -1011,6 +1011,7 @@ Item_splocal::Item_splocal(const LEX_STRING &sp_var_name, maybe_null= TRUE; m_type= sp_map_item_type(sp_var_type); + m_field_type= sp_var_type; m_result_type= sp_map_result_type(sp_var_type); } diff --git a/sql/item.h b/sql/item.h index 43afbd30d47..18a05b0b4ad 100644 --- a/sql/item.h +++ b/sql/item.h @@ -946,7 +946,7 @@ class Item_splocal :public Item_sp_variable, Type m_type; Item_result m_result_type; - + enum_field_types m_field_type; public: /* Position of this reference to SP variable in the statement (the @@ -978,6 +978,7 @@ public: inline enum Type type() const; inline Item_result result_type() const; + inline enum_field_types field_type() const { return m_field_type; } private: bool set_value(THD *thd, sp_rcontext *ctx, Item **it); diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 66c73dd910e..5d614e7cd04 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -745,7 +745,7 @@ void Arg_comparator::set_datetime_cmp_func(Item **a1, Item **b1) obtained value */ -static ulonglong +ulonglong get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, Item *warn_item, bool *is_null) { @@ -781,7 +781,7 @@ get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, MYSQL_TYPE_DATE ? MYSQL_TIMESTAMP_DATE : MYSQL_TIMESTAMP_DATETIME; value= get_date_from_str(thd, str, t_type, warn_item->name, &error); } - if (item->const_item()) + if (item->const_item() && cache_arg) { Item_cache_int *cache= new Item_cache_int(); /* Mark the cache as non-const to prevent re-caching. */ diff --git a/sql/item_func.cc b/sql/item_func.cc index 503b4362e7a..4ee6af37dad 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2120,6 +2120,7 @@ double Item_func_units::val_real() void Item_func_min_max::fix_length_and_dec() { int max_int_part=0; + bool datetime_found= FALSE; decimals=0; max_length=0; maybe_null=0; @@ -2133,18 +2134,88 @@ void Item_func_min_max::fix_length_and_dec() if (args[i]->maybe_null) maybe_null=1; cmp_type=item_cmp_type(cmp_type,args[i]->result_type()); + if (args[i]->result_type() != ROW_RESULT && args[i]->is_datetime()) + { + datetime_found= TRUE; + if (!datetime_item || args[i]->field_type() == MYSQL_TYPE_DATETIME) + datetime_item= args[i]; + } } if (cmp_type == STRING_RESULT) + { agg_arg_charsets(collation, args, arg_count, MY_COLL_CMP_CONV, 1); + if (datetime_found) + { + thd= current_thd; + compare_as_dates= TRUE; + } + } else if ((cmp_type == DECIMAL_RESULT) || (cmp_type == INT_RESULT)) max_length= my_decimal_precision_to_length(max_int_part+decimals, decimals, unsigned_flag); } +/* + Compare item arguments in the DATETIME context. + + SYNOPSIS + cmp_datetimes() + value [out] found least/greatest DATE/DATETIME value + + DESCRIPTION + Compare item arguments as DATETIME values and return the index of the + least/greatest argument in the arguments array. + The correct integer DATE/DATETIME value of the found argument is + stored to the value pointer, if latter is provided. + + RETURN + 0 If one of arguments is NULL + # index of the least/greatest argument +*/ + +uint Item_func_min_max::cmp_datetimes(ulonglong *value) +{ + ulonglong min_max; + uint min_max_idx= 0; + LINT_INIT(min_max); + + for (uint i=0; i < arg_count ; i++) + { + Item **arg= args + i; + bool is_null; + ulonglong res= get_datetime_value(thd, &arg, 0, datetime_item, &is_null); + if ((null_value= args[i]->null_value)) + return 0; + if (i == 0 || (res < min_max ? cmp_sign : -cmp_sign) > 0) + { + min_max= res; + min_max_idx= i; + } + } + if (value) + { + *value= min_max; + if (datetime_item->field_type() == MYSQL_TYPE_DATE) + *value/= 1000000L; + } + return min_max_idx; +} + + String *Item_func_min_max::val_str(String *str) { DBUG_ASSERT(fixed == 1); + if (compare_as_dates) + { + String *str_res; + uint min_max_idx= cmp_datetimes(NULL); + if (null_value) + return 0; + str_res= args[min_max_idx]->val_str(str); + str_res->set_charset(collation.collation); + return str_res; + } switch (cmp_type) { case INT_RESULT: { @@ -2212,6 +2283,12 @@ double Item_func_min_max::val_real() { DBUG_ASSERT(fixed == 1); double value=0.0; + if (compare_as_dates) + { + ulonglong result; + (void)cmp_datetimes(&result); + return (double)result; + } for (uint i=0; i < arg_count ; i++) { if (i == 0) @@ -2233,6 +2310,12 @@ longlong Item_func_min_max::val_int() { DBUG_ASSERT(fixed == 1); longlong value=0; + if (compare_as_dates) + { + ulonglong result; + (void)cmp_datetimes(&result); + return (longlong)result; + } for (uint i=0; i < arg_count ; i++) { if (i == 0) @@ -2256,6 +2339,13 @@ my_decimal *Item_func_min_max::val_decimal(my_decimal *dec) my_decimal tmp_buf, *tmp, *res; LINT_INIT(res); + if (compare_as_dates) + { + ulonglong value; + (void)cmp_datetimes(&value); + ulonglong2decimal(value, dec); + return dec; + } for (uint i=0; i < arg_count ; i++) { if (i == 0) diff --git a/sql/item_func.h b/sql/item_func.h index ec5d6bcda02..99e5328c39c 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -693,15 +693,23 @@ class Item_func_min_max :public Item_func Item_result cmp_type; String tmp_value; int cmp_sign; + /* TRUE <=> arguments should be compared in the DATETIME context. */ + bool compare_as_dates; + /* An item used for issuing warnings while string to DATETIME conversion. */ + Item *datetime_item; + THD *thd; + public: Item_func_min_max(List &list,int cmp_sign_arg) :Item_func(list), - cmp_type(INT_RESULT), cmp_sign(cmp_sign_arg) {} + cmp_type(INT_RESULT), cmp_sign(cmp_sign_arg), compare_as_dates(FALSE), + datetime_item(0) {} double val_real(); longlong val_int(); String *val_str(String *); my_decimal *val_decimal(my_decimal *); void fix_length_and_dec(); enum Item_result result_type () const { return cmp_type; } + uint cmp_datetimes(ulonglong *value); }; class Item_func_min :public Item_func_min_max diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 7e873dd7cc6..9995afb8287 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1525,6 +1525,8 @@ void make_date(const DATE_TIME_FORMAT *format, const TIME *l_time, String *str); void make_time(const DATE_TIME_FORMAT *format, const TIME *l_time, String *str); +ulonglong get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, + Item *warn_item, bool *is_null); int test_if_number(char *str,int *res,bool allow_wildcards); void change_byte(byte *,uint,char,char); From 306371a8508606642bd606aa68b41ad9e3e1fed5 Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Fri, 4 May 2007 18:06:06 +0300 Subject: [PATCH 141/144] bug #27531: 5.1 part of the fix: - added join cache indication in EXPLAIN (Extra column). - prefer filesort over full scan over index for ORDER BY (because it's faster). - when switching from REF to RANGE because RANGE uses longer key turn off sort on the head table only as the resulting RANGE access is a candidate for join cache and we don't want to disable it by sorting on the first table only. --- mysql-test/r/archive_gis.result | 2 +- mysql-test/r/compress.result | 6 +- mysql-test/r/ctype_utf8.result | 2 +- mysql-test/r/derived.result | 10 +- mysql-test/r/distinct.result | 12 +- mysql-test/r/func_group.result | 4 +- mysql-test/r/func_group_innodb.result | 4 +- mysql-test/r/gis.result | 2 +- mysql-test/r/greedy_optimizer.result | 236 ++++++++++----------- mysql-test/r/group_by.result | 4 +- mysql-test/r/group_min_max.result | 2 +- mysql-test/r/index_merge_myisam.result | 8 +- mysql-test/r/information_schema.result | 2 +- mysql-test/r/innodb_gis.result | 2 +- mysql-test/r/innodb_mysql.result | 4 +- mysql-test/r/join.result | 2 +- mysql-test/r/join_nested.result | 26 +-- mysql-test/r/key_diff.result | 2 +- mysql-test/r/myisam.result | 6 +- mysql-test/r/ndb_condition_pushdown.result | 4 +- mysql-test/r/ndb_gis.result | 4 +- mysql-test/r/range.result | 16 +- mysql-test/r/row.result | 2 +- mysql-test/r/select.result | 20 +- mysql-test/r/ssl.result | 6 +- mysql-test/r/ssl_compress.result | 6 +- mysql-test/r/subselect.result | 4 +- mysql-test/r/subselect3.result | 2 +- mysql-test/r/union.result | 2 +- mysql-test/r/view.result | 2 +- sql/sql_select.cc | 14 ++ 31 files changed, 216 insertions(+), 202 deletions(-) diff --git a/mysql-test/r/archive_gis.result b/mysql-test/r/archive_gis.result index 6f8175bd609..71eeb063d59 100644 --- a/mysql-test/r/archive_gis.result +++ b/mysql-test/r/archive_gis.result @@ -402,7 +402,7 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort; Using join cache 1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Warnings: Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` diff --git a/mysql-test/r/compress.result b/mysql-test/r/compress.result index 11b15ed7675..2eced78b07a 100644 --- a/mysql-test/r/compress.result +++ b/mysql-test/r/compress.result @@ -611,11 +611,11 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t3 ref period period 4 test.t1.period 4181 explain select * from t3 as t1,t3 where t1.period=t3.period order by t3.period limit 10; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t3 index period period 4 NULL 41810 +1 SIMPLE t3 ALL period NULL NULL NULL 41810 Using filesort 1 SIMPLE t1 ref period period 4 test.t3.period 4181 explain select * from t3 as t1,t3 where t1.period=t3.period order by t1.period limit 10; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index period period 4 NULL 41810 +1 SIMPLE t1 ALL period NULL NULL NULL 41810 Using filesort 1 SIMPLE t3 ref period period 4 test.t1.period 4181 select period from t1; period @@ -1434,7 +1434,7 @@ companynr companynr 41 40 explain select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t4 index NULL PRIMARY 1 NULL 12 Using index; Using temporary +1 SIMPLE t4 index NULL PRIMARY 1 NULL 12 Using index; Using temporary; Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where select t2.fld1,t2.companynr,fld3,period from t3,t2 where t2.fld1 = 38208 and t2.fld1=t3.t2nr and period = 1008 or t2.fld1 = 38008 and t2.fld1 =t3.t2nr and period = 1008; fld1 companynr fld3 period diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result index d76d89d5630..3abba528164 100644 --- a/mysql-test/r/ctype_utf8.result +++ b/mysql-test/r/ctype_utf8.result @@ -1454,7 +1454,7 @@ insert into t1 values ('123'), ('456'); explain select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE Y ALL NULL NULL NULL NULL 2 Using temporary; Using filesort +1 SIMPLE Y ALL NULL NULL NULL NULL 2 Using temporary; Using filesort; Using join cache 1 SIMPLE Z ALL NULL NULL NULL NULL 2 Using where select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1; substr(Z.a,-1) a diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result index 3a098308b49..750d542d14d 100644 --- a/mysql-test/r/derived.result +++ b/mysql-test/r/derived.result @@ -57,7 +57,7 @@ a b a b 3 c 3 c explain select * from t1 as x1, (select * from t1) as x2; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY x1 ALL NULL NULL NULL NULL 4 +1 PRIMARY x1 ALL NULL NULL NULL NULL 4 Using join cache 1 PRIMARY ALL NULL NULL NULL NULL 4 2 DERIVED t1 ALL NULL NULL NULL NULL 4 drop table if exists t2,t3; @@ -188,13 +188,13 @@ pla_id test 105 3 explain SELECT STRAIGHT_JOIN d.pla_id, m2.mat_id FROM t1 m2 INNER JOIN (SELECT mp.pla_id, MIN(m1.matintnum) AS matintnum FROM t2 mp INNER JOIN t1 m1 ON mp.mat_id=m1.mat_id GROUP BY mp.pla_id) d ON d.matintnum=m2.matintnum; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY m2 ALL NULL NULL NULL NULL 9 +1 PRIMARY m2 ALL NULL NULL NULL NULL 9 Using join cache 1 PRIMARY ALL NULL NULL NULL NULL 6 Using where 2 DERIVED mp ALL NULL NULL NULL NULL 9 Using temporary; Using filesort 2 DERIVED m1 eq_ref PRIMARY PRIMARY 3 test.mp.mat_id 1 explain SELECT STRAIGHT_JOIN d.pla_id, m2.test FROM t1 m2 INNER JOIN (SELECT mp.pla_id, MIN(m1.matintnum) AS matintnum FROM t2 mp INNER JOIN t1 m1 ON mp.mat_id=m1.mat_id GROUP BY mp.pla_id) d ON d.matintnum=m2.matintnum; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY m2 ALL NULL NULL NULL NULL 9 +1 PRIMARY m2 ALL NULL NULL NULL NULL 9 Using join cache 1 PRIMARY ALL NULL NULL NULL NULL 6 Using where 2 DERIVED mp ALL NULL NULL NULL NULL 9 Using temporary; Using filesort 2 DERIVED m1 eq_ref PRIMARY PRIMARY 3 test.mp.mat_id 1 @@ -245,7 +245,7 @@ a a 2 2 explain select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY ALL NULL NULL NULL NULL 2 +1 PRIMARY ALL NULL NULL NULL NULL 2 Using join cache 1 PRIMARY ALL NULL NULL NULL NULL 2 4 DERIVED t1 ALL NULL NULL NULL NULL 2 5 UNION t1 ALL NULL NULL NULL NULL 2 @@ -312,7 +312,7 @@ b 3.5000 explain SELECT s.name, AVG(s.val) AS median FROM (SELECT x.name, x.val FROM t1 x, t1 y WHERE x.name=y.name GROUP BY x.name, x.val HAVING SUM(y.val <= x.val) >= COUNT(*)/2 AND SUM(y.val >= x.val) >= COUNT(*)/2) AS s GROUP BY s.name; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY ALL NULL NULL NULL NULL 3 Using temporary; Using filesort -2 DERIVED x ALL NULL NULL NULL NULL 17 Using temporary; Using filesort +2 DERIVED x ALL NULL NULL NULL NULL 17 Using temporary; Using filesort; Using join cache 2 DERIVED y ALL NULL NULL NULL NULL 17 Using where drop table t1; create table t2 (a int, b int, primary key (a)); diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result index 8bf8c95c6fb..3419ce150eb 100644 --- a/mysql-test/r/distinct.result +++ b/mysql-test/r/distinct.result @@ -174,7 +174,7 @@ INSERT INTO t3 VALUES (1,'1'),(2,'2'),(1,'1'),(2,'2'); explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 4 Using temporary -1 SIMPLE t3 ref a a 5 test.t1.b 2 Using where; Using index +1 SIMPLE t3 ref a a 5 test.t1.b 2 Using where; Using index; Using join cache 1 SIMPLE t2 index a a 4 NULL 5 Using where; Using index; Distinct SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a; a @@ -299,11 +299,11 @@ WHERE ((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2)) AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2)); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index id id 4 NULL 2 Using index; Using temporary -1 SIMPLE t2 index id id 8 NULL 1 Using index; Distinct -1 SIMPLE t3 index id id 8 NULL 1 Using index; Distinct +1 SIMPLE t1 index id id 4 NULL 2 Using index; Using temporary; Using join cache +1 SIMPLE t2 index id id 8 NULL 1 Using index; Distinct; Using join cache +1 SIMPLE t3 index id id 8 NULL 1 Using index; Distinct; Using join cache 1 SIMPLE j_lj_t2 index id id 4 NULL 2 Using where; Using index; Distinct -1 SIMPLE t2_lj ref id id 4 test.j_lj_t2.id 1 Using where; Using index; Distinct +1 SIMPLE t2_lj ref id id 4 test.j_lj_t2.id 1 Using where; Using index; Distinct; Using join cache 1 SIMPLE j_lj_t3 index id id 4 NULL 2 Using where; Using index; Distinct 1 SIMPLE t3_lj ref id id 4 test.j_lj_t3.id 1 Using where; Using index; Distinct SELECT DISTINCT @@ -514,7 +514,7 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1_1 ALL NULL NULL NULL NULL 3 Using temporary +1 SIMPLE t1_1 ALL NULL NULL NULL NULL 3 Using temporary; Using join cache 1 SIMPLE t1_2 index NULL PRIMARY 4 NULL 3 Using index; Distinct EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2 WHERE t1_1.a = t1_2.a; diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index 7177028cb48..0e6cae2f103 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -613,7 +613,7 @@ id select_type table type possible_keys key key_len ref rows Extra explain select max(t1.a3), min(t2.a2) from t1, t2 where t1.a2 = 2 and t1.a3 < 'MIN' and t2.a3 > 'CA'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range k1 k1 7 NULL 1 Using where; Using index +1 SIMPLE t1 range k1 k1 7 NULL 1 Using where; Using index; Using join cache 1 SIMPLE t2 range k1 k1 3 NULL 4 Using where; Using index explain select min(a4 - 0.01) from t1; @@ -650,7 +650,7 @@ id select_type table type possible_keys key key_len ref rows Extra explain select concat(min(t1.a1),min(t2.a4)) from t1, t2 where t2.a4 <> 'AME'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 range k2 k2 4 NULL 6 Using where; Using index +1 SIMPLE t2 range k2 k2 4 NULL 6 Using where; Using index; Using join cache 1 SIMPLE t1 index NULL PRIMARY 3 NULL 15 Using index drop table t1, t2; create table t1 (a char(10)); diff --git a/mysql-test/r/func_group_innodb.result b/mysql-test/r/func_group_innodb.result index 230f2a7633f..dba546a72de 100644 --- a/mysql-test/r/func_group_innodb.result +++ b/mysql-test/r/func_group_innodb.result @@ -78,7 +78,7 @@ min(7) 7 explain select min(7) from t2i join t1i; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2i ALL NULL NULL NULL NULL 1 +1 SIMPLE t2i ALL NULL NULL NULL NULL 1 Using join cache 1 SIMPLE t1i ALL NULL NULL NULL NULL 1 select min(7) from t2i join t1i; min(7) @@ -94,7 +94,7 @@ max(7) 7 explain select max(7) from t2i join t1i; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2i ALL NULL NULL NULL NULL 1 +1 SIMPLE t2i ALL NULL NULL NULL NULL 1 Using join cache 1 SIMPLE t1i ALL NULL NULL NULL NULL 1 select max(7) from t2i join t1i; max(7) diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result index cfca4e318c0..62486936e02 100644 --- a/mysql-test/r/gis.result +++ b/mysql-test/r/gis.result @@ -394,7 +394,7 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort; Using join cache 1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Warnings: Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` diff --git a/mysql-test/r/greedy_optimizer.result b/mysql-test/r/greedy_optimizer.result index b02ff04780b..ebd2468c9af 100644 --- a/mysql-test/r/greedy_optimizer.result +++ b/mysql-test/r/greedy_optimizer.result @@ -120,11 +120,11 @@ select @@optimizer_search_depth; 63 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -132,11 +132,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -144,11 +144,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -156,11 +156,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -168,11 +168,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -180,11 +180,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -200,11 +200,11 @@ select @@optimizer_search_depth; 0 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -212,11 +212,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -224,11 +224,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -236,11 +236,11 @@ Variable_name Value Last_query_cost 289.418727 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -248,11 +248,11 @@ Variable_name Value Last_query_cost 289.418727 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -260,11 +260,11 @@ Variable_name Value Last_query_cost 289.418727 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -276,11 +276,11 @@ select @@optimizer_search_depth; 1 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -288,11 +288,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -303,9 +303,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -315,9 +315,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -327,9 +327,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -339,9 +339,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -352,11 +352,11 @@ select @@optimizer_search_depth; 62 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -364,11 +364,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -376,11 +376,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -388,11 +388,11 @@ Variable_name Value Last_query_cost 289.418727 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -400,11 +400,11 @@ Variable_name Value Last_query_cost 289.418727 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -412,11 +412,11 @@ Variable_name Value Last_query_cost 289.418727 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.c21 1 Using where 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -432,11 +432,11 @@ select @@optimizer_search_depth; 0 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -444,11 +444,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -456,11 +456,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -468,11 +468,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -480,11 +480,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -492,11 +492,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -508,11 +508,11 @@ select @@optimizer_search_depth; 1 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -520,11 +520,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -535,9 +535,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -547,9 +547,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -559,9 +559,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -571,9 +571,9 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where -1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where -1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where +1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where; Using join cache +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join cache +1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where show status like 'Last_query_cost'; Variable_name Value @@ -584,11 +584,11 @@ select @@optimizer_search_depth; 62 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -596,11 +596,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c12 = t2.c21 and t2.c22 = t3.c31 and t3.c32 = t4.c41 and t4.c42 = t5.c51 and t5.c52 = t6.c61 and t6.c62 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.c22 1 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t4.c42 1 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t6.c62 1 Using index show status like 'Last_query_cost'; @@ -608,11 +608,11 @@ Variable_name Value Last_query_cost 821.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -620,11 +620,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using index; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using index; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using index show status like 'Last_query_cost'; @@ -632,11 +632,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t1, t2, t3, t4, t5, t6, t7 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; @@ -644,11 +644,11 @@ Variable_name Value Last_query_cost 794.837037 explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and t1.c12 = t3.c31 and t1.c13 = t4.c41 and t1.c14 = t5.c51 and t1.c15 = t6.c61 and t1.c16 = t7.c71 and t2.c22 = t3.c32 and t2.c23 = t4.c42 and t2.c24 = t5.c52 and t2.c25 = t6.c62 and t2.c26 = t7.c72 and t3.c33 = t4.c43 and t3.c34 = t5.c53 and t3.c35 = t6.c63 and t3.c36 = t7.c73 and t4.c42 = t5.c54 and t4.c43 = t6.c64 and t4.c44 = t7.c74 and t5.c52 = t6.c65 and t5.c53 = t7.c75 and t6.c62 = t7.c76; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 +1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 3 Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where -1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where +1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t1.c12 1 Using where; Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 12 Using where -1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where +1 SIMPLE t5 eq_ref PRIMARY PRIMARY 4 test.t1.c14 1 Using where; Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 18 Using where 1 SIMPLE t7 eq_ref PRIMARY PRIMARY 4 test.t1.c16 1 Using where show status like 'Last_query_cost'; diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result index 7068b62993b..807986c5f4e 100644 --- a/mysql-test/r/group_by.result +++ b/mysql-test/r/group_by.result @@ -536,11 +536,11 @@ a b 1 1 explain select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort +1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort; Using join cache 1 SIMPLE t2 ALL a NULL NULL NULL 4 Using where explain select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b ORDER BY NULL; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using temporary +1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using temporary; Using join cache 1 SIMPLE t2 ALL a NULL NULL NULL 4 Using where drop table t1,t2; create table t1 (a int, b int); diff --git a/mysql-test/r/group_min_max.result b/mysql-test/r/group_min_max.result index dcaf249e9c4..bc07b933895 100644 --- a/mysql-test/r/group_min_max.result +++ b/mysql-test/r/group_min_max.result @@ -2266,7 +2266,7 @@ EXPLAIN SELECT 1 FROM t1 AS t1_outer1 JOIN t1 AS t1_outer2 ON t1_outer1.a = (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) AND t1_outer1.b = t1_outer2.b; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1_outer1 ref a a 5 const 1 Using where; Using index +1 PRIMARY t1_outer1 ref a a 5 const 1 Using where; Using index; Using join cache 1 PRIMARY t1_outer2 index NULL a 10 NULL 15 Using where; Using index 2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by EXPLAIN SELECT (SELECT (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) x diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result index 45dfe0af505..e8a37257782 100644 --- a/mysql-test/r/index_merge_myisam.result +++ b/mysql-test/r/index_merge_myisam.result @@ -270,7 +270,7 @@ id select_type table type possible_keys key key_len ref rows Extra explain select * from t0,t1 where t0.key1 = 5 and (t1.key1 = t0.key1 or t1.key8 = t0.key1); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t0 ref i1 i1 4 const 1 +1 SIMPLE t0 ref i1 i1 4 const 1 Using join cache 1 SIMPLE t1 index_merge i1,i8 i1,i8 4,4 NULL 2 Using union(i1,i8); Using where explain select * from t0,t1 where t0.key1 < 3 and (t1.key1 = t0.key1 or t1.key8 = t0.key1); @@ -347,7 +347,7 @@ from t0 as A force index(i1,i2), t0 as B force index (i1,i2) where (A.key1 < 500000 or A.key2 < 3) and (B.key1 < 500000 or B.key2 < 3); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where +1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where; Using join cache 1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1013 Using sort_union(i1,i2); Using where select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) from t0 as A force index(i1,i2), t0 as B force index (i1,i2) @@ -361,7 +361,7 @@ from t0 as A force index(i1,i2), t0 as B force index (i1,i2) where (A.key1 = 1 or A.key2 = 1) and (B.key1 = 1 or B.key2 = 1); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where +1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where; Using join cache 1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1020 Using union(i1,i2); Using where select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) from t0 as A force index(i1,i2), t0 as B force index (i1,i2) @@ -376,7 +376,7 @@ from t0 as A, t0 as B where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1) and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1); id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE A index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where +1 SIMPLE A index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where; Using join cache 1 SIMPLE B index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) from t0 as A, t0 as B diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 078946b4d81..fc7a45445a6 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -289,7 +289,7 @@ explain select a.ROUTINE_NAME from information_schema.ROUTINES a, information_schema.SCHEMATA b where a.ROUTINE_SCHEMA = b.SCHEMA_NAME; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE # ALL NULL NULL NULL NULL 2 +1 SIMPLE # ALL NULL NULL NULL NULL 2 Using join cache 1 SIMPLE # ALL NULL NULL NULL NULL 2 Using where select a.ROUTINE_NAME, b.name from information_schema.ROUTINES a, mysql.proc b where a.ROUTINE_NAME = convert(b.name using utf8) order by 1; diff --git a/mysql-test/r/innodb_gis.result b/mysql-test/r/innodb_gis.result index e5d921514c5..945eca234bb 100644 --- a/mysql-test/r/innodb_gis.result +++ b/mysql-test/r/innodb_gis.result @@ -402,7 +402,7 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort; Using join cache 1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Warnings: Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index e51318af827..36d6f62c72c 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -163,7 +163,7 @@ min(7) 7 explain select min(7) from t2i join t1i; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2i ALL NULL NULL NULL NULL 1 +1 SIMPLE t2i ALL NULL NULL NULL NULL 1 Using join cache 1 SIMPLE t1i ALL NULL NULL NULL NULL 1 select min(7) from t2i join t1i; min(7) @@ -179,7 +179,7 @@ max(7) 7 explain select max(7) from t2i join t1i; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2i ALL NULL NULL NULL NULL 1 +1 SIMPLE t2i ALL NULL NULL NULL NULL 1 Using join cache 1 SIMPLE t1i ALL NULL NULL NULL NULL 1 select max(7) from t2i join t1i; max(7) diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result index 07035a12483..86c206195b1 100644 --- a/mysql-test/r/join.result +++ b/mysql-test/r/join.result @@ -403,7 +403,7 @@ EXPLAIN SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e ORDER BY t1.b, t1.c; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 32 Using temporary; Using filesort +1 SIMPLE t1 ALL NULL NULL NULL NULL 32 Using temporary; Using filesort; Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 16 Using where SELECT STRAIGHT_JOIN t2.e FROM t1,t2 WHERE t2.d=1 AND t1.b=t2.e ORDER BY t1.b, t1.c; diff --git a/mysql-test/r/join_nested.result b/mysql-test/r/join_nested.result index 8df5a9220a8..d080b1a2a46 100644 --- a/mysql-test/r/join_nested.result +++ b/mysql-test/r/join_nested.result @@ -228,7 +228,7 @@ LEFT JOIN t8 ON t7.b=t8.b AND t6.b < 10; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 +1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using join cache 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Warnings: @@ -543,7 +543,7 @@ WHERE t0.a=1 AND t0.b=t1.b AND (t2.a >= 4 OR t2.c IS NULL); id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where +1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join cache 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 @@ -638,7 +638,7 @@ t0.b=t1.b AND (t8.b=t9.b OR t8.c IS NULL) AND (t9.a=1); id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where +1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join cache 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where @@ -646,7 +646,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where -1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where +1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join cache 1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`))) @@ -835,7 +835,7 @@ t2 ON t3.a=1 AND t2.b=t4.b WHERE t1.a <= 2; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join cache 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00 @@ -849,7 +849,7 @@ LEFT JOIN (t1,t2) ON t3.a=1 AND t3.b=t2.b AND t2.b=t4.b; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 +1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using join cache 1 SIMPLE t4 ALL NULL NULL NULL NULL 2 100.00 1 SIMPLE t2 ref idx_b idx_b 5 test.t3.b 2 100.00 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 @@ -905,7 +905,7 @@ t0.b=t1.b AND (t8.b=t9.b OR t8.c IS NULL) AND (t9.a=1); id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where +1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join cache 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where @@ -913,7 +913,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t5 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where -1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where +1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join cache 1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`))) @@ -955,7 +955,7 @@ t0.b=t1.b AND (t8.b=t9.b OR t8.c IS NULL) AND (t9.a=1); id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where +1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join cache 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where @@ -963,7 +963,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where 1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where -1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where +1 SIMPLE t8 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join cache 1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`))) @@ -1004,7 +1004,7 @@ t0.b=t1.b AND (t8.b=t9.b OR t8.c IS NULL) AND (t9.a=1); id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where +1 SIMPLE t0 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join cache 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 100.00 Using where 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 100.00 Using where @@ -1012,7 +1012,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where 1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where -1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 100.00 Using where +1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 100.00 Using where; Using join cache 1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`))) @@ -1062,7 +1062,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where 1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where 1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where -1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 100.00 Using where +1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 2 100.00 Using where; Using join cache 1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS `b`,`test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b`,`test`.`t5`.`a` AS `a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS `b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left join (`test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` < 10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` >= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and ((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and ((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and (`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` = 1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1) and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and ((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and ((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or isnull(`test`.`t8`.`c`))) diff --git a/mysql-test/r/key_diff.result b/mysql-test/r/key_diff.result index 8097186bde1..35aad39edbf 100644 --- a/mysql-test/r/key_diff.result +++ b/mysql-test/r/key_diff.result @@ -35,7 +35,7 @@ D E a a a a a a explain select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ALL a NULL NULL NULL 5 +1 SIMPLE t1 ALL a NULL NULL NULL 5 Using join cache 1 SIMPLE t2 ALL b NULL NULL NULL 5 Using where select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B order by binary t1.a,t2.a; a b a b diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result index dcb471510cd..e9d798d998d 100644 --- a/mysql-test/r/myisam.result +++ b/mysql-test/r/myisam.result @@ -345,11 +345,11 @@ t1 1 c_2 1 c A 5 NULL NULL YES BTREE t1 1 c_2 2 a A 5 NULL NULL BTREE explain select * from t1,t2 where t1.a=t2.a; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL a NULL NULL NULL 2 +1 SIMPLE t2 ALL a NULL NULL NULL 2 Using join cache 1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where explain select * from t1,t2 force index(a) where t1.a=t2.a; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL a NULL NULL NULL 2 +1 SIMPLE t2 ALL a NULL NULL NULL 2 Using join cache 1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where explain select * from t1 force index(a),t2 force index(a) where t1.a=t2.a; id select_type table type possible_keys key key_len ref rows Extra @@ -361,7 +361,7 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ref b b 5 test.t2.b 1 Using where explain select * from t1,t2 force index(c) where t1.a=t2.a; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL 2 +1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using join cache 1 SIMPLE t1 ALL a NULL NULL NULL 5 Using where explain select * from t1 where a=0 or a=2; id select_type table type possible_keys key key_len ref rows Extra diff --git a/mysql-test/r/ndb_condition_pushdown.result b/mysql-test/r/ndb_condition_pushdown.result index 0d67d310a2b..df281230c9e 100644 --- a/mysql-test/r/ndb_condition_pushdown.result +++ b/mysql-test/r/ndb_condition_pushdown.result @@ -1730,7 +1730,7 @@ pk1 attr1 attr2 attr3 attr4 explain select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using temporary; Using filesort +1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using temporary; Using filesort; Using join cache 1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4 @@ -1746,7 +1746,7 @@ pk1 attr1 attr2 attr3 attr4 explain select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using temporary; Using filesort +1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using temporary; Using filesort; Using join cache 1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 diff --git a/mysql-test/r/ndb_gis.result b/mysql-test/r/ndb_gis.result index 279a0884b5b..c01c1673e44 100644 --- a/mysql-test/r/ndb_gis.result +++ b/mysql-test/r/ndb_gis.result @@ -402,7 +402,7 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort; Using join cache 1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Warnings: Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` @@ -952,7 +952,7 @@ Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort; Using join cache 1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Warnings: Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result index d9efe21c5d0..c2cb7426a74 100644 --- a/mysql-test/r/range.result +++ b/mysql-test/r/range.result @@ -220,27 +220,27 @@ insert into t1 (x) values (1),(2),(3),(4),(5),(6),(7),(8),(9); update t1 set y=x; explain select * from t1, t1 t2 where t1.y = 8 and t2.x between 7 and t1.y+0; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref y y 5 const 1 Using where +1 SIMPLE t1 ref y y 5 const 1 Using where; Using join cache 1 SIMPLE t2 range x x 5 NULL 2 Using where explain select * from t1, t1 t2 where t1.y = 8 and t2.x >= 7 and t2.x <= t1.y+0; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref y y 5 const 1 Using where +1 SIMPLE t1 ref y y 5 const 1 Using where; Using join cache 1 SIMPLE t2 range x x 5 NULL 2 Using where explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref y y 5 const 1 Using where +1 SIMPLE t1 ref y y 5 const 1 Using where; Using join cache 1 SIMPLE t2 range x x 5 NULL 3 Using where explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref y y 5 const 1 Using where +1 SIMPLE t1 ref y y 5 const 1 Using where; Using join cache 1 SIMPLE t2 range x x 5 NULL 3 Using where explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref y y 5 const 1 Using where +1 SIMPLE t1 ref y y 5 const 1 Using where; Using join cache 1 SIMPLE t2 range x x 5 NULL 2 Using where explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref y y 5 const 1 Using where +1 SIMPLE t1 ref y y 5 const 1 Using where; Using join cache 1 SIMPLE t2 range x x 5 NULL 2 Using where explain select count(*) from t1 where x in (1); id select_type table type possible_keys key key_len ref rows Extra @@ -255,12 +255,12 @@ CREATE TABLE t2 (keya int(11) NOT NULL default '0', KEY j1 (keya)); INSERT INTO t2 VALUES (0),(0),(1),(1),(2),(2); explain select * from t1, t2 where (t1.key1 (`test`.`t1`.`a`,(select 1 AS `Not_used` from `test`.`t2` join `test`.`t3` where ((`test`.`t3`.`a` = `test`.`t2`.`a`) and (((`test`.`t1`.`a`) = `test`.`t2`.`a`) or isnull(`test`.`t2`.`a`))) having (`test`.`t2`.`a`))) AS `t1.a in (select t2.a from t2,t3 where t3.a=t2.a)` from `test`.`t1` @@ -1354,7 +1354,7 @@ a explain extended select * from t2 where t2.a in (select t1.a from t1,t3 where t1.b=t3.a); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t2 index NULL a 5 NULL 4 100.00 Using where; Using index -2 DEPENDENT SUBQUERY t1 ref a a 5 func 1001 100.00 Using where; Using index +2 DEPENDENT SUBQUERY t1 ref a a 5 func 1001 100.00 Using where; Using index; Using join cache 2 DEPENDENT SUBQUERY t3 index a a 5 NULL 3 100.00 Using where; Using index Warnings: Note 1003 select `test`.`t2`.`a` AS `a` from `test`.`t2` where (`test`.`t2`.`a`,(select 1 AS `Not_used` from `test`.`t1` join `test`.`t3` where ((`test`.`t3`.`a` = `test`.`t1`.`b`) and ((`test`.`t2`.`a`) = `test`.`t1`.`a`)))) diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 657d95b7ee3..132c36fbf11 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -254,7 +254,7 @@ select a,b, oref, from t2; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 -2 DEPENDENT SUBQUERY t1 ref_or_null a a 5 func 2 100.00 Using where; Full scan on NULL key +2 DEPENDENT SUBQUERY t1 ref_or_null a a 5 func 2 100.00 Using where; Full scan on NULL key; Using join cache 2 DEPENDENT SUBQUERY t4 ALL NULL NULL NULL NULL 100 100.00 Using where Warnings: Note 1276 Field or reference 'test.t2.oref' of SELECT #2 was resolved in SELECT #1 diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result index 275f3357c65..acf237bf125 100644 --- a/mysql-test/r/union.result +++ b/mysql-test/r/union.result @@ -499,7 +499,7 @@ a b explain (select * from t1 where a=1 and b=10) union (select straight_join t1.a,t2.a from t1,t2 where t1.a=t2.a); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables -2 UNION t1 index PRIMARY PRIMARY 4 NULL 4 Using index +2 UNION t1 index PRIMARY PRIMARY 4 NULL 4 Using index; Using join cache 2 UNION t2 index PRIMARY PRIMARY 4 NULL 4 Using where; Using index NULL UNION RESULT ALL NULL NULL NULL NULL NULL explain (select * from t1 where a=1) union (select * from t1 where b=1); diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index 8ebf4d40067..cc353f5e1db 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -2317,7 +2317,7 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 ref a a 10 const,test.t1.b 2 Using where; Using index EXPLAIN SELECT * FROM v2 WHERE a=1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref a a 5 const 1 Using where; Using index +1 SIMPLE t1 ref a a 5 const 1 Using where; Using index; Using join cache 1 SIMPLE t3 ALL NULL NULL NULL NULL 3 Using where DROP VIEW v1,v2; DROP TABLE t1,t2,t3; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 19fa76ee06b..8f4fa75be91 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -5893,6 +5893,12 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) tab->ref.key= -1; tab->ref.key_parts=0; // Don't use ref key. join->best_positions[i].records_read= rows2double(tab->quick->records); + /* + We will use join cache here : prevent sorting of the first + table only and sort at the end. + */ + if (i != join->const_tables && join->tables > join->const_tables + 1) + join->full_join= 1; } tmp= NULL; @@ -12660,6 +12666,12 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, uint nr; key_map keys; + /* + filesort() and join cache are usually faster than reading in + index order and not using join cache + */ + if (tab->type == JT_ALL && tab->join->tables > tab->join->const_tables + 1) + DBUG_RETURN(0); /* If not used with LIMIT, only use keys if the whole query can be resolved with a key; This is because filesort() is usually faster than @@ -15513,6 +15525,8 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order, break; } } + if (tab->next_select == sub_select_cache) + extra.append(STRING_WITH_LEN("; Using join cache")); /* Skip initial "; "*/ const char *str= extra.ptr(); From 13e55b8a21014e5a4e026e1f07c4fd1951553bee Mon Sep 17 00:00:00 2001 From: "gkodinov/kgeorge@magare.gmz" <> Date: Fri, 4 May 2007 18:55:01 +0300 Subject: [PATCH 142/144] bug #27531: fixed coverage of out-of-mem errors --- sql/item_subselect.cc | 2 +- sql/sql_select.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index a4d07e08473..ccd361dba99 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -1787,7 +1787,7 @@ int subselect_single_select_engine::exec() select_lex->uncacheable|= UNCACHEABLE_EXPLAIN; select_lex->master_unit()->uncacheable|= UNCACHEABLE_EXPLAIN; if (join->init_save_join_tab()) - DBUG_RETURN(1); + DBUG_RETURN(1); /* purecov: inspected */ } if (item->engine_changed) { diff --git a/sql/sql_select.cc b/sql/sql_select.cc index efdc834f04a..3a480c01ac1 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1432,7 +1432,7 @@ JOIN::optimize() */ if (select_lex->uncacheable && !is_top_level_join() && init_save_join_tab()) - DBUG_RETURN(-1); + DBUG_RETURN(-1); /* purecov: inspected */ } error= 0; @@ -1509,7 +1509,7 @@ bool JOIN::init_save_join_tab() { if (!(tmp_join= (JOIN*)thd->alloc(sizeof(JOIN)))) - return 1; + return 1; /* purecov: inspected */ error= 0; // Ensure that tmp_join.error= 0 restore_tmp(); return 0; From d61da11eab028318ada81df37a9bb4b007e0046c Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Mon, 7 May 2007 13:29:59 +0500 Subject: [PATCH 143/144] fixed Solaris compilation failure --- sql/field.cc | 16 ++++++++-------- sql/field.h | 5 ++++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sql/field.cc b/sql/field.cc index dca2d7137e0..3ae82fe6182 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -7006,34 +7006,34 @@ Field_blob::Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, } -void Field_blob::store_length(char *ptr, uint packlength, uint32 number) +void Field_blob::store_length(char *i_ptr, uint i_packlength, uint32 i_number) { - switch (packlength) { + switch (i_packlength) { case 1: - ptr[0]= (uchar) number; + i_ptr[0]= (uchar) i_number; break; case 2: #ifdef WORDS_BIGENDIAN if (table->s->db_low_byte_first) { - int2store(ptr,(unsigned short) number); + int2store(i_ptr,(unsigned short) i_number); } else #endif - shortstore(ptr,(unsigned short) number); + shortstore(i_ptr,(unsigned short) i_number); break; case 3: - int3store(ptr,number); + int3store(i_ptr,i_number); break; case 4: #ifdef WORDS_BIGENDIAN if (table->s->db_low_byte_first) { - int4store(ptr,number); + int4store(i_ptr,i_number); } else #endif - longstore(ptr,number); + longstore(i_ptr,i_number); } } diff --git a/sql/field.h b/sql/field.h index 9d89e53c36c..2c2640a8262 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1307,7 +1307,10 @@ public: } int reset(void) { bzero(ptr, packlength+sizeof(char*)); return 0; } void reset_fields() { bzero((char*) &value,sizeof(value)); } - static void store_length(char *ptr, uint packlength, uint32 number); +#ifndef WORDS_BIGENDIAN + static +#endif + void store_length(char *i_ptr, uint i_packlength, uint32 i_number); inline void store_length(uint32 number) { store_length(ptr, packlength, number); From f646fb0b11a5026f3a9880218ea0346abfc52857 Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Mon, 7 May 2007 17:33:28 +0500 Subject: [PATCH 144/144] merging fix --- mysql-test/r/sp-vars.result | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/sp-vars.result b/mysql-test/r/sp-vars.result index 7d5b71cb67d..968bb75309b 100644 --- a/mysql-test/r/sp-vars.result +++ b/mysql-test/r/sp-vars.result @@ -690,12 +690,12 @@ END| CALL p1(NOW()); Table Create Table t1 CREATE TABLE "t1" ( - "x" datetime default NULL + "x" datetime DEFAULT NULL ) CALL p1('test'); Table Create Table t1 CREATE TABLE "t1" ( - "x" datetime default NULL + "x" datetime DEFAULT NULL ) Warnings: Warning 1264 Out of range value for column 'x' at row 1