List:Commits« Previous MessageNext Message »
From:Marc Alff Date:March 12 2012 11:22am
Subject:bzr push into mysql-trunk branch (marc.alff:3712 to 3713)
View as plain text  
 3713 Marc Alff	2012-03-12
      Manual merge to mysql-5.6.5-m8-release
      
      Ported manually the following fixes to the 5.6.5-m8 release branch:
      
      - WL#5767 post merge cleanup (build break, test suite when building without perfschema)
      
      - Bug#13819132 BROKEN SYNTAX ACCEPTED FOR START TRANSACTION
        and related warning cleanup in sql/sql_yacc.yy

    modified:
      include/mysql/psi/psi.h
      include/mysql/psi/psi_abi_v0.h.pp
      include/mysql/psi/psi_abi_v1.h.pp
      include/mysql/psi/psi_abi_v2.h.pp
      mysql-test/r/parser.result
      mysql-test/suite/perfschema/t/digest_table_full-master.opt
      mysql-test/suite/perfschema/t/start_server_no_digests-master.opt
      mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt
      mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt
      mysql-test/t/parser.test
      sql/sql_yacc.yy
 3712 Joerg Bruehe	2012-03-05
      This is 2012 - update the copyright year.

    modified:
      README
=== modified file 'include/mysql/psi/psi.h'
--- a/include/mysql/psi/psi.h	2012-02-23 23:27:02 +0000
+++ b/include/mysql/psi/psi.h	2012-03-12 11:21:16 +0000
@@ -142,6 +142,13 @@ typedef struct PSI_statement_locker PSI_
 struct PSI_idle_locker;
 typedef struct PSI_idle_locker PSI_idle_locker;
 
+/**
+  Interface for an instrumented statement digest operation.
+  This is an opaque structure.
+*/
+struct PSI_digest_locker;
+typedef struct PSI_digest_locker PSI_digest_locker;
+
 /** Entry point for the performance schema interface. */
 struct PSI_bootstrap
 {
@@ -349,13 +356,6 @@ typedef struct PSI_file_locker PSI_file_
 struct PSI_socket_locker;
 typedef struct PSI_socket_locker PSI_socket_locker;
 
-/**
-  Interface for an instrumented statement digest operation.
-  This is an opaque structure.
-*/
-struct PSI_digest_locker;
-typedef struct PSI_digest_locker PSI_digest_locker;
-
 /** Operation performed on an instrumented mutex. */
 enum PSI_mutex_operation
 {

=== modified file 'include/mysql/psi/psi_abi_v0.h.pp'
--- a/include/mysql/psi/psi_abi_v0.h.pp	2012-02-09 14:41:43 +0000
+++ b/include/mysql/psi/psi_abi_v0.h.pp	2012-03-12 11:21:16 +0000
@@ -24,6 +24,8 @@ struct PSI_statement_locker;
 typedef struct PSI_statement_locker PSI_statement_locker;
 struct PSI_idle_locker;
 typedef struct PSI_idle_locker PSI_idle_locker;
+struct PSI_digest_locker;
+typedef struct PSI_digest_locker PSI_digest_locker;
 struct PSI_bootstrap
 {
   void* (*get_interface)(int version);

=== modified file 'include/mysql/psi/psi_abi_v1.h.pp'
--- a/include/mysql/psi/psi_abi_v1.h.pp	2012-02-23 23:27:02 +0000
+++ b/include/mysql/psi/psi_abi_v1.h.pp	2012-03-12 11:21:16 +0000
@@ -24,6 +24,8 @@ struct PSI_statement_locker;
 typedef struct PSI_statement_locker PSI_statement_locker;
 struct PSI_idle_locker;
 typedef struct PSI_idle_locker PSI_idle_locker;
+struct PSI_digest_locker;
+typedef struct PSI_digest_locker PSI_digest_locker;
 struct PSI_bootstrap
 {
   void* (*get_interface)(int version);
@@ -39,8 +41,6 @@ struct PSI_file_locker;
 typedef struct PSI_file_locker PSI_file_locker;
 struct PSI_socket_locker;
 typedef struct PSI_socket_locker PSI_socket_locker;
-struct PSI_digest_locker;
-typedef struct PSI_digest_locker PSI_digest_locker;
 enum PSI_mutex_operation
 {
   PSI_MUTEX_LOCK= 0,

=== modified file 'include/mysql/psi/psi_abi_v2.h.pp'
--- a/include/mysql/psi/psi_abi_v2.h.pp	2012-02-21 18:27:58 +0000
+++ b/include/mysql/psi/psi_abi_v2.h.pp	2012-03-12 11:21:16 +0000
@@ -24,6 +24,8 @@ struct PSI_statement_locker;
 typedef struct PSI_statement_locker PSI_statement_locker;
 struct PSI_idle_locker;
 typedef struct PSI_idle_locker PSI_idle_locker;
+struct PSI_digest_locker;
+typedef struct PSI_digest_locker PSI_digest_locker;
 struct PSI_bootstrap
 {
   void* (*get_interface)(int version);
@@ -39,8 +41,6 @@ struct PSI_file_locker;
 typedef struct PSI_file_locker PSI_file_locker;
 struct PSI_socket_locker;
 typedef struct PSI_socket_locker PSI_socket_locker;
-struct PSI_digest_locker;
-typedef struct PSI_digest_locker PSI_digest_locker;
 enum PSI_mutex_operation
 {
   PSI_MUTEX_LOCK= 0,

=== modified file 'mysql-test/r/parser.result'
--- a/mysql-test/r/parser.result	2011-11-01 11:52:24 +0000
+++ b/mysql-test/r/parser.result	2012-03-12 11:21:16 +0000
@@ -655,3 +655,8 @@ CREATE TABLE t (id INT PRIMARY KEY);
 ALTER TABLE t RENAME TO `t1';;
 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 '`t1'' at line 1
 DROP TABLE t;
+#
+# Bug#13819132 BROKEN SYNTAX ACCEPTED FOR START TRANSACTION
+#
+START TRANSACTION ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;
+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

=== modified file 'mysql-test/suite/perfschema/t/digest_table_full-master.opt'
--- a/mysql-test/suite/perfschema/t/digest_table_full-master.opt	2012-02-16 14:58:41 +0000
+++ b/mysql-test/suite/perfschema/t/digest_table_full-master.opt	2012-03-12 11:21:16 +0000
@@ -1 +1 @@
---performance-schema-digests-size=2
+--loose-performance-schema-digests-size=2

=== modified file 'mysql-test/suite/perfschema/t/start_server_no_digests-master.opt'
--- a/mysql-test/suite/perfschema/t/start_server_no_digests-master.opt	2012-01-16 19:07:57 +0000
+++ b/mysql-test/suite/perfschema/t/start_server_no_digests-master.opt	2012-03-12 11:21:16 +0000
@@ -1 +1 @@
---performance-schema-digests-size=0
+--loose-performance-schema-digests-size=0

=== modified file 'mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt'
--- a/mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt	2012-02-10 10:13:58 +0000
+++ b/mysql-test/suite/perfschema/t/statement_digest_consumers-master.opt	2012-03-12 11:21:16 +0000
@@ -1,2 +1,2 @@
---performance_schema_consumer_statements_digest=1
---performance_schema_consumer_events_statements_current=0
+--loose-performance_schema_consumer_statements_digest=1
+--loose-performance_schema_consumer_events_statements_current=0

=== modified file 'mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt'
--- a/mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt	2012-02-10 10:13:58 +0000
+++ b/mysql-test/suite/perfschema/t/statement_digest_consumers2-master.opt	2012-03-12 11:21:16 +0000
@@ -1,2 +1,2 @@
---performance_schema_consumer_statements_digest=0
---performance_schema_consumer_events_statements_current=1
+--loose-performance_schema_consumer_statements_digest=0
+--loose-performance_schema_consumer_events_statements_current=1

=== modified file 'mysql-test/t/parser.test'
--- a/mysql-test/t/parser.test	2011-07-25 10:54:06 +0000
+++ b/mysql-test/t/parser.test	2012-03-12 11:21:16 +0000
@@ -785,3 +785,11 @@ CREATE TABLE t (id INT PRIMARY KEY);
 --error ER_PARSE_ERROR
 --query ALTER TABLE t RENAME TO `t1';
 DROP TABLE t;
+
+--echo #
+--echo # Bug#13819132 BROKEN SYNTAX ACCEPTED FOR START TRANSACTION
+--echo #
+
+--error ER_PARSE_ERROR
+START TRANSACTION ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;
+

=== modified file 'sql/sql_yacc.yy'
--- a/sql/sql_yacc.yy	2012-03-01 13:53:55 +0000
+++ b/sql/sql_yacc.yy	2012-03-12 11:21:16 +0000
@@ -1656,12 +1656,18 @@ bool my_yyoverflow(short **a, YYSTYPE **
         table_option opt_if_not_exists opt_no_write_to_binlog
         opt_temporary all_or_any opt_distinct
         opt_ignore_leaves fulltext_options spatial_type union_option
-        start_transaction_opt_list start_transaction_opt
         union_opt select_derived_init transaction_access_mode_types
         opt_natural_language_mode opt_query_expansion
         opt_ev_status opt_ev_on_completion ev_on_completion opt_ev_comment
         ev_alter_on_schedule_completion opt_ev_rename_to opt_ev_sql_stmt
 
+/*
+  Bit field of MYSQL_START_TRANS_OPT_* flags.
+*/
+%type <num> opt_start_transaction_option_list
+%type <num> start_transaction_option_list
+%type <num> start_transaction_option
+
 %type <m_yes_no_unk>
         opt_chain opt_release
 
@@ -7377,7 +7383,7 @@ slave:
         ;
 
 start:
-          START_SYM TRANSACTION_SYM start_transaction_opt_list
+          START_SYM TRANSACTION_SYM opt_start_transaction_option_list
           {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_BEGIN;
@@ -7392,16 +7398,30 @@ start:
           }
         ;
 
-start_transaction_opt_list:
-          start_transaction_opt
-          { $$= $1; }
-        | start_transaction_opt_list ',' start_transaction_opt
-          { $$= $1 | $3; }
+opt_start_transaction_option_list:
+          /* empty */
+          {
+            $$= 0;
+          }
+        | start_transaction_option_list
+          {
+            $$= $1;
+          }
         ;
 
-start_transaction_opt:
-          /*empty*/ { $$ = 0; }
-        | WITH CONSISTENT_SYM SNAPSHOT_SYM
+start_transaction_option_list:
+          start_transaction_option
+          {
+            $$= $1;
+          }
+        | start_transaction_option_list ',' start_transaction_option
+          {
+            $$= $1 | $3;
+          }
+        ;
+
+start_transaction_option:
+          WITH CONSISTENT_SYM SNAPSHOT_SYM
           {
             $$= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
           }
@@ -13551,6 +13571,7 @@ set:
             sp_create_assignment_lex(YYTHD, yychar == YYEMPTY);
           }
           start_option_value_list
+          {}
         ;
 
 

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (marc.alff:3712 to 3713) Marc Alff13 Mar