Kevin Zhang created CALCITE-3603: ------------------------------------ Summary: SqlLateralOperator's unparse add additional keyword 'LATERAL' when the inner operator is SqlSnapshot Key: CALCITE-3603 URL: https://issues.apache.org/jira/browse/CALCITE-3603 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.21.0 Reporter: Kevin Zhang
When joining with a dimension table using the following sql {code:sql} SELECT o.amout, o.currency, r.rate, o.amount * r.rate FROM Orders AS o JOIN LatestRates FOR SYSTEM_TIME AS OF o.proctime AS r ON r.currency = o.currency {code} the unparsed sql is: {code:sql} SELECT `o`.`amout`, `o`.`currency`, `r`.`rate`, `o`.`amount` * `r`.`rate` FROM `Orders` AS `o` INNER JOIN LATERAL `LatestRates` FOR SYSTEM_TIME AS OF `o`.`proctime` AS `r` ON `r`.`currency` = `o`.`currency` {code} which has a syntax error because an additional "LATERAL" is added after "JOIN". The problem lies in SqlLateralOperator's unparse method, if the kind of the first operand is SqlSnapshot, we should not write out the operator's name. -- This message was sent by Atlassian Jira (v8.3.4#803005)