On 2020-10-10 07:25, Pavel Stehule wrote: > This patch is based on transformation CYCLE and SEARCH clauses to > specific expressions - it is in agreement with ANSI SQL > > There is not a problem with compilation > Nobody had objections in discussion > There are enough regress tests and documentation > check-world passed > doc build passed > > I'll mark this patch as ready for committer > > Possible enhancing for this feature (can be done in next steps) > > 1. support UNION DISTINCT > 2. better compatibility with Oracle and DB2 (USING clause can be optional)
Here is an updated patch. New since last time:
- UNION DISTINCT is now supported (since hash_record() was added)
- Some code has been cleaned up.
- Some code has been moved from the rewriter to the parser so that certain errors are properly detected at parse time.
- Added more syntax checks and more tests.
- Support for dependency tracking was added (the type and operator for the cycle mark need to be added as dependencies).
I found a bug that nested UNIONs (foo UNION bar UNION baz) were not handled (would crash) in the rewriter code. For now, I have just changed that to error out. This could be fixed, it would be a localized change in the rewriter code in any case. Doesn't seem important for the first pass, though.
I checked this patch, and I didn't find any issue.