Hi Julian, Thanks for you reply,I will think about how to support this form in Calcite.
Best, LakeShen 在 2023年8月17日 14:23:52 上,Julian Hyde <[email protected]> 写道: > You can’t get the alias. In RelNode-land there is no such concept. Just > the inputs to the current RelNode, identified by ordinal. > > Maybe at the time of SQL-to-RelNode conversion you can convert the aliases > in the hint into ordinals. That’s the last moment that aliases are > available. > > Julian > > On Aug 16, 2023, at 7:51 PM, LakeShen <[email protected]> wrote: > > > Hi Community, > > > Currently I'm working on Calcite SQL Hint,and I want to know how to get the > > table alias in al RelNode tree. > > > For example,consider the following sql : > > > select /*+ BROADCAST(a,b) */ * from nation as a left join nation as b on > > a.N_REGIONKEY = b.N_REGIONKEY > > > The hint BROADCAST(a,b) indicates that the Shuffle type of Join uses > > BROADCAST,a is left table alias,b is right table alias. > > > SQL corresponding to RelNode Tree is : > > > LogicalProject(N_NATIONKEY=[$0], N_NAME=[$1], N_REGIONKEY=[$2], > > N_COMMENT=[$3], N_NATIONKEY0=[$4], N_NAME0=[$5], N_REGIONKEY0=[$6], > > N_COMMENT0=[$7]) LogicalJoin(condition=[=($2, $6)], joinType=[left]) > > LogicalTableScan(table=[[tpch, NATION]]) LogicalTableScan(table=[[tpch, > > NATION]]) > > > I want to know what table is alias a and what table is alias b,but I can't > > get the table for the aliases a and b in above RelNode tree. > > > In SqlToRelConverter#convertFrom method,it does not consider the alias > > information of the table. > > > Best, > > LakeShen > >
