3493 Marc Alff 2012-04-06 [merge]
Merge mysql-trunk --> mysql-trunk-pfs-tuning
modified:
mysql-test/collections/default.push
mysql-test/mysql-test-run.pl
mysql-test/suite/perfschema/include/digest_cleanup.inc
mysql-test/suite/perfschema/include/digest_execution.inc
mysql-test/suite/perfschema/include/digest_setup.inc
mysql-test/suite/perfschema/r/digest_table_full.result
mysql-test/suite/perfschema/r/start_server_no_digests.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_consumers2.result
storage/innobase/include/ut0vec.ic
storage/perfschema/pfs_digest.cc
3492 Marc Alff 2012-04-05
tuning, in progress
modified:
storage/perfschema/pfs.cc
storage/perfschema/pfs_instr.cc
storage/perfschema/pfs_instr.h
storage/perfschema/pfs_instr_class.cc
storage/perfschema/pfs_instr_class.h
=== modified file 'mysql-test/collections/default.push'
--- a/mysql-test/collections/default.push 2012-03-21 10:25:37 +0000
+++ b/mysql-test/collections/default.push 2012-04-06 04:59:47 +0000
@@ -2,4 +2,5 @@ perl mysql-test-run.pl --timer --force -
perl mysql-test-run.pl --timer --force --parallel=auto --comment=main_ps_row --vardir=var-main-ps_row --suite=main --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
perl mysql-test-run.pl --timer --force --parallel=auto --comment=main_embedded --vardir=var-main_emebbed --suite=main --embedded --experimental=collections/default.experimental --skip-ndb
perl mysql-test-run.pl --timer --force --parallel=auto --comment=innodb_4k_size --vardir=var-innodb-4k --experimental=collections/default.experimental --skip-ndb --suite=innodb --mysqld=--innodb-page-size=4k
-perl mysql-test-run.pl --timer --force --comment=explain-json --vardir=var-explain-json --suite=explain_json_validate
+perl mysql-test-run.pl --timer --force --comment=explain-json --vardir=var-explain-json --suite=explain_json_validate
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=partitions --vardir=var-parts --suite=parts
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl 2012-03-08 14:22:07 +0000
+++ b/mysql-test/mysql-test-run.pl 2012-04-05 11:35:31 +0000
@@ -3901,6 +3901,8 @@ sub resfile_report_test ($) {
sub run_testcase ($) {
my $tinfo= shift;
+ my $print_freq=20;
+
mtr_verbose("Running test:", $tinfo->{name});
resfile_report_test($tinfo) if $opt_resfile;
@@ -4059,6 +4061,7 @@ sub run_testcase ($) {
my $test= start_mysqltest($tinfo);
# Set only when we have to keep waiting after expectedly died server
my $keep_waiting_proc = 0;
+ my $print_timeout= start_timer($print_freq * 60);
while (1)
{
@@ -4083,7 +4086,22 @@ sub run_testcase ($) {
}
if (! $keep_waiting_proc)
{
- $proc= My::SafeProcess->wait_any_timeout($test_timeout);
+ if($test_timeout > $print_timeout)
+ {
+ $proc= My::SafeProcess->wait_any_timeout($print_timeout);
+ if ( $proc->{timeout} )
+ {
+ #print out that the test is still on
+ mtr_print("Test still running: $tinfo->{name}");
+ #reset the timer
+ $print_timeout= start_timer($print_freq * 60);
+ next;
+ }
+ }
+ else
+ {
+ $proc= My::SafeProcess->wait_any_timeout($test_timeout);
+ }
}
# Will be restored if we need to keep waiting
=== modified file 'mysql-test/suite/perfschema/include/digest_cleanup.inc'
--- a/mysql-test/suite/perfschema/include/digest_cleanup.inc 2012-02-12 21:48:28 +0000
+++ b/mysql-test/suite/perfschema/include/digest_cleanup.inc 2012-04-06 10:12:40 +0000
@@ -7,5 +7,6 @@ DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
DROP DATABASE IF EXISTS statements_digest;
--enable_warnings
=== modified file 'mysql-test/suite/perfschema/include/digest_execution.inc'
--- a/mysql-test/suite/perfschema/include/digest_execution.inc 2012-02-20 13:32:56 +0000
+++ b/mysql-test/suite/perfschema/include/digest_execution.inc 2012-04-06 10:12:40 +0000
@@ -34,6 +34,19 @@ INSERT INTO t3 VALUES (1, 2), (3, 4), (5
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
# -----------------------------------------------------------------------
+# Test case to handle NULL. If alone, not normalized otherwise normalized.
+# -----------------------------------------------------------------------
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
+
+# -----------------------------------------------------------------------
# Test case for handling spaces in statement.
# -----------------------------------------------------------------------
@@ -59,7 +72,6 @@ SELECT 1 /* This is an inline comment */
*/
1;
-
# -----------------------------------------------------------------------
# Tests to show how the digest behaves with tokens that can have multiple
# names (such as DATABASE = "DATABASE" or "SCHEMA", SUBSTRING, STD_SYM,
@@ -84,3 +96,5 @@ create table t11 (c char(4));
--ERROR ER_TABLE_EXISTS_ERROR
create table t11 (c char(4));
insert into t11 values("MySQL");
+
+
=== modified file 'mysql-test/suite/perfschema/include/digest_setup.inc'
--- a/mysql-test/suite/perfschema/include/digest_setup.inc 2012-02-14 09:20:56 +0000
+++ b/mysql-test/suite/perfschema/include/digest_setup.inc 2012-04-06 10:12:40 +0000
@@ -17,5 +17,6 @@ CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
--enable_warnings
=== modified file 'mysql-test/suite/perfschema/r/digest_table_full.result'
--- a/mysql-test/suite/perfschema/r/digest_table_full.result 2012-03-01 15:40:00 +0000
+++ b/mysql-test/suite/perfschema/r/digest_table_full.result 2012-04-06 10:12:40 +0000
@@ -8,6 +8,7 @@ CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
####################################
# EXECUTION
@@ -35,6 +36,15 @@ INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t1 VALUES (1), (2), (3), (4);
INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
SELECT 1 + 1;
1 + 1
2
@@ -75,7 +85,7 @@ 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
-NULL NULL 29 21 1 2
+NULL NULL 38 30 1 2
dee8f4f04e57a5e456c31892855e6835 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value
@@ -91,4 +101,5 @@ DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
DROP DATABASE IF EXISTS statements_digest;
=== modified file 'mysql-test/suite/perfschema/r/start_server_no_digests.result'
--- a/mysql-test/suite/perfschema/r/start_server_no_digests.result 2012-02-20 13:32:56 +0000
+++ b/mysql-test/suite/perfschema/r/start_server_no_digests.result 2012-04-06 10:12:40 +0000
@@ -8,6 +8,7 @@ CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
####################################
# EXECUTION
@@ -35,6 +36,15 @@ INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t1 VALUES (1), (2), (3), (4);
INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
SELECT 1 + 1;
1 + 1
2
@@ -89,4 +99,5 @@ DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
DROP DATABASE IF EXISTS statements_digest;
=== modified file 'mysql-test/suite/perfschema/r/statement_digest.result'
--- a/mysql-test/suite/perfschema/r/statement_digest.result 2012-03-01 15:40:00 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest.result 2012-04-06 10:12:40 +0000
@@ -8,6 +8,7 @@ CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
####################################
# EXECUTION
@@ -35,6 +36,15 @@ INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t1 VALUES (1), (2), (3), (4);
INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
SELECT 1 + 1;
1 + 1
2
@@ -83,12 +93,14 @@ e7f8dc15f1156f57978116e457cc7488 SELECT
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 (...) 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
@@ -105,4 +117,5 @@ DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
DROP DATABASE IF EXISTS statements_digest;
=== modified file 'mysql-test/suite/perfschema/r/statement_digest_consumers.result'
--- a/mysql-test/suite/perfschema/r/statement_digest_consumers.result 2012-03-01 15:40:00 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest_consumers.result 2012-04-06 10:12:40 +0000
@@ -8,6 +8,7 @@ CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
SELECT * FROM performance_schema.setup_consumers;
NAME ENABLED
events_stages_current YES
@@ -49,6 +50,15 @@ INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t1 VALUES (1), (2), (3), (4);
INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
SELECT 1 + 1;
1 + 1
2
@@ -96,12 +106,14 @@ e7f8dc15f1156f57978116e457cc7488 SELECT
3b8d5477aa795a19c9e9183e4ad04e6b SELECT ?, ... FROM t2 2
5737343d989b1c42464fd3632614d25e INSERT INTO t1 VALUES (?) 1
1e7fe109d5dd49394ee079690a029452 INSERT INTO t2 VALUES (?) 1
-d63092ea2fa59316f398af6283bf80a5 INSERT INTO t3 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
@@ -120,4 +132,5 @@ DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
DROP DATABASE IF EXISTS statements_digest;
=== modified file 'mysql-test/suite/perfschema/r/statement_digest_consumers2.result'
--- a/mysql-test/suite/perfschema/r/statement_digest_consumers2.result 2012-02-20 13:32:56 +0000
+++ b/mysql-test/suite/perfschema/r/statement_digest_consumers2.result 2012-04-06 10:12:40 +0000
@@ -8,6 +8,7 @@ CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
+CREATE TABLE t6(a int, b int, c int, d int);
SELECT * FROM performance_schema.setup_consumers;
NAME ENABLED
events_stages_current YES
@@ -49,6 +50,15 @@ INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t1 VALUES (1), (2), (3), (4);
INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
+INSERT INTO t1 VALUES (NULL);
+INSERT INTO t3 VALUES (NULL,NULL);
+INSERT INTO t3 VALUES (1,NULL);
+INSERT INTO t3 VALUES (NULL,1);
+INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
+INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
+INSERT INTO t6 VALUES (1, 2, 3, NULL);
+INSERT INTO t6 VALUES (1, 2, NULL, 4);
SELECT 1 + 1;
1 + 1
2
@@ -99,4 +109,5 @@ DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
+DROP TABLE IF EXISTS t6;
DROP DATABASE IF EXISTS statements_digest;
=== modified file 'storage/innobase/include/ut0vec.ic'
--- a/storage/innobase/include/ut0vec.ic 2012-03-13 12:46:08 +0000
+++ b/storage/innobase/include/ut0vec.ic 2012-04-06 09:44:03 +0000
@@ -346,7 +346,7 @@ ib_vector_remove(
ib_vector_t* vec, /*!< in: vector */
const void* elem) /*!< in: value to remove */
{
- void* current;
+ void* current = NULL;
void* next;
ulint i;
=== modified file 'storage/perfschema/pfs_digest.cc'
--- a/storage/perfschema/pfs_digest.cc 2012-04-05 07:59:23 +0000
+++ b/storage/perfschema/pfs_digest.cc 2012-04-06 11:19:54 +0000
@@ -579,19 +579,23 @@ PSI_digest_locker* pfs_digest_add_token_
TOK_PFS_GENERIC_VALUE := BIN_NUM | DECIMAL_NUM | ... | ULONGLONG_NUM
*/
token= TOK_PFS_GENERIC_VALUE;
-
+ }
+ /* fall through */
+ case NULL_SYM:
+ {
if ((last_token2 == TOK_PFS_GENERIC_VALUE ||
- last_token2 == TOK_PFS_GENERIC_VALUE_LIST) &&
+ last_token2 == TOK_PFS_GENERIC_VALUE_LIST ||
+ last_token2 == NULL_SYM) &&
(last_token == ','))
{
/*
REDUCE:
TOK_PFS_GENERIC_VALUE_LIST :=
- TOK_PFS_GENERIC_VALUE ',' TOK_PFS_GENERIC_VALUE
+ (TOK_PFS_GENERIC_VALUE|NULL_SYM) ',' (TOK_PFS_GENERIC_VALUE|NULL_SYM)
REDUCE:
TOK_PFS_GENERIC_VALUE_LIST :=
- TOK_PFS_GENERIC_VALUE_LIST ',' TOK_PFS_GENERIC_VALUE
+ TOK_PFS_GENERIC_VALUE_LIST ',' (TOK_PFS_GENERIC_VALUE|NULL_SYM)
*/
digest_storage->m_byte_count-= 2*PFS_SIZE_OF_A_TOKEN;
token= TOK_PFS_GENERIC_VALUE_LIST;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk-pfs-tuning branch (marc.alff:3492 to 3493) | Marc Alff | 10 Apr |