You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "xuyang (Jira)" <ji...@apache.org> on 2024/02/06 01:43:00 UTC

[jira] [Commented] (FLINK-34254) `DESCRIBE` syntaxes like `DESCRIBE CATALOG xxx` throws strange exceptions

    [ https://issues.apache.org/jira/browse/FLINK-34254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17814564#comment-17814564 ] 

xuyang commented on FLINK-34254:
--------------------------------

I have created a Jira linked this one to do the improvement.

> `DESCRIBE` syntaxes like `DESCRIBE CATALOG xxx` throws strange exceptions
> -------------------------------------------------------------------------
>
>                 Key: FLINK-34254
>                 URL: https://issues.apache.org/jira/browse/FLINK-34254
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>            Reporter: xuyang
>            Priority: Major
>
> Add the test following to CalcITCase to re-produce this bug.
> {code:java}
> @Test
>   def test(): Unit = {
>     tEnv.executeSql(s"""
>                        |create catalog `c_new` with (
>                        |  'type' = 'generic_in_memory',
>                        |  'default-database' = 'my_d'
>                        |)
>                        |""".stripMargin)
>     tEnv
>       .executeSql(s"""
>                      |show catalogs
>                      |""".stripMargin)
>       .print
>     tEnv
>       .executeSql(s"""
>                      | describe catalog default_catalog
>                      |""".stripMargin)
>       .print
>   } {code}
> Result:
> {code:java}
> +-----------------+
> |    catalog name |
> +-----------------+
> |           c_new |
> | default_catalog |
> +-----------------+
> 2 rows in set
>  org.apache.flink.table.api.ValidationException: SQL validation failed. From line 2, column 19 to line 2, column 33: Column 'default_catalog' not found in any table
> 	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:200)	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:117)	at org.apache.flink.table.planner.operations.SqlNodeToOperationConversion.convert(SqlNodeToOperationConversion.java:259)	at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:106)	at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:728)	at org.apache.flink.table.planner.runtime.stream.sql.CalcITCase.test(CalcITCase.scala:453)	at java.lang.reflect.Method.invoke(Method.java:498)	at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)Caused by: org.apache.calcite.runtime.CalciteContextException: From line 2, column 19 to line 2, column 33: Column 'default_catalog' not found in any table	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932)	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)	at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5276)	at org.apache.calcite.sql.validate.DelegatingScope.fullyQualify(DelegatingScope.java:273)	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateIdentifier(SqlValidatorImpl.java:3150)	at org.apache.calcite.sql.SqlIdentifier.validateExpr(SqlIdentifier.java:304)	at org.apache.calcite.sql.SqlOperator.validateCall(SqlOperator.java:474)	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateCall(SqlValidatorImpl.java:6005)	at org.apache.calcite.sql.SqlCall.validate(SqlCall.java:138)	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1009)	at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:758)	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:196)	... 11 moreCaused by: org.apache.calcite.sql.validate.SqlValidatorException: Column 'default_catalog' not found in any table	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)	at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:599)	... 23 more
> {code}
> The syntax `DESCRIBE DATABASE xxx` has the same bug.
>  
> It seems that this flip is not finished yet. https://issues.apache.org/jira/browse/FLINK-14686



--
This message was sent by Atlassian Jira
(v8.20.10#820010)