You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (JIRA)" <ji...@apache.org> on 2016/04/12 16:28:25 UTC

[jira] [Commented] (FLINK-3739) Add a null literal to Table API

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

Timo Walther commented on FLINK-3739:
-------------------------------------

[~vkalavri] do you have an idea why the SQL validator does not support NULL?

e.g. {{SELECT NULL FROM MyTable}} results in

{code}
Apr 12, 2016 4:19:21 PM org.apache.calcite.sql.validate.SqlValidatorException <init>
SEVERE: org.apache.calcite.sql.validate.SqlValidatorException: Illegal use of 'NULL'
Apr 12, 2016 4:19:21 PM org.apache.calcite.runtime.CalciteException <init>
SEVERE: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 11: Illegal use of 'NULL'

org.apache.calcite.tools.ValidationException: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 11: Illegal use of 'NULL'

	at org.apache.flink.api.table.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:99)
	at org.apache.flink.api.java.table.JavaBatchTranslator.translateSQL(JavaBatchTranslator.scala:109)
	at org.apache.flink.api.table.AbstractTableEnvironment.sql(AbstractTableEnvironment.scala:99)
	at org.apache.flink.api.scala.sql.test.ExpressionsITCase.testNullLiteral(ExpressionsITCase.scala:55)
	...
Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 11: Illegal use of 'NULL'
	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:408)
	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:405)
	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:715)
	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:703)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:3866)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1558)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1594)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:3398)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:2955)
	at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
	at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:86)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:842)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:828)
	at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:207)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:802)
	at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:516)
	at org.apache.flink.api.table.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:95)
	... 41 more
Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Illegal use of 'NULL'
	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:408)
	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:405)
	at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:514)
	... 56 more

{code}

> Add a null literal to Table API
> -------------------------------
>
>                 Key: FLINK-3739
>                 URL: https://issues.apache.org/jira/browse/FLINK-3739
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API
>            Reporter: Timo Walther
>            Assignee: Timo Walther
>
> The Table API needs support for the null literal e.g. for passing null values to functions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)