Details
- 
    
Task
 - 
    Status: In Review (View Workflow)
 - 
    
Major
 - 
    Resolution: Unresolved
 - 
    None
 
- 
        Q4/2025 Server Development
 
Description
MDEV-37932 has made the Parser accept FULL OUTER JOIN syntax. Then, we fail immediately after the parser:
					  bool mysql_parse_status= thd->variables.sql_mode & MODE_ORACLE
			 | 
		
					                           ? ORAparse(thd) : MYSQLparse(thd);
			 | 
		
					Â  | 
		
					/* While we accept full join syntax, such joins are not yet supported. */  | 
		
					  mysql_parse_status|= thd->lex->has_full_outer_join;
			 | 
		
					if (thd->lex->has_full_outer_join)  | 
		
					my_error(ER_NOT_SUPPORTED_YET, MYF(0), "full join");  | 
		
This task is about the next step: Name resolution or semantic analysis.
It seems, it should just work.  This needs to be checked. 
After this task is done, the piece
					if (thd->lex->has_full_outer_join)  | 
		
					my_error(ER_NOT_SUPPORTED_YET, MYF(0), "full join");  | 
		
should be moved to the end of JOIN::prepare().
Queries that have full outer join's ON expression refer to the wrong table, like
					select * from t1, t2 full outer join t3 on t2.c=t3.e and t3.f=t1.a;  | 
		
should produce name resolution error.
Queries that are correctly formed should produce ER_NOT_SUPPORTED_YET.
Attachments
Issue Links
- relates to
 - 
                    
MDEV-36813 DRAFT: FULL OUTER JOIN for single table
-         
 - In Progress
 
 -