That sounds like a bug. Can you please log a jira case? The fix might be in SqlValidatorImpl’s identifier expansion, even though the problem shows up in SqlToRelConverter.
> On Sep 20, 2023, at 12:39 PM, Jordan Hannel <[email protected]> wrote: > > Hello all, > I believe I have found a bug in SqlToRelConverter. The symptom and repro are > outlined below, and the full stacktrace is attached. This is on calcite > version 1.35.0. Any insight would be much appreciated, thanks! > > When I parse the below SQL string to get a SqlNode, and call > SqlToRelConverter.convertQuery on this SqlNode, I get a > UnsupportedOperationException: class org.apache.calcite.sql.SqlBasicCall: > LEAD(COUNT(*)) OVER (ORDER BY `dim4`) > > SELECT "dim4" AS "dim7", > LEAD(COUNT(*), -1) OVER (ORDER BY "dim4") AS "measure10" > FROM ( > SELECT "timestamp" AS "dim4" > FROM "Shared.factDataset") AS "t0" > GROUP BY "dim4" > > I have confirmed that my SqlToRelConverter instance seems generally ok, > because it is able to convert many other SqlNodes to RelNodes. > After some experimentation, I noticed that just changing `ORDER BY "dim4"` to > `ORDER BY "t0"."dim4"` fixes the issue - after that, the SqlNode successfully > is translated to a RelNode. > > -- > <https://www.netspring.io/resources/buyers-guide/> > Jordie Hannel > Founding Product Owner > www.netspring.io <http://www.netspring.io/><stacktrace.txt>
