New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WITH
clauses don't work with DMLs anymore
#4002
Comments
WITH
clauses don't work with DDLs anymoreWITH
clauses don't work with DMLs anymore
There is no with clause in DML in the SQL Standard. Support of these invalid commands was intentionally removed, because correct execution of valid commands in more important for us and we can't fix everything at the same time. WITH clause is a part of a query expression, so you need to transform your commands and move this clause to the query itself:
We can try to implement this transformation in the parser to re-invent support of this non-standard syntax in that way for related compatibility modes. |
You are correct,
I actually do agree with this, especially as it is the standard compliant interpretation. However, all major RDBMS are more lenient and support a So I would like to plead for bringing this back because (at least for us) H2 is a great "development database" which can be used for development and drafting before deploying to the large RDBMS. |
One more question please: How can I help with the documentation? Because right now, if someone tests the Git Snapshot and then verifies against the Documentation there would be discrepancy. |
We only update the website documentation when we do a release |
(It the worst case we can remove links to DML commands from the old grammar.) |
Yes, I do understand the status quo and I only wondered if it was not desirable to also show the current state of developing affairs. It encourages testing in practice and reduces surprised after publishing. |
We don't have a versioned documentation on website. There is a separate feature request for it somewhere, but we need to re-organize everything before any attempts to provide such documentation. People who use historic versions of H2 can download old versions of documentation in PDF and HTML formats in ZIP archive with full distribution. People who use own builds of H2 should also build a local copy of documentation with the same build script and use it. But currently it is incorrect and we need to do something with it before the next release. |
Thank you, I do understand. If I started working on this (in a separate branch), would that effort be welcome and of help? My understanding of the dependencies was:
|
Documentation of H2 contains some static pages, but the main documentation is generated from the source data of built-in help system and Markdown is not an option here (at least for now). We also don't use Maven and don't need any plugins for it. Maven build is an old unfinished experiment, I think it should be removed. Currently we have only one real problem here: code completion in H2 Console goes into infinite loop (or maybe infinite recursion) with correct grammar in documentation. Other things aren't that important. |
Thank you for the explanations, I will try to figure this one out. One more question though: if you want to throw out the Maven build (which always worked very well here), then how will IDEs digest/support the H2 project? |
H2 is a very simple project , but maybe we need some instructions for newcomers. Which is not as easy as Maven, granted. |
To be fair: if there is a working maven build file one is not stupid considering it meant to be used.But yes such instructions for the inexperienced folks like me won't harm.
|
Please pardon my curiosity: I looked into the building infrastructure java code in the (No worries, I won't touch anything. This is not the hill I want to die upon.) |
H2 predates maven, so it wasn't around when we started. Maven has lousy backwards compatibility, it needs fixing every 6 months or so. Our stuff just keeps on working, with no maintenance required. Our stuff "just works" out the box, even for weird setups, like being behind a proxy, which Maven (still) cant get right. Our stuff is debuggable using the same tools we debug normal Java with. |
Step 1) I have used the changed/improved Grammar CSV and I believe I can reproduce the problem: Step 2) I will build now a specific test for this in |
WITH
clauses don't work with DMLs anymore (since recent changes):Please can this be resolved?
We can't rewrite 200+ valid SQL:2016 compliant statements, which have been working fine before.
The text was updated successfully, but these errors were encountered: