Bug #49878 | delimiter under false 'if' makes mysqltest test fail with 'Missing end of block' | ||
---|---|---|---|
Submitted: | 22 Dec 2009 14:26 | Modified: | 17 Jun 2010 19:39 |
Reporter: | Elena Stepanova | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Tools: MTR / mysql-test-run | Severity: | S3 (Non-critical) |
Version: | OS: | Any | |
Assigned to: | Bjørn Munch | CPU Architecture: | Any |
[22 Dec 2009 14:26]
Elena Stepanova
[22 Dec 2009 20:38]
Elena Stepanova
# Partial workaround (note the commented line after the 2nd delimiter). # Not sure about the exact scope of the workaround -- a line ending with ';' # helps here and in some real-life situations, but not always. if (0) { delimiter //; SELECT @@version // delimiter ;// #; } --echo # Outside
[22 Dec 2009 22:26]
Elena Stepanova
# Another workaround, seems to be more reliable if (0) { --delimiter // SELECT @@version // --delimiter ; } --echo # Outside
[12 Jan 2010 12:42]
Bjørn Munch
Actually, this happens because the delimiter commands are *not* executed in the false if, and so mysqltest does not recognize the last command ending in // and thus the end of the block. A workaround will be to make sure the last line in the if() is a command that ends with the "old" delimiter which was in use before the block. "sleep 0;" could be used as a noop. However, there are some cases where commands within the block have to be (partly) executed even if the condition is false, at least if the if() is inside a while(). This means it has to interpret also the delimiter commands. I'll see if I can find a way to do that...
[12 Jan 2010 14:26]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/96617 2876 Bjorn Munch 2010-01-12 Bug #49878 delimiter under false 'if' makes mysqltest test fail with 'Missing end of block' delimiter not executed so does not recognize end of block Always execute delimiter command, revert after false if() block.
[19 Jan 2010 17:31]
Magnus Blåudd
Ok
[20 Jan 2010 13:19]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/97557 2879 Bjorn Munch 2010-01-20 Bug #49878 delimiter under false 'if' makes mysqltest test fail with 'Missing end of block' delimiter not executed so does not recognize end of block Always execute delimiter command, revert after false if() block.
[20 Jan 2010 15:53]
Bjørn Munch
Pushed to 5.1-mtr, trunk-mtr, next-mr-mtr, 6.0-codebase-mtr
[20 Feb 2010 9:31]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100220092844-jh07ayojyxn8uh9p) (version source revid:bjorn.munch@sun.com-20100120153513-b70e3bs7e06jfvf3) (merge vers: 6.0.14-alpha) (pib:16)
[20 Feb 2010 9:33]
Bugs System
Pushed into 5.5.3-m2 (revid:alik@sun.com-20100220092622-wvhh1vfy5tjq4mhu) (version source revid:bjorn.munch@sun.com-20100120133748-0aiuazzbcqje8my0) (merge vers: 5.5.1-m2) (pib:16)
[20 Feb 2010 9:36]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100220092730-paoo5t9gcajs5dq8) (version source revid:bjorn.munch@sun.com-20100120154314-icr9oiinm588c3sk) (pib:16)
[23 Feb 2010 2:14]
Paul DuBois
Changes to test suite. No changelog entry needed. Setting report to Need Merge pending push to 5.1.x, Celosia.
[1 Mar 2010 8:45]
Bugs System
Pushed into 5.1.45 (revid:joro@sun.com-20100301083827-xnimmrjg6bh33o1o) (version source revid:azundris@mysql.com-20100222175719-viuh0f3gdsrkgv0r) (merge vers: 5.1.45) (pib:16)
[1 Mar 2010 16:34]
Paul DuBois
No changelog entry needed.
[17 Jun 2010 11:57]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 12:36]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:martin.skold@mysql.com-20100609140708-52rvuyq4q500sxkq) (merge vers: 5.1.45-ndb-6.2.19) (pib:16)
[17 Jun 2010 13:23]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)