You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "zzwqqq (Jira)" <ji...@apache.org> on 2026/07/05 02:14:00 UTC
[jira] [Created] (CALCITE-7642) RelToSqlConverter may generate duplicate output column names for case-insensitive dialects
zzwqqq created CALCITE-7642:
-------------------------------
Summary: RelToSqlConverter may generate duplicate output column names for case-insensitive dialects
Key: CALCITE-7642
URL: https://issues.apache.org/jira/browse/CALCITE-7642
Project: Calcite
Issue Type: Bug
Components: core
Reporter: zzwqqq
RelToSqlConverter can emit output column names that are distinct in a row type but not distinct for the target dialect.
Reproducer:
Use a case-insensitive PostgreSQL dialect:
{code:java}
new PostgresqlSqlDialect(
PostgresqlSqlDialect.DEFAULT_CONTEXT.withCaseSensitive(false)){code}
Input SQL:
{code:sql}
SELECT *
FROM (VALUES (1)) AS "t" ("id")
JOIN (VALUES (1)) AS "t0" ("ID") ON TRUE
{code}
Current output:
{code:java}
SELECT "t"."id", "t0"."ID"
FROM (VALUES (1)) AS "t" ("id"),
(VALUES (1)) AS "t0" ("ID"){code}
The output column names are "id" and "ID", which are duplicates for a case-insensitive dialect.
Expected output:
{code:sql}
SELECT "t"."id", "t0"."ID" AS "ID0"
FROM (VALUES (1)) AS "t" ("id"),
(VALUES (1)) AS "t0" ("ID"){code}
I think RelToSqlConverter should uniquify generated output names using the target dialect's case-sensitivity.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)