From: Bjorn Munch Date: November 23 2010 11:56am Subject: bzr commit into mysql-5.5-mtr branch (bjorn.munch:3118) Bug#58412 List-Archive: http://lists.mysql.com/commits/124730 X-Bug: 58412 Message-Id: <201011231157.oANBv0Qm008330@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1745417339==" --===============1745417339== 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 3118 Bjorn Munch 2010-11-23 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-23 11:55:32 +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-23 11:55:32 +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-23 11:55:32 +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-23 11:55:32 +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; --===============1745417339== 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: a1288a9164909ec2b590a21208cf3ad7af28d57b # timestamp: 2010-11-23 12:57:00 +0100 # base_revision_id: bjorn.munch@stripped\ # pn7ouie2y7pl8wi1 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWa2nsLUABBjfgFQQfP///3IC Cg6////+YAf92z5bZAADbGlQlGgqghJJNDUZR6mTyg9NMk8qfqaJ5TZQ8oGgHqAOaMmJgAmIwI0w IMRgmTAIwop+ijMpoaaBkMg0wgyDTQaMIaGEiIgkYSep5GKHtTUNPSAHqAB6gDQ5oyYmACYjAjTA gxGCZMAjBJICAEyDQEYmiYmk9EjyQAPSP1SiS0GzXgdg9plxxTmKk/PZ6eHyj+9O3C94MfLI3/qT CrILcACDF9TbWvnCXGMYh+jiEVxCS6HSgCd0xiFXVA6DJE51ItCEh6EcPzts8+QrXoewzkuj5yN/ pLw1BUDDYNtpsWvikaMdeQequqRvXW2eiwrqtrDRqdtLib7r5Cg6XQ2UK3zx0G1tnZ+c3nw4Z9HH 8dy7BcO6FFltlM6HPZh4802BwP+d35NOmQPh8PR7aC7LX1kBCMaNLapivRdjlz7+boV4e2vretv5 f173BLVz9ccdmkB1H3eIOvOpTbTZbZiJlx+mQtlK0iKWuU4ZiYm08ft1eGR5sdvILmaX4XeFByOw pNAfotSB1PmQ3D9jaDoKK+ngLf3guuHQ1soVq8EWghy+TLzPubgjXMNIb+mxAdTBsho05DMTQylB hUZbFBlCiQQkjrM5ASEkFAgkzEbytpYejnMRJQtFJTL4G202lE5GBW/BIwk4Kr2gQOrEWQjC2ZeE R/0K/eEqEg03Asi8CimumCEwWNTotvpo0V4vFTicxf5E/3wcRAwBX6nLnkO2F/9sSAu6kcXh0GHl JryNeIM/clqgLRncbS3UTRaWl8ZvQnJCcG4htH4FQ1AN9yQKo3QxkGsiF32KNEDg8kXJxGO99jZs lWbjSfvXQatDxaSzUQqm1WgsiRKATjQZDgVzhpZWOE95DPHGoibihibhtRqzfx/h8HDtGjTmZXFo swjDUlBHiSDuGyagj8GkplEl/EqGaFlw4IlVo0gG4oqCodFiZaC6nMnwi6stfY6IrCssgMPJ7GpM ikFEXW8jNLlTIFz0yLuVq6nQ/xrMiYxqqnpLjKdp2Og6kinNdr2VM6FNpYZUI6dKbzTbhXQU2G8a GeYomrE2vymOmXlUY0SIsznGiwgTa6qqoznwdGekwGHTspwFHiCpNT+7lAsMLDyF5C2HY8COc9Wu A2WkcGQ8kPMzWQFwqKZjRoKcB5E0kpdqs5m8pJHFU/AKYpW202taUkiofKBstIaMSHKuwrJxOZKo tKLisw2Sqg4L7HgXwfClo8rkRuEz5HRolSfK2K8sThvi4GLdfFHvF4t97sIhw9OGhjH4AwmVDaXI gx+4OrgCMpa00Mf88Y6ghRSY1losQa6lwMu9OwelEH539XoKAouokI3BzLipu4s+d57p4Il4rrZ5 U1SmlgTBO9cPWIZRhBaWuQn5RD68Clnefp9j3yNpsPQ9tJv2xIjP+hjuPIsKjjuMUtZihgdya4vN YIowiRwGCnLDAnOMT6msbPca2zN+d9h+uHQSPH9r05SZgR+vKkEcFqeeMu34X+tp9y2TXs21wnDg 1GfLjDh4GqgUhVG0fII0DjKo8QX74yaI6zl6kQ58TP2iyzbjfrYJfTRhCSOQBbPEbfww8TdUKWhl Og8TlPTMYgYh+gS3hgzsAmS6aaycwT6sqXTnu6XNddVWZM0rdvJxOHeFelHrTC6s9ctuHGLuc49q JrokAzTK0CDDku82aZEGaGXumA7HRdYrC599ZAFIW7yUgPB5fkRMRwRuC8MyMxzXlg82s0A16ZET 2RKitkqtXjD0JIuENWZ6Pne1UlmV7y55ORrAKqUM3hgUHNYaO5BsdnqFKuxS/odHWAqEfkNvp3go 41l6pRQHWlK2OM+zsGz7dOOTRclKGlJiemhWpzqqyAUW9BxYEYXKBfP1M4s0eWOKWn57jGesyvDr 2klD1LpFImGCSMAQwG7v6nVyxJqc+rUO8O13EE9MhOuI7d3p5cGZINmBqe5UB1wH9AiEWIoitgbf cEY+Hj2PsMMxvZV1XMEQCHsE0SF5YERkYIbxkpMrAFzsU0F8MoMJgyPPXetnMT+By0SLVw9FCIhd LUvF0D9AVFZ/0EXJbAvFBfhCHwWDGxBrbrEF7ity0Lv0CJMYd7AwoJVxyKhVBFbxMEZAn1W+f4Ct /qFReC0fMFp4cr9/HAFrQvJ5f+ws1q6XszDGNqgQtDEJQSE30cHowpJHkrPWxFbNZUlMfgVlSloR XC3Jd8N5TyGwK4sWBMJqe/EaeeNAmZdxCjdx04x2bd7kZB0SYOlYrYGsNjMzNut+SFtLpshd40Y0 rUQEUgWl9Dv3NM1czlByjPLaRdeKLApd4AMYhGcJuFUEaHnMLEKNwDuw6iWzAdg0bkq1SeG0L5SD 4ZpurcLuJGN2xdlZeXgt2Ht9eUiQu2hX6T46AiWYiWi8OZYcTbaGxY9YpYF3fuMJGsrr7vq/2E1U 4ieJx14/IYwx+2WQl5mJkxETK61Ez5nmciKFWaNpYex5jyzjxWSMsrjI0aCzIz9l++mCX/xdyRTh QkK2nsLU --===============1745417339==--