Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
9.3.5
-
None
-
None
Description
When a query with a union, function call, and bind variables is issued in 9.3.5, an alias is not applied correctly. When the same query is run with an explicit constraint list, it works. It works in both cases in Teiid 9.3.4.
Query is:
SELECT Substances."SUB_ID",
NADALM_FUNCS.MOLFILE(Substances."XCTAB") "MOLFILE"
FROM (
SELECT NADALM.SUBSTANCE."SUB_ID",
NADALM.SUBSTANCE."CTAB" "XCTAB",
NADALM_FUNCS.MOLFILE(NADALM.SUBSTANCE."CTAB") "MOLFILE"
FROM nadalm.substance
UNION ALL
SELECT D360_DC.DESIGN_COMPOUND."DC_ID" "SUB_ID",
D360_DC.DESIGN_COMPOUND."CTAB" "XCTAB",
NADALM_FUNCS.MOLFILE(D360_DC.DESIGN_COMPOUND."CTAB") "MOLFILE"
FROM d360_dc.design_compound) Substances
WHERE (Substances."SUB_ID" in (?, ?, ?, ?, ?, ?, ?,?, ?, ?))
Generated SQL with error is:
SELECT v_0.SUB_ID, NADAL_CERTARA.MOLFILE(v_0.c_1) FROM
(SELECT g_1."SUB_ID" AS c_0, g_1."CTAB" AS c_1 FROM "NADAL_CERTARA"."SUBSTANCE" g_1 WHERE g_1."SUB_ID" IN (?, ?, ?, ?, ?, ?, ?,?, ?, ?)
UNION ALL
SELECT g_0."DC_ID" AS c_0, g_0."CTAB" AS c_1 FROM "NADAL_CERTARA"."DESIGN_COMPOUND" g_0 WHERE g_0."DC_ID" IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?))) v_0
Note that top branch references v_0.Sub_id, which is not legal (should be c_0).