Bug #48456 syntax error in view containing natural join within a row() construct
Submitted: 31 Oct 2009 21:27 Modified: 5 Feb 2010 12:26
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Views Severity:S2 (Serious)
Version:5.0.85, 5.1.40 OS:Any
Assigned to: Assigned Account CPU Architecture:Any

[31 Oct 2009 21:27] Shane Bester
Description:
it's possible to create broken views, which can break mysqldump backups:

mysql> show create table `v1`\G
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'equal('0', '0')),'1'))' at line 1
mysql> select * from `v1`;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'equal('0', '0')),'1'))' at line 1
mysql>

How to repeat:
set sql_mode='';
drop table if exists `t1`,`v1`;
create table `t1`(`a` int)engine=myisam;
create or replace view `v1` as select 1
from `t1` where 
row('1','1')=row((select 1 from `t1` `a` natural join `t1`),'1' );
show create table `v1`\G
select * from `v1`;
[31 Oct 2009 23:47] MySQL Verification Team
Thank you for the bug report.
[5 Feb 2010 12:27] Sergei Glukhov
duplicated with Bug#48294