It's my pleasure, you are welcome ~

Juan Pan <panj...@apache.org> 于2019年9月29日周日 下午2:24写道:

> Hi XING,
> I appreciate your kindness. :-D Your detailed and prompt replies really
> helped me a lot.
> I will review the java doc you mentioned.
>
>
> Best wishes,
> Trista
>
>
>  Juan Pan
>
>
> panj...@apache.org
> Juan Pan(Trista), Apache ShardingSphere
>
>
> On 09/29/2019 13:58,XING JIN<jinxing.co...@gmail.com> wrote:
> You can check the below doc of SqlValidatorUtil#getAlias for explanation:
>
> /**
> * Derives an alias for a node, and invents a mangled identifier if it
> * cannot.
> *
> * <p>Examples:
> *
> * <ul>
> * <li>Alias: "1 + 2 as foo" yields "foo"
> * <li>Identifier: "foo.bar.baz" yields "baz"
> * <li>Anything else yields "expr$<i>ordinal</i>"
> * </ul>
> *
> * @return An alias, if one can be derived; or a synthetic alias
> * "expr$<i>ordinal</i>" if ordinal &lt; 0; otherwise null
> */
> public static String getAlias(SqlNode node, int ordinal)
>
> But from my experience, you'd better not rely on above logic heavily. If
> you really care about the output name, just give it an alias explicitly.
>
> Juan Pan <panj...@apache.org> 于2019年9月29日周日 下午1:27写道:
>
> That means Calcite can only return real columnName or columnLabel from
> simple column or alias. And any aggregate function, or calculate expression
> without alias, parsing expression, i.e, `EXPR$0` will be returned?
>
>
> Juan Pan
>
>
> panj...@apache.org
> Juan Pan(Trista), Apache ShardingSphere
>
>
> On 09/29/2019 13:16,XING JIN<jinxing.co...@gmail.com> wrote:
> If no column name given explicitly, e.g. by alias or simple identifier,
> Calcite will derive one but not from the aggregate function.
>
> Juan Pan <panj...@apache.org> 于2019年9月29日周日 下午1:12写道:
>
> Thank for your reply. It is a indirect way to get columnName.
>
>
> Calcite can not return the real columnName from SQL, is it right?
>
>
> Juan Pan
>
>
> panj...@apache.org
> Juan Pan(Trista), Apache ShardingSphere
>
>
> On 09/29/2019 12:21,XING JIN<jinxing.co...@gmail.com> wrote:
> You can try to give an alias for the selected column.
>
> Juan Pan <panj...@apache.org> 于2019年9月29日周日 上午11:39写道:
>
>
>
> Hi everyone,
>
>
> I executed SQL `select count(*) from tb1` through Calcite and
> resultSet.getMetaData().getColumnName(i) in my project. But the result is
> `EXPR$0` not `COUNT(*)`.
>
>
> Is there any way to get real columnName?
>
>
> Thanks for your attention.
>
>
> Regard,
> Trista
>
>
>
>
> Juan Pan
>
>
> panj...@apache.org
> Juan Pan(Trista), Apache ShardingSphere
>
>
>
>
>

Reply via email to