3863 magnus.blaudd@stripped 2012-04-19
Cherrypick WL#5916 into trunk-cluster-base
modified:
include/mysql_com.h
mysql-test/r/tablespace.result
mysql-test/suite/perfschema/r/digest_table_full.result
mysql-test/suite/perfschema/r/statement_digest.result
mysql-test/suite/perfschema/r/statement_digest_consumers.result
mysql-test/suite/perfschema/r/statement_digest_long_query.result
mysql-test/t/tablespace.test
sql/field.h
sql/handler.h
sql/lex.h
sql/sql_show.cc
sql/sql_table.cc
sql/sql_yacc.yy
sql/table.cc
sql/unireg.cc
3862 magnus.blaudd@stripped 2012-04-11 [merge]
Create new trunk-cluster-base based on revid:luis.soares@stripped
modified:
mysql-test/t/disabled.def
=== modified file 'include/mysql_com.h'
--- a/include/mysql_com.h 2012-03-28 11:25:37 +0000
+++ b/include/mysql_com.h 2012-04-19 11:17:29 +0000
@@ -119,10 +119,10 @@ enum enum_server_command
Was part of old online ALTER API, flag is now unused.
*/
#define FIELD_IS_RENAMED (1<< 21) /* Intern: Field is being renamed */
-#define FIELD_FLAGS_STORAGE_MEDIA 22 /* Field storage media, bit 22-23,
- reserved by MySQL Cluster */
-#define FIELD_FLAGS_COLUMN_FORMAT 24 /* Field column format, bit 24-25,
- reserved by MySQL Cluster */
+#define FIELD_FLAGS_STORAGE_MEDIA 22 /* Field storage media, bit 22-23 */
+#define FIELD_FLAGS_STORAGE_MEDIA_MASK (3 << FIELD_FLAGS_STORAGE_MEDIA)
+#define FIELD_FLAGS_COLUMN_FORMAT 24 /* Field column format, bit 24-25 */
+#define FIELD_FLAGS_COLUMN_FORMAT_MASK (3 << FIELD_FLAGS_COLUMN_FORMAT)
#define REFRESH_GRANT 1 /* Refresh grant tables */
#define REFRESH_LOG 2 /* Start on new log file */
=== modified file 'mysql-test/r/tablespace.result'
--- a/mysql-test/r/tablespace.result 2011-11-14 13:01:55 +0000
+++ b/mysql-test/r/tablespace.result 2012-04-19 11:17:29 +0000
@@ -98,15 +98,144 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL,
- `c` int(11) DEFAULT NULL,
- `d` int(11) NOT NULL,
- `e` int(11) DEFAULT NULL,
- `f` int(11) DEFAULT NULL,
+ `c` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `d` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `e` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `f` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
`g` int(11) DEFAULT NULL,
- `h` int(11) NOT NULL,
- `i` int(11) DEFAULT NULL,
- `j` int(11) DEFAULT NULL,
- `k` int(11) DEFAULT NULL,
+ `h` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `i` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `j` int(11) /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `k` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
PRIMARY KEY (`a`)
) /*!50100 TABLESPACE the_tablespacename STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
+#
+# WL#3627 Add COLUMN_FORMAT and STORAGE for fields
+#
+CREATE TABLE t1 (
+a int STORAGE DISK,
+b int STORAGE MEMORY NOT NULL,
+c int COLUMN_FORMAT DYNAMIC,
+d int COLUMN_FORMAT FIXED,
+e int COLUMN_FORMAT DEFAULT,
+f int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+g int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+h int STORAGE DISK COLUMN_FORMAT FIXED,
+i int STORAGE MEMORY COLUMN_FORMAT FIXED
+);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `b` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `c` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `d` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `e` int(11) DEFAULT NULL,
+ `f` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `g` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `h` int(11) /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `i` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1
+ADD COLUMN j int STORAGE DISK,
+ADD COLUMN k int STORAGE MEMORY NOT NULL,
+ADD COLUMN l int COLUMN_FORMAT DYNAMIC,
+ADD COLUMN m int COLUMN_FORMAT FIXED,
+ADD COLUMN n int COLUMN_FORMAT DEFAULT,
+ADD COLUMN o int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+ADD COLUMN p int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+ADD COLUMN q int STORAGE DISK COLUMN_FORMAT FIXED,
+ADD COLUMN r int STORAGE MEMORY COLUMN_FORMAT FIXED;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `b` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `c` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `d` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `e` int(11) DEFAULT NULL,
+ `f` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `g` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `h` int(11) /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `i` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `j` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `k` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `l` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `m` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `n` int(11) DEFAULT NULL,
+ `o` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `p` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `q` int(11) /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `r` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1
+MODIFY COLUMN j int STORAGE MEMORY NOT NULL,
+MODIFY COLUMN k int COLUMN_FORMAT DYNAMIC,
+MODIFY COLUMN l int COLUMN_FORMAT FIXED,
+MODIFY COLUMN m int COLUMN_FORMAT DEFAULT,
+MODIFY COLUMN n int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+MODIFY COLUMN o int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+MODIFY COLUMN p int STORAGE DISK COLUMN_FORMAT FIXED,
+MODIFY COLUMN q int STORAGE MEMORY COLUMN_FORMAT FIXED,
+MODIFY COLUMN r int STORAGE DISK;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `b` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `c` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `d` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `e` int(11) DEFAULT NULL,
+ `f` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `g` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `h` int(11) /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `i` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `j` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `k` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `l` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `m` int(11) DEFAULT NULL,
+ `n` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `o` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `p` int(11) /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `q` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `r` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1
+MODIFY COLUMN h int COLUMN_FORMAT DYNAMIC COLUMN_FORMAT FIXED,
+MODIFY COLUMN i int COLUMN_FORMAT DYNAMIC COLUMN_FORMAT DEFAULT,
+MODIFY COLUMN j int COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC,
+MODIFY COLUMN k int COLUMN_FORMAT FIXED COLUMN_FORMAT DEFAULT,
+MODIFY COLUMN l int STORAGE DISK STORAGE MEMORY,
+MODIFY COLUMN m int STORAGE DISK STORAGE DEFAULT,
+MODIFY COLUMN n int STORAGE MEMORY STORAGE DISK,
+MODIFY COLUMN o int STORAGE MEMORY STORAGE DEFAULT,
+MODIFY COLUMN p int STORAGE DISK STORAGE MEMORY
+COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC,
+MODIFY COLUMN q int STORAGE DISK STORAGE MEMORY STORAGE DEFAULT
+COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC COLUMN_FORMAT DEFAULT,
+MODIFY COLUMN r int STORAGE DEFAULT STORAGE DEFAULT STORAGE MEMORY
+STORAGE DISK STORAGE MEMORY STORAGE DISK STORAGE DISK;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `b` int(11) NOT NULL /*!50606 STORAGE MEMORY */,
+ `c` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `d` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `e` int(11) DEFAULT NULL,
+ `f` int(11) NOT NULL /*!50606 STORAGE DISK */ /*!50606 COLUMN_FORMAT DYNAMIC */,
+ `g` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `h` int(11) /*!50606 COLUMN_FORMAT FIXED */ DEFAULT NULL,
+ `i` int(11) DEFAULT NULL,
+ `j` int(11) /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `k` int(11) DEFAULT NULL,
+ `l` int(11) /*!50606 STORAGE MEMORY */ DEFAULT NULL,
+ `m` int(11) DEFAULT NULL,
+ `n` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL,
+ `o` int(11) DEFAULT NULL,
+ `p` int(11) /*!50606 STORAGE MEMORY */ /*!50606 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `q` int(11) DEFAULT NULL,
+ `r` int(11) /*!50606 STORAGE DISK */ DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
=== modified file 'mysql-test/suite/perfschema/r/digest_table_full.result'
--- a/mysql-test/suite/perfschema/r/digest_table_full.result 2012-04-06 10:12:40 +0000
+++ b/mysql-test/suite/perfschema/r/digest_table_full.result 2012-04-19 11:17:29 +0000
@@ -86,7 +86,7 @@ SELECT DIGEST, DIGEST_TEXT, COUNT_STAR,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
NULL NULL 38 30 1 2
-dee8f4f04e57a5e456c31892855e6835 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
+125e2368c3eaf351aed3ebfee58be90d TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value
performance_schema_digests_size 2
=== modified file 'mysql-test/suite/perfschema/r/statement_digest.result'
--- a/mysql-test/suite/perfschema/r/statement_digest.result 2012-04-06 10:12:40 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest.result 2012-04-19 11:17:29 +0000
@@ -85,30 +85,30 @@ Warning 1265 Data truncated for column '
SELECT DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
-dee8f4f04e57a5e456c31892855e6835 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
-658a159558b029617bfa7c090827fc31 SELECT ? FROM t1 1 0 0 0
-66c495c9ee7e052e0db2212a0cd7a3cd SELECT ? FROM `t1` 1 0 0 0
-e7f8dc15f1156f57978116e457cc7488 SELECT ?, ... FROM t1 2 0 0 0
-5098d41dbf74d89d261b29400c46dae7 SELECT ? FROM t2 1 0 0 0
-3b8d5477aa795a19c9e9183e4ad04e6b SELECT ?, ... FROM t2 2 0 0 0
-5737343d989b1c42464fd3632614d25e INSERT INTO t1 VALUES (?) 1 1 0 0
-1e7fe109d5dd49394ee079690a029452 INSERT INTO t2 VALUES (?) 1 1 0 0
-d63092ea2fa59316f398af6283bf80a5 INSERT INTO t3 VALUES (...) 4 4 0 0
-7383272b3a17c661872524713abae82f INSERT INTO t4 VALUES (...) 1 1 0 0
-42e8c9d8a502b06ac931886d3ff1ed1e INSERT INTO t5 VALUES (...) 1 1 0 0
-db545539039d269501474510fbc2da56 INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
-446dead39135f87b4fc4168f00dff254 INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
-3ec23fcc5b568c4ad359703ff996e0bd INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
-d6eac9eb14e3e67fcd647c754f06e87f INSERT INTO t1 VALUES ( NULL ) 1 1 0 0
-6a1b3810f32f521701aecb1cc695048d INSERT INTO t6 VALUES (...) 5 5 0 0
-6b473a776aa59140774b6ee689e68c9e SELECT ? + ? 3 0 0 0
-b608da273ea6dffe2120354f751cc8ba SELECT ? 1 0 0 0
-30046d97cfdc44c95bdaa7f3987d0a20 CREATE SCHEMA statements_digest_temp 2 2 0 0
-8e40e6461f3ab4454ddb8f21b5cda3ba DROP SCHEMA statements_digest_temp 2 0 0 0
-b2a18812618a648d37136507aa1abf76 SELECT ? FROM t11 1 0 0 1
-26b3a8aaadea1ef0afd3658728b3b2c9 CREATE TABLE t11 ( c CHARACTER (?) ) 2 0 0 1
-fe695877d27d136594145ebd4f683491 INSERT INTO t11 VALUES (?) 1 1 1 0
-09dae9a52da4bcb4bd4f396e3f723980 SHOW WARNINGS 1 0 0 0
+125e2368c3eaf351aed3ebfee58be90d TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
+bc4eed5041e2d6b5ded147735fbe8b1f SELECT ? FROM t1 1 0 0 0
+f65353b17370cbfb2baebad10c33fa7e SELECT ? FROM `t1` 1 0 0 0
+5d495852490f30472a5e451973f373c1 SELECT ?, ... FROM t1 2 0 0 0
+b71eb7d7c299dfc30efdd68528f59a76 SELECT ? FROM t2 1 0 0 0
+ceee8936a87a0f5175734f5f10e7057c SELECT ?, ... FROM t2 2 0 0 0
+8706d275b70cc0e0be3278bcfd11425b INSERT INTO t1 VALUES (?) 1 1 0 0
+078618f67231c7030acb33e57a83cfd8 INSERT INTO t2 VALUES (?) 1 1 0 0
+8ad1b5c85b289e58d0f7b427da91a6ce INSERT INTO t3 VALUES (...) 4 4 0 0
+d66ea0477cde3db52d29b929fb1d2aca INSERT INTO t4 VALUES (...) 1 1 0 0
+dbe42331568bef0faca4a83edb21e87b INSERT INTO t5 VALUES (...) 1 1 0 0
+a9ae07204bf4a980fdb9e735c8b5efaa INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
+15bad11ceed55668da6a92334afc07e9 INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
+56b93d153e0ee2c70de8306ef1fb8d18 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
+9517ed3fd8d1d4201eae52f4baa4212b INSERT INTO t1 VALUES ( NULL ) 1 1 0 0
+9c759641f43efd1e0b193d5357cb74b4 INSERT INTO t6 VALUES (...) 5 5 0 0
+9dc07462e059ac4602d4c14545dc0fe8 SELECT ? + ? 3 0 0 0
+52d466db2e44df4a904d2800fc3af99e SELECT ? 1 0 0 0
+fb40aece1f68b5c3fbaf220bc21ad353 CREATE SCHEMA statements_digest_temp 2 2 0 0
+622ef9323ed99ee165d79477219a693b DROP SCHEMA statements_digest_temp 2 0 0 0
+ce88fbaf7c72c8f2e1efeb16b9cf0f74 SELECT ? FROM t11 1 0 0 1
+7627748ac774cc7db2d160ea197a1d20 CREATE TABLE t11 ( c CHARACTER (?) ) 2 0 0 1
+13090b5cd13a544b442804d16f8fe1f9 INSERT INTO t11 VALUES (?) 1 1 1 0
+bc929dc8b518d3e83c072ea8a2aa485c SHOW WARNINGS 1 0 0 0
####################################
# CLEANUP
####################################
=== modified file 'mysql-test/suite/perfschema/r/statement_digest_consumers.result'
--- a/mysql-test/suite/perfschema/r/statement_digest_consumers.result 2012-04-06 10:12:40 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest_consumers.result 2012-04-19 11:17:29 +0000
@@ -98,30 +98,30 @@ Warning 1265 Data truncated for column '
####################################
SELECT digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
digest digest_text count_star
-dee8f4f04e57a5e456c31892855e6835 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
-658a159558b029617bfa7c090827fc31 SELECT ? FROM t1 1
-66c495c9ee7e052e0db2212a0cd7a3cd SELECT ? FROM `t1` 1
-e7f8dc15f1156f57978116e457cc7488 SELECT ?, ... FROM t1 2
-5098d41dbf74d89d261b29400c46dae7 SELECT ? FROM t2 1
-3b8d5477aa795a19c9e9183e4ad04e6b SELECT ?, ... FROM t2 2
-5737343d989b1c42464fd3632614d25e INSERT INTO t1 VALUES (?) 1
-1e7fe109d5dd49394ee079690a029452 INSERT INTO t2 VALUES (?) 1
-d63092ea2fa59316f398af6283bf80a5 INSERT INTO t3 VALUES (...) 4
-7383272b3a17c661872524713abae82f INSERT INTO t4 VALUES (...) 1
-42e8c9d8a502b06ac931886d3ff1ed1e INSERT INTO t5 VALUES (...) 1
-db545539039d269501474510fbc2da56 INSERT INTO t1 VALUES (?) /* , ... */ 2
-446dead39135f87b4fc4168f00dff254 INSERT INTO t3 VALUES (...) /* , ... */ 1
-3ec23fcc5b568c4ad359703ff996e0bd INSERT INTO t5 VALUES (...) /* , ... */ 1
-d6eac9eb14e3e67fcd647c754f06e87f INSERT INTO t1 VALUES ( NULL ) 1
-6a1b3810f32f521701aecb1cc695048d INSERT INTO t6 VALUES (...) 5
-6b473a776aa59140774b6ee689e68c9e SELECT ? + ? 3
-b608da273ea6dffe2120354f751cc8ba SELECT ? 1
-30046d97cfdc44c95bdaa7f3987d0a20 CREATE SCHEMA statements_digest_temp 2
-8e40e6461f3ab4454ddb8f21b5cda3ba DROP SCHEMA statements_digest_temp 2
-b2a18812618a648d37136507aa1abf76 SELECT ? FROM t11 1
-26b3a8aaadea1ef0afd3658728b3b2c9 CREATE TABLE t11 ( c CHARACTER (?) ) 2
-fe695877d27d136594145ebd4f683491 INSERT INTO t11 VALUES (?) 1
-09dae9a52da4bcb4bd4f396e3f723980 SHOW WARNINGS 1
+125e2368c3eaf351aed3ebfee58be90d TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
+bc4eed5041e2d6b5ded147735fbe8b1f SELECT ? FROM t1 1
+f65353b17370cbfb2baebad10c33fa7e SELECT ? FROM `t1` 1
+5d495852490f30472a5e451973f373c1 SELECT ?, ... FROM t1 2
+b71eb7d7c299dfc30efdd68528f59a76 SELECT ? FROM t2 1
+ceee8936a87a0f5175734f5f10e7057c SELECT ?, ... FROM t2 2
+8706d275b70cc0e0be3278bcfd11425b INSERT INTO t1 VALUES (?) 1
+078618f67231c7030acb33e57a83cfd8 INSERT INTO t2 VALUES (?) 1
+8ad1b5c85b289e58d0f7b427da91a6ce INSERT INTO t3 VALUES (...) 4
+d66ea0477cde3db52d29b929fb1d2aca INSERT INTO t4 VALUES (...) 1
+dbe42331568bef0faca4a83edb21e87b INSERT INTO t5 VALUES (...) 1
+a9ae07204bf4a980fdb9e735c8b5efaa INSERT INTO t1 VALUES (?) /* , ... */ 2
+15bad11ceed55668da6a92334afc07e9 INSERT INTO t3 VALUES (...) /* , ... */ 1
+56b93d153e0ee2c70de8306ef1fb8d18 INSERT INTO t5 VALUES (...) /* , ... */ 1
+9517ed3fd8d1d4201eae52f4baa4212b INSERT INTO t1 VALUES ( NULL ) 1
+9c759641f43efd1e0b193d5357cb74b4 INSERT INTO t6 VALUES (...) 5
+9dc07462e059ac4602d4c14545dc0fe8 SELECT ? + ? 3
+52d466db2e44df4a904d2800fc3af99e SELECT ? 1
+fb40aece1f68b5c3fbaf220bc21ad353 CREATE SCHEMA statements_digest_temp 2
+622ef9323ed99ee165d79477219a693b DROP SCHEMA statements_digest_temp 2
+ce88fbaf7c72c8f2e1efeb16b9cf0f74 SELECT ? FROM t11 1
+7627748ac774cc7db2d160ea197a1d20 CREATE TABLE t11 ( c CHARACTER (?) ) 2
+13090b5cd13a544b442804d16f8fe1f9 INSERT INTO t11 VALUES (?) 1
+bc929dc8b518d3e83c072ea8a2aa485c SHOW WARNINGS 1
SELECT digest, digest_text FROM performance_schema.events_statements_current;
digest digest_text
####################################
=== modified file 'mysql-test/suite/perfschema/r/statement_digest_long_query.result'
--- a/mysql-test/suite/perfschema/r/statement_digest_long_query.result 2012-03-01 15:40:00 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest_long_query.result 2012-04-19 11:17:29 +0000
@@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
####################################
SELECT digest, digest_text, count_star FROM events_statements_summary_by_digest;
digest digest_text count_star
-56ae4a1bea5f5babaa469039be3fd979 TRUNCATE TABLE events_statements_summary_by_digest 1
-abda1fecf4bb4811f508a861272700a8 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + !
? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ... 1
+154c5a0a85343c653c1192dd31be1dd3 TRUNCATE TABLE events_statements_summary_by_digest 1
+62e6f6c43d705d93aef962fdc8ccd803 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + !
? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ... 1
=== modified file 'mysql-test/t/tablespace.test'
--- a/mysql-test/t/tablespace.test 2011-11-14 13:01:55 +0000
+++ b/mysql-test/t/tablespace.test 2012-04-19 11:17:29 +0000
@@ -107,10 +107,6 @@ DROP TABLE t1;
# k int STORAGE MEMORY COLUMN_FORMAT FIXED
# ) STORAGE DISK TABLESPACE the_tablespacename ENGINE=MyISAM;
#
-# NOTE! The column level properties will not yet show up
-# in SHOW CREATE TABLE of MySQL Server(although they are
-# visible in .trace file)
-#
let $MYSQLD_DATADIR= `SELECT @@datadir`;
copy_file std_data/cluster_7022_table.frm $MYSQLD_DATADIR/test/t1.frm;
@@ -121,3 +117,69 @@ SHOW CREATE TABLE t1;
DROP TABLE t1;
+--echo #
+--echo # WL#3627 Add COLUMN_FORMAT and STORAGE for fields
+--echo #
+
+CREATE TABLE t1 (
+ a int STORAGE DISK,
+ b int STORAGE MEMORY NOT NULL,
+ c int COLUMN_FORMAT DYNAMIC,
+ d int COLUMN_FORMAT FIXED,
+ e int COLUMN_FORMAT DEFAULT,
+ f int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+ g int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+ h int STORAGE DISK COLUMN_FORMAT FIXED,
+ i int STORAGE MEMORY COLUMN_FORMAT FIXED
+);
+SHOW CREATE TABLE t1;
+
+# Add new columns with all variations of the new column
+# level attributes
+ALTER TABLE t1
+ ADD COLUMN j int STORAGE DISK,
+ ADD COLUMN k int STORAGE MEMORY NOT NULL,
+ ADD COLUMN l int COLUMN_FORMAT DYNAMIC,
+ ADD COLUMN m int COLUMN_FORMAT FIXED,
+ ADD COLUMN n int COLUMN_FORMAT DEFAULT,
+ ADD COLUMN o int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+ ADD COLUMN p int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+ ADD COLUMN q int STORAGE DISK COLUMN_FORMAT FIXED,
+ ADD COLUMN r int STORAGE MEMORY COLUMN_FORMAT FIXED;
+SHOW CREATE TABLE t1;
+
+# Use MODIFY COLUMN to "shift" all new attributes to the next column
+ALTER TABLE t1
+ MODIFY COLUMN j int STORAGE MEMORY NOT NULL,
+ MODIFY COLUMN k int COLUMN_FORMAT DYNAMIC,
+ MODIFY COLUMN l int COLUMN_FORMAT FIXED,
+ MODIFY COLUMN m int COLUMN_FORMAT DEFAULT,
+ MODIFY COLUMN n int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+ MODIFY COLUMN o int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+ MODIFY COLUMN p int STORAGE DISK COLUMN_FORMAT FIXED,
+ MODIFY COLUMN q int STORAGE MEMORY COLUMN_FORMAT FIXED,
+ MODIFY COLUMN r int STORAGE DISK;
+SHOW CREATE TABLE t1;
+
+# Check behaviour of multiple COLUMN_FORMAT and/or STORAGE definitions
+ALTER TABLE t1
+ MODIFY COLUMN h int COLUMN_FORMAT DYNAMIC COLUMN_FORMAT FIXED,
+ MODIFY COLUMN i int COLUMN_FORMAT DYNAMIC COLUMN_FORMAT DEFAULT,
+ MODIFY COLUMN j int COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC,
+ MODIFY COLUMN k int COLUMN_FORMAT FIXED COLUMN_FORMAT DEFAULT,
+ MODIFY COLUMN l int STORAGE DISK STORAGE MEMORY,
+ MODIFY COLUMN m int STORAGE DISK STORAGE DEFAULT,
+ MODIFY COLUMN n int STORAGE MEMORY STORAGE DISK,
+ MODIFY COLUMN o int STORAGE MEMORY STORAGE DEFAULT,
+ MODIFY COLUMN p int STORAGE DISK STORAGE MEMORY
+ COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC,
+ MODIFY COLUMN q int STORAGE DISK STORAGE MEMORY STORAGE DEFAULT
+ COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC COLUMN_FORMAT DEFAULT,
+ MODIFY COLUMN r int STORAGE DEFAULT STORAGE DEFAULT STORAGE MEMORY
+ STORAGE DISK STORAGE MEMORY STORAGE DISK STORAGE DISK;
+SHOW CREATE TABLE t1;
+
+
+
+DROP TABLE t1;
+
=== modified file 'sql/field.h'
--- a/sql/field.h 2012-03-06 14:29:42 +0000
+++ b/sql/field.h 2012-04-19 11:17:29 +0000
@@ -1018,6 +1018,30 @@ public:
}
#endif
+ ha_storage_media field_storage_type() const
+ {
+ return (ha_storage_media)
+ ((flags >> FIELD_FLAGS_STORAGE_MEDIA) & 3);
+ }
+
+ void set_storage_type(ha_storage_media storage_type_arg)
+ {
+ DBUG_ASSERT(field_storage_type() == HA_SM_DEFAULT);
+ flags |= (storage_type_arg << FIELD_FLAGS_STORAGE_MEDIA);
+ }
+
+ column_format_type column_format() const
+ {
+ return (column_format_type)
+ ((flags >> FIELD_FLAGS_COLUMN_FORMAT) & 3);
+ }
+
+ void set_column_format(column_format_type column_format_arg)
+ {
+ DBUG_ASSERT(column_format() == COLUMN_FORMAT_TYPE_DEFAULT);
+ flags |= (column_format_arg << FIELD_FLAGS_COLUMN_FORMAT);
+ }
+
/* Hash value */
virtual void hash(ulong *nr, ulong *nr2);
friend int cre_myisam(char * name, register TABLE *form, uint options,
@@ -3482,6 +3506,18 @@ public:
{
return (flags & (BINCMP_FLAG | BINARY_FLAG)) != 0;
}
+
+ ha_storage_media field_storage_type() const
+ {
+ return (ha_storage_media)
+ ((flags >> FIELD_FLAGS_STORAGE_MEDIA) & 3);
+ }
+
+ column_format_type column_format() const
+ {
+ return (column_format_type)
+ ((flags >> FIELD_FLAGS_COLUMN_FORMAT) & 3);
+ }
};
=== modified file 'sql/handler.h'
--- a/sql/handler.h 2012-04-10 08:45:55 +0000
+++ b/sql/handler.h 2012-04-19 11:17:29 +0000
@@ -347,6 +347,13 @@ enum row_type { ROW_TYPE_NOT_USED=-1, RO
/** Unused. Reserved for future versions. */
ROW_TYPE_PAGE };
+/* Specifies data storage format for individual columns */
+enum column_format_type {
+ COLUMN_FORMAT_TYPE_DEFAULT= 0, /* Not specified (use engine default) */
+ COLUMN_FORMAT_TYPE_FIXED= 1, /* FIXED format */
+ COLUMN_FORMAT_TYPE_DYNAMIC= 2 /* DYNAMIC format */
+};
+
enum enum_binlog_func {
BFN_RESET_LOGS= 1,
BFN_RESET_SLAVE= 2,
@@ -1017,6 +1024,12 @@ public:
// Table is renamed
static const HA_ALTER_FLAGS ALTER_RENAME = 1L << 18;
+ // Change the storage type of column
+ static const HA_ALTER_FLAGS ALTER_COLUMN_STORAGE_TYPE = 1L << 19;
+
+ // Change the column format of column
+ static const HA_ALTER_FLAGS ALTER_COLUMN_COLUMN_FORMAT = 1L << 20;
+
/**
Create options (like MAX_ROWS) for the new version of table.
=== modified file 'sql/lex.h'
--- a/sql/lex.h 2012-03-06 14:29:42 +0000
+++ b/sql/lex.h 2012-04-19 11:17:29 +0000
@@ -117,6 +117,7 @@ static SYMBOL symbols[] = {
{ "COLLATE", SYM(COLLATE_SYM)},
{ "COLLATION", SYM(COLLATION_SYM)},
{ "COLUMN", SYM(COLUMN_SYM)},
+ { "COLUMN_FORMAT", SYM(COLUMN_FORMAT_SYM)},
{ "COLUMN_NAME", SYM(COLUMN_NAME_SYM)},
{ "COLUMNS", SYM(COLUMNS)},
{ "COMMENT", SYM(COMMENT_SYM)},
=== modified file 'sql/sql_show.cc'
--- a/sql/sql_show.cc 2012-03-30 15:38:01 +0000
+++ b/sql/sql_show.cc 2012-04-19 11:17:29 +0000
@@ -1543,6 +1543,34 @@ int store_create_info(THD *thd, TABLE_LI
packet->append(STRING_WITH_LEN(" NULL"));
}
+ switch(field->field_storage_type()){
+ case HA_SM_DEFAULT:
+ break;
+ case HA_SM_DISK:
+ packet->append(STRING_WITH_LEN(" /*!50606 STORAGE DISK */"));
+ break;
+ case HA_SM_MEMORY:
+ packet->append(STRING_WITH_LEN(" /*!50606 STORAGE MEMORY */"));
+ break;
+ default:
+ DBUG_ASSERT(0);
+ break;
+ }
+
+ switch(field->column_format()){
+ case COLUMN_FORMAT_TYPE_DEFAULT:
+ break;
+ case COLUMN_FORMAT_TYPE_FIXED:
+ packet->append(STRING_WITH_LEN(" /*!50606 COLUMN_FORMAT FIXED */"));
+ break;
+ case COLUMN_FORMAT_TYPE_DYNAMIC:
+ packet->append(STRING_WITH_LEN(" /*!50606 COLUMN_FORMAT DYNAMIC */"));
+ break;
+ default:
+ DBUG_ASSERT(0);
+ break;
+ }
+
if (print_default_clause(thd, field, &def_value, true))
{
packet->append(STRING_WITH_LEN(" DEFAULT "));
=== modified file 'sql/sql_table.cc'
--- a/sql/sql_table.cc 2012-04-10 08:45:55 +0000
+++ b/sql/sql_table.cc 2012-04-19 11:17:29 +0000
@@ -5359,6 +5359,16 @@ static bool fill_alter_inplace_info(THD
*/
if (field->field_index != new_field_index)
ha_alter_info->handler_flags|= Alter_inplace_info::ALTER_COLUMN_ORDER;
+
+ /* Detect changes in storage type of column */
+ if (new_field->field_storage_type() != field->field_storage_type())
+ ha_alter_info->handler_flags|=
+ Alter_inplace_info::ALTER_COLUMN_STORAGE_TYPE;
+
+ /* Detect changes in column format of column */
+ if (new_field->column_format() != field->column_format())
+ ha_alter_info->handler_flags|=
+ Alter_inplace_info::ALTER_COLUMN_COLUMN_FORMAT;
}
else
{
=== modified file 'sql/sql_yacc.yy'
--- a/sql/sql_yacc.yy 2012-03-30 15:38:01 +0000
+++ b/sql/sql_yacc.yy 2012-04-19 11:17:29 +0000
@@ -1085,6 +1085,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
%token COLLATION_SYM /* SQL-2003-N */
%token COLUMNS
%token COLUMN_SYM /* SQL-2003-R */
+%token COLUMN_FORMAT_SYM
%token COLUMN_NAME_SYM /* SQL-2003-N */
%token COMMENT_SYM
%token COMMITTED_SYM /* SQL-2003-N */
@@ -6292,6 +6293,39 @@ attribute:
Lex->charset=$2;
}
}
+ | COLUMN_FORMAT_SYM DEFAULT
+ {
+ Lex->type&= ~(FIELD_FLAGS_COLUMN_FORMAT_MASK);
+ Lex->type|=
+ (COLUMN_FORMAT_TYPE_DEFAULT << FIELD_FLAGS_COLUMN_FORMAT);
+ }
+ | COLUMN_FORMAT_SYM FIXED_SYM
+ {
+ Lex->type&= ~(FIELD_FLAGS_COLUMN_FORMAT_MASK);
+ Lex->type|=
+ (COLUMN_FORMAT_TYPE_FIXED << FIELD_FLAGS_COLUMN_FORMAT);
+ }
+ | COLUMN_FORMAT_SYM DYNAMIC_SYM
+ {
+ Lex->type&= ~(FIELD_FLAGS_COLUMN_FORMAT_MASK);
+ Lex->type|=
+ (COLUMN_FORMAT_TYPE_DYNAMIC << FIELD_FLAGS_COLUMN_FORMAT);
+ }
+ | STORAGE_SYM DEFAULT
+ {
+ Lex->type&= ~(FIELD_FLAGS_STORAGE_MEDIA_MASK);
+ Lex->type|= (HA_SM_DEFAULT << FIELD_FLAGS_STORAGE_MEDIA);
+ }
+ | STORAGE_SYM DISK_SYM
+ {
+ Lex->type&= ~(FIELD_FLAGS_STORAGE_MEDIA_MASK);
+ Lex->type|= (HA_SM_DISK << FIELD_FLAGS_STORAGE_MEDIA);
+ }
+ | STORAGE_SYM MEMORY_SYM
+ {
+ Lex->type&= ~(FIELD_FLAGS_STORAGE_MEDIA_MASK);
+ Lex->type|= (HA_SM_MEMORY << FIELD_FLAGS_STORAGE_MEDIA);
+ }
;
@@ -13473,6 +13507,7 @@ keyword_sp:
| CODE_SYM {}
| COLLATION_SYM {}
| COLUMN_NAME_SYM {}
+ | COLUMN_FORMAT_SYM {}
| COLUMNS {}
| COMMITTED_SYM {}
| COMPACT_SYM {}
=== modified file 'sql/table.cc'
--- a/sql/table.cc 2012-04-04 10:23:48 +0000
+++ b/sql/table.cc 2012-04-19 11:17:29 +0000
@@ -1582,8 +1582,8 @@ static int open_binary_frm(THD *thd, TAB
((field_flags >> COLUMN_FORMAT_SHIFT)& COLUMN_FORMAT_MASK);
DBUG_PRINT("debug", ("field flags: %u, storage: %u, column_format: %u",
field_flags, field_storage, field_column_format));
- (void)field_storage; /* Reserved by and used in MySQL Cluster */
- (void)field_column_format; /* Reserved by and used in MySQL Cluster */
+ reg_field->set_storage_type((ha_storage_media)field_storage);
+ reg_field->set_column_format((column_format_type)field_column_format);
}
}
*field_ptr=0; // End marker
=== modified file 'sql/unireg.cc'
--- a/sql/unireg.cc 2012-03-20 15:09:23 +0000
+++ b/sql/unireg.cc 2012-04-19 11:17:29 +0000
@@ -390,8 +390,8 @@ bool mysql_create_frm(THD *thd, const ch
List_iterator<Create_field> it(create_fields);
while ((field=it++))
{
- const uchar field_storage= 0; /* Used in MySQL Cluster */
- const uchar field_column_format= 0; /* Used in MySQL Cluster */
+ const uchar field_storage= field->field_storage_type();
+ const uchar field_column_format= field->column_format();
const uchar field_flags=
field_storage + (field_column_format << COLUMN_FORMAT_SHIFT);
*ptr= field_flags;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (magnus.blaudd:3862 to 3863) WL#5916 | magnus.blaudd | 20 Apr |