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

lincoln lee updated FLINK-38824:
--------------------------------
    Fix Version/s: 1.20.4
                   2.2.1

> Incorrect default values for primitive types
> --------------------------------------------
>
>                 Key: FLINK-38824
>                 URL: https://issues.apache.org/jira/browse/FLINK-38824
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.20.3, 2.2.0, 2.1.1
>            Reporter: dylanhz
>            Assignee: dylanhz
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.20.4, 2.3.0, 2.2.1
>
>
> {code:sql}
> SELECT a[1], b[1]
> FROM (
>   VALUES (CAST(ARRAY[1,2] AS ARRAY<SMALLINT>), CAST(ARRAY[2,3] AS 
> ARRAY<TINYINT>))
> ) t(a, b)
> {code}
> {code:none}
> Caused by: org.apache.flink.api.common.InvalidProgramException: Table program 
> cannot be compiled. This is a bug. Please file an issue.
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:107)
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$0(CompileUtils.java:92)
>       at 
> org.apache.flink.shaded.guava33.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4903)
>       at 
> org.apache.flink.shaded.guava33.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3574)
>       at 
> org.apache.flink.shaded.guava33.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2316)
>       at 
> org.apache.flink.shaded.guava33.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2190)
>       at 
> org.apache.flink.shaded.guava33.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2080)
>       ... 48 more
> Caused by: org.codehaus.commons.compiler.CompileException: Line 107, Column 
> 37: Assignment conversion not possible from type "int" to type "short"
>       at 
> org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:13080)
>       at 
> org.codehaus.janino.UnitCompiler.assignmentConversion(UnitCompiler.java:11297)
>       at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4980)
>       at org.codehaus.janino.UnitCompiler.access$9000(UnitCompiler.java:237)
>       at 
> org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4763)
>       at 
> org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4742)
>       at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:4902)
>       at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4742)
>       at 
> org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5885)
>       at org.codehaus.janino.UnitCompiler.access$3800(UnitCompiler.java:237)
>       at 
> org.codehaus.janino.UnitCompiler$7.visitRvalue(UnitCompiler.java:2767)
>       at 
> org.codehaus.janino.UnitCompiler$7.visitRvalue(UnitCompiler.java:2755)
>       at org.codehaus.janino.Java$Rvalue.accept(Java.java:4498)
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:2755)
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2742)
>       at org.codehaus.janino.UnitCompiler.access$2700(UnitCompiler.java:237)
>       at 
> org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1590)
>       at 
> org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1576)
>       at 
> org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:3842)
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1576)
>       at 
> org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1662)
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3665)
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3330)
>       at 
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1448)
>       at 
> org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1421)
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:830)
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:443)
>       at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:237)
>       at 
> org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:423)
>       at 
> org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:419)
>       at 
> org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1688)
>       at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:419)
>       at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:393)
>       at org.codehaus.janino.UnitCompiler.access$000(UnitCompiler.java:237)
>       at 
> org.codehaus.janino.UnitCompiler$2.visitCompilationUnit(UnitCompiler.java:364)
>       at 
> org.codehaus.janino.UnitCompiler$2.visitCompilationUnit(UnitCompiler.java:362)
>       at org.codehaus.janino.Java$CompilationUnit.accept(Java.java:371)
>       at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:362)
>       at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:273)
>       at 
> org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:526)
>       at org.codehaus.janino.SimpleCompiler.cook2(SimpleCompiler.java:250)
>       at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:229)
>       at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:219)
>       at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:82)
>       at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:77)
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:104)
>       ... 54 more
> {code}
> BTW, there was a [related issue|https://github.com/apache/flink/pull/26862] 
> before, but it didn't solve the problem completely, the type of primitive 
> default values are still incorrect, which will lead to compilation error in 
> Janino.



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

Reply via email to