Details
-
Task
-
Status: In Progress (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
-