Bug #8458 test case row fails when using prepared statements (--ps-protocol)
Submitted: 11 Feb 2005 20:56 Modified: 28 Jul 2005 13:51
Reporter: Matthias Leich Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S3 (Non-critical)
Version: OS:
Assigned to: Alexey Botchkov CPU Architecture:Any

[11 Feb 2005 20:56] Matthias Leich
Description:
select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
  --> server response when mysql-test is started without --ps-protocol
row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'))
1
Warnings:
Error	1366	Incorrect decimal value: '' for column '' at row -1
  --> server response when mysql-test- is started with --ps-protocol
Warnings:
Error	1366	Incorrect decimal value: '' for column '' at row -1  <-- This line 
                                                                                   should not be here.
row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'))
1
Warnings:
Error	1366	Incorrect decimal value: '' for column '' at row -1

I assume the bug is within the "--ps-protocol" routines of "mysqltest".

My environment:
   - Intel PC with Linux(SuSE 9.1)
   - MySQL 5.0 compiled from source ChangeSet@1.1840.1.27, 2005-02-11

BTW: The warning looks ugly    
   I miss a printout of the incorrect decimal value and the row number -1
   is also not fine.

How to repeat:
Please perform the following
cd mysql-test;   ./mysql-test-run --ps-protocol row
[24 Mar 2005 14:39] Konstantin Osipov
4.1 server doesn't have this bug: it doesn't issue a warning neither for prepared
nor for conventional queries.
This is a server issue:
5.0 server issues a warning in both cases, but warning count is increased only in
mysql_stmt_prepare.
[24 Mar 2005 23:10] Konstantin Osipov
Matthias,
the difference of the run with --ps-protocol is that the warning is reported twice:
the first time at PREPARE, and then at EXECUTE.
We can not ignore all warnings coming from PREPARE step, because some of them
can be valuable and not pop up at EXECUTE.
For the time being Monty implemented an option of mysqltest.c to handle 
such cases. This option (--disable_ps_warnings) suppresses all warnings reported
 by PREPARE.
The line of row.test in question is currently wrapped by this option.
I reassign the bug report to Holyfoot so that he can take a look if the ugly
warning message can be fixed.
[28 Jul 2005 13:51] Alexey Botchkov
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html