Priyanka created CALCITE-7123:
---------------------------------
Summary: Query doesn't work as expected when using COALESCE or
CASE in the group by query
Key: CALCITE-7123
URL: https://issues.apache.org/jira/browse/CALCITE-7123
Project: Calcite
Issue Type: Bug
Components: avatica
Affects Versions: 1.39.0
Reporter: Priyanka
Running the following query directly on the Druid UI returns the expected
results:
{code:java}
SELECT
FLOOR("__time" TO DAY) AS "createtime.day",
COALESCE("parentName", "stockName") AS "unitName",
COUNT(*) AS "count"
FROM
"druid"."events"
WHERE "customerName" = 'x' AND "__time" >= TIMESTAMP
'2025-05-31 22:00:00.000' AND "__time" <= TIMESTAMP '2025-06-12 21:59:59.000'
AND (FALSE = true OR "fleetName" IN ('y'))
AND (FALSE = false OR "eventTemplateName" IN
(null))
AND (FALSE = false OR "consistNumber" IN (null))
AND (FALSE = false OR ("parentName" IS NOT NULL
AND "stockName" IN (null)))
AND (FALSE = false OR (COALESCE("parentName",
"stockName") IN (null)))
AND (FALSE = false OR "locationName" IN (null))
AND (FALSE = false OR "eventCategory" IN (null))
AND (FALSE = false OR "eventPriorityName" IN (null))
AND (FALSE = false OR null)
AND (FALSE = false OR "active" = null)
GROUP BY FLOOR("__time" TO DAY) ,
COALESCE("parentName", "stockName") {code}
But when it goes through Calcite, it returns the stockName always as the
unitName, even if the parentName is available.
Testing with CASE instead of COALESCE or using a CAST for the type also didn't
have any effect with Calcite.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)