Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-5223

Problem with union aliasing when bind variables used

    XMLWordPrintable

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).

      Attachments

        Activity

          People

            rhn-engineering-shawkins Steven Hawkins
            mike.higgins@certara.com Mike Higgins (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: