[MDEV-31431] support sql standard <explicit table> expressions Created: 2023-06-05 Updated: 2023-12-22 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Parser |
| Fix Version/s: | 11.5 |
| Type: | Task | Priority: | Minor |
| Reporter: | Rex Johnston | Assignee: | Rex Johnston |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | sql, sql2016 | ||
| Issue Links: |
|
||||||||
| Comments |
| Comment by Rex Johnston [ 2023-06-08 ] |
Relevant excerpts from an SQL standard
5) The <explicit table>
12) A <query expression> QE1 is insertable-into if it does not specify a <result offset clause> or a <fetch first clause> and the <query expression body> of QE1 is a <query primary> that is one of the following:
Without Feature F661, “Simple tables”, conforming SQL language shall not contain an <explicit table>. d) If VC i is an <explicit table>, then let T be the table identified by the <explicit table>.
|
| Comment by Rex Johnston [ 2023-06-25 ] |
|
The "Explicit Table" DML command appears to have been been added in the SQL 2011 standard (please correct me if it was earlier). Databases that support this command include Postgres (since 8.4), MySQL (since 8.0.19) and Oracle (11gR2, though it isn't documented). As part of the SQL standard, it makes sense for us to implement this, as 1) Being able to claim more SQL feature compliance is great for marketing (Feature F661, Tick) |
| Comment by Ian Gilfillan [ 2023-06-25 ] |
|
Happy to see better SQL standard support. I've added the sql2016 label - there's an sql2023 label for recent enhancements, and an sql2016 label which I've been using for anything in the SQL 2016 standard (regardless of when it was added). With 11.0 already stable, isn't this better suited to go into a later version? |
| Comment by Rex Johnston [ 2023-06-25 ] |
|
Yes indeed, I'm currently working on something for 11.2, i'll close the 11.0 PR. |