Bug #13384 mysqltest, no protocol when script contains only lines with eval
| Submitted: | 21 Sep 2005 17:00 | Modified: | 22 Sep 2005 19:53 |
|---|---|---|---|
| Reporter: | Matthias Leich | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Command-line Clients | Severity: | S1 (Critical) |
| Version: | 4.1 | OS: | |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
[22 Sep 2005 15:08]
Matthias Leich
The impact of this bug is bigger.
Top level script with SELECT 1;
--source sublevel.inc
sublevel.inc contains many statements, but all with eval
I get a protocol file with SELECT 1 and his result. NOTHING more.
So I cannot trust any protocols and any [passed|failed] messages.
[22 Sep 2005 15:27]
Carsten Segieth
The bug also breaks the funcs_1 suite! Here the 2 tests 'memory__load' and 'myisam__load' now fails (but 'innodb__load' passes). The only difference between them is that the first 'non comment' statement in the successful 'innodb__load' is '--source include/have_innodb.inc'. In the 2 other tests (memory + myisam) the first statement is 'let $engine= ...'. To reproduce and / or test this use get a clone of mysql-test-extra-5.0 cd .../mysql-test mkdir suite ln -s .../mysql-test-extra-5.0/mysql-test/suite suite ./mysql-test-run.pl --suite=funcs_1
[22 Sep 2005 15:53]
Matthias Leich
Please ignore the bug description within my comment [22 Sep 17:08] Matthias Leich . The problem was caused by a scripting bug (open of one, but close of two while loops) within my script sublevel.inc. I do not know why I didn't got an error message by mysqltest, but I am no more able to reproduce this situation. But the first bug description of the report remains valid.
[22 Sep 2005 19:25]
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/internals/30234
[22 Sep 2005 19:52]
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/internals/30236
[22 Sep 2005 19:53]
Magnus Blåudd
Pushed to 4.1 and 5.0
[22 Sep 2005 20:00]
Magnus Blåudd
Run the funcs_1 test suite successfully
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.056 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When contains only statements with an leading eval Example: eval SELECT 'ABC'; eval SELECT 'DEF'; eval .... I never get a protocol. Unfortunately this harms the Upgrade/Downgrade testsuite. I am nearly 100 % sure, that this bug was introduced by a push within the last 2-5 days. MySQL 5.0.13-rc does not show this bug. I guess the current MySQL 4.0 contains the same bug, but I could not check it. Workaround: Write a SQL statement without eval into the script. My environment: - Intel PC with Linux(SuSE 9.3) - MySQL compiled from source Version 4.1 ChangeSet@1.2452, 2005-09-21 Version 5.0 ChangeSet@1.1980.1.2, 2005-09-21 How to repeat: echo "Dummy" > r/my.result # produce a fake result file echo "eval SELECT 'ABC';" > t/my.test ./mysql-test-run --skip-ndb my ls -l r/my.reject <--- There will be no reject file echo "SELECT 1;" >> t/my.test ./mysql-test-run --skip-ndb my ls -l r/my.reject <--- There will be a reject file because of the workaround.