[MDEV-10030] sql_yacc.yy: Split table_expression and remove PROCEDURE from create_select, select_paren_derived, select_derived2, query_specification Created: 2016-05-05 Updated: 2016-05-06 Resolved: 2016-05-06 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Parser |
| Fix Version/s: | 10.2.1 |
| Type: | Task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Sprint: | 10.2.1-1 | ||||||||
| Description |
|
The "table_expression" rule currently looks like this:
We'll do the following refactoring: 1. Remove the extra parts (opt_order_clause, opt_limit_clause, opt_procedure_clause, opt_select_lock_type parts), and make the "from_clause" non-optional:
After this change table_expression will match the SQL Standard <table expression> production. 2. Add the "opt_table_expression" rule 3. Move the extra parts of the ex-table_expression to the "caller" rules, and remove the opt_procedure_clause from non-relevant places. It will change these queries using subselects and derived table:
as well as:
to return "syntax error" instead of "Incorrect usage". |