From: Bjorn Munch Date: November 26 2010 9:57am Subject: bzr commit into mysql-5.5-mtr branch (bjorn.munch:3120) Bug#58412 List-Archive: http://lists.mysql.com/commits/125098 X-Bug: 58412 Message-Id: <201011260957.oAQ9vUm2023512@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1767501025==" --===============1767501025== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/quote-55/ based on revid:bjorn.munch@stripped 3120 Bjorn Munch 2010-11-26 Bug #58412 mysqltest: allow quoting of strings in let and in if comparison Stripping quotes in let was a bad idea, will not fix Added code to strip quotes from rhs in comparisons modified: client/mysqltest.cc mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test mysql-test/r/mysqltest.result mysql-test/t/mysqltest.test === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-11-18 15:41:35 +0000 +++ b/client/mysqltest.cc 2010-11-26 09:57:01 +0000 @@ -5678,6 +5678,17 @@ void do_block(enum block_cmd cmd, struct while (my_isspace(charset_info, *curr_ptr)) curr_ptr++; + /* Strip off trailing white space */ + while (my_isspace(charset_info, expr_end[-1])) + expr_end--; + /* strip off ' or " around the string */ + if (*curr_ptr == '\'' || *curr_ptr == '"') + { + if (expr_end[-1] != *curr_ptr) + die("Unterminated string value"); + curr_ptr++; + expr_end--; + } VAR v2; var_init(&v2,0,0,0,0); eval_expr(&v2, curr_ptr, &expr_end); === modified file 'mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test' --- a/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test 2010-11-17 10:16:13 +0000 +++ b/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test 2010-11-26 09:57:01 +0000 @@ -36,8 +36,8 @@ let $ddl_cases= 41; while ($ddl_cases >= 1) { --echo -b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b- - let $in_temporary= "no"; - let $ok= "yes"; + let $in_temporary= no; + let $ok= yes; # # In SBR and MIXED modes, the commit event is usually the third event in the # binary log: @@ -91,7 +91,7 @@ while ($ddl_cases >= 1) { # This seems to be related to epochs. # We need to check this against an updated version or avoid it. - let $ok= "no"; + let $ok= no; let $commit_event_row_number= 6; } } @@ -356,7 +356,7 @@ while ($ddl_cases >= 1) if ($ddl_cases == 11) { let $cmd= CREATE TEMPORARY TABLE tt_xx (a int); - let $in_temporary= "yes"; + let $in_temporary= yes; # In SBR and MIXED modes, the DDL statement is written to the binary log but # does not commit the current transaction. # @@ -478,7 +478,7 @@ while ($ddl_cases >= 1) if ($ddl_cases == 8) { let $cmd= DROP TEMPORARY TABLE IF EXISTS new_tt_xx; - let $in_temporary= "yes"; + let $in_temporary= yes; # # In SBR and MIXED modes, the DDL statement is written to the binary log # but does not commit the current transaction: @@ -618,14 +618,14 @@ while ($ddl_cases >= 1) # commit. The flag in_temporary is used to avoid aborting the test in such # cases. Thus we force the commit. # - if ($in_temporary == "yes") + if ($in_temporary == yes) { --eval COMMIT } let $event_commit= query_get_value("SHOW BINLOG EVENTS FROM $first_binlog_position", Info, $commit_event_row_number); if (`SELECT SUBSTRING("$event_commit",1,6) != "COMMIT"`) { - if ($ok == "yes") + if ($ok == yes) { --echo it *does not* commit the current transaction. --echo $cmd === modified file 'mysql-test/r/mysqltest.result' --- a/mysql-test/r/mysqltest.result 2010-11-18 15:41:35 +0000 +++ b/mysql-test/r/mysqltest.result 2010-11-26 09:57:01 +0000 @@ -423,7 +423,10 @@ while with string, only once hello == hello hello == hello hello != goodbye +'quoted' == ''quoted'' two words +'two words' +"two words" two words are two words right answer anything goes === modified file 'mysql-test/t/mysqltest.test' --- a/mysql-test/t/mysqltest.test 2010-11-18 15:41:35 +0000 +++ b/mysql-test/t/mysqltest.test 2010-11-26 09:57:01 +0000 @@ -1276,12 +1276,24 @@ if ($ifvar != goodbye) { echo hello != goodbye; } - +let $ifvar= 'quoted'; +if ($ifvar == ''quoted'') +{ + echo 'quoted' == ''quoted''; +} let $ifvar= two words; if ($ifvar == two words) { echo two words; } +if ($ifvar == 'two words') +{ + echo 'two words'; +} +if ($ifvar == "two words") +{ + echo "two words"; +} if ($ifvar == `SELECT 'two words'`) { echo two words are two words; --===============1767501025== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/bjorn.munch@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: bjorn.munch@stripped # target_branch: file:///home/bm136801/my/quote-55/ # testament_sha1: 5dab686c3d6b008e5ba3c2f23c6f1f9bd964eac3 # timestamp: 2010-11-26 10:57:30 +0100 # source_branch: file:///home/bm136801/my/mixsuite-51/ # base_revision_id: bjorn.munch@stripped\ # 8p3h89t6jg7cb7gt # # Begin bundle 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 --===============1767501025==--