cube-js/cube

Incorrect alias in generated sql (ORACLE, ORA-00904)

已關閉

#3,252 建立於 2021年8月13日

 (4 則留言) (0 個反應) (0 位負責人)Rust (1,965 個分叉)batch import
driver:oraclehelp wanted

倉庫指標

星標
 (19,563 顆星)
PR 合併指標
 (平均合併 5天 16小時) (30 天內合併 138 個 PR)

描述

Describe the bug Incorrect alias generation in complex SQL request in Oracle.

To Reproduce 1.Make request to cube with parameters in different tables:

{
  "dimensions": [],
  "timeDimensions": [
    {
      "dimension": "Dm_portfolio.c6",
      "granularity": "month"
    }
  ],
  "measures": [
    "Dm_clients.m3__sum"
  ],
  "filters": [],
  "order": {}
}
  1. If generated SQL have two select statement: "SELECT \"keys\".\"dm_portfolio__c6_month\", sum(\"dm_clients_key___dm_clients\".age) \"dm_clients__m3__sum\" FROM (SELECT DISTINCT TRUNC(\"dm_clients_key___dm_portfolio\".report_month, 'MM') \"dm_portfolio__c6_month\", \"dm_clients_key___dm_clients\".client_id \"dm_clients__c1\" FROM dm.portfolio \"dm_clients_key___dm_portfolio\" LEFT JOIN dm.clients \"dm_clients_key___dm_clients\" ON \"dm_clients_key___dm_portfolio\".client_id = \"dm_clients_key___dm_clients\".client_id ) \"keys\" LEFT JOIN dm.clients \"dm_clients_key___dm_clients\" ON \"keys\".\"dm_clients__c1\" = \"dm_clients_key___dm_clients\".client_id GROUP BY TRUNC(\"dm_clients_key___dm_portfolio\".report_month, 'MM') ORDER BY 1 ASC FETCH NEXT 10000 ROWS ONLY"
  2. We have error: Error: ORA-00904: "dm_clients_key___dm_portfolio"."REPORT_MONTH": invalid identifier

Version: Docker 0.28.17

Additional context There is CORRECT alias in select: "keys"."dm_portfolio__c6_month"

But INCORRECT alias in group by: GROUP BY TRUNC("dm_clients_key___dm_portfolio".report_month, 'MM') should be: "keys"."dm_portfolio__c6_month"

貢獻者指南