Resolve the conflict between the CTE name and the referring table name. #8302
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #5673 and #4987
Provide a clear error message and guide for the case of CTE name and table name shadowing.
❌
Error: Binder Error: Circular reference to CTE "orders", There are two possible solutions.
✅
So user can explicitly add "SCHEMA" to the CTE tableref.
We can pass the schema_name + table_name to FindCTE, as @aarashy says in (#4987 ) "CTE names are never allowed to be qualified" (Postgres also not allow qualified CTE name).
If a tableref is qualified, we can confirm that it should not be a CTE name.