[ 
https://issues.apache.org/jira/browse/FLINK-34254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

xuyang updated FLINK-34254:
---------------------------
    Description: 
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.

  was:
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}
 

 


> `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.



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

Reply via email to