[
https://issues.apache.org/jira/browse/CALCITE-7331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18045009#comment-18045009
]
Julian Hyde commented on CALCITE-7331:
--------------------------------------
{quote}To avoid confusion, EXCLUDE only supports columns and does not support
SELECT clauses.{quote}
The problem isn't "confusion". It's a parser that does the wrong thing.
Your grammar seems to allow qualified column names in EXCLUDE, e.g. "SELECT e.*
EXCLUDE (e.deptno)". AFIACT the other implementations only allow identifiers,
e.g. "SELECT e.* EXCLUDE (deptno)".
This way of working -- create a minimal jira case with no specification, then
work through a few obvious things in the PR discussion -- is not a great
development model.
> Support the alias form SELECT * EXCEPT() for SELECT * EXCLUDE()
> ---------------------------------------------------------------
>
> Key: CALCITE-7331
> URL: https://issues.apache.org/jira/browse/CALCITE-7331
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.41.0
> Reporter: Zhen Chen
> Assignee: Zhen Chen
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.42.0
>
>
> Based on the CALCITE-7310 implementation, this Jira primarily serves as an
> alias extension. For example:
> SELECT * EXCLUDE(deptno, empno) FROM emp;
> Similarly, it can be written as:
> SELECT * EXCEPT(deptno, empno) FROM emp;
> Similar to the implementation in ClickHouse[1], but the expr in <expr>
> EXCEPT(col1, col2) only supports *.
> [1]
> [https://clickhouse.com/docs/zh/sql-reference/statements/select/except-modifier]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)