[
https://issues.apache.org/jira/browse/DRILL-4906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530578#comment-15530578
]
ASF GitHub Bot commented on DRILL-4906:
---------------------------------------
Github user amansinha100 commented on a diff in the pull request:
https://github.com/apache/drill/pull/598#discussion_r80995340
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/exec/planner/logical/TestCaseNullableTypes.java
---
@@ -0,0 +1,107 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to you under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.drill.exec.planner.logical;
+
+import org.apache.drill.BaseTestQuery;
+import org.junit.Test;
+
+/**
+ * DRILL-4906
+ * Tests for handling nullable types in CASE function
+ */
+public class TestCaseNullableTypes extends BaseTestQuery {
+
+ @Test
+ public void testCaseNullableTypesInt() throws Exception {
+ testBuilder()
+ .sqlQuery("select (case when (false) then null else 1 end) res1
from (values(1))")
+ .unOrdered()
+ .baselineColumns("res1")
+ .baselineValues(1)
+ .go();
+ }
+
+ @Test
+ public void testCaseNullableTypesVarchar() throws Exception {
--- End diff --
Its good that you have added tests for different data types. One
suggestion: could you add a test where the constant reduction rule has to do 2
or more iterations .. i.e for 2 or more different data types ?
> CASE Expression with constant generates class exception
> -------------------------------------------------------
>
> Key: DRILL-4906
> URL: https://issues.apache.org/jira/browse/DRILL-4906
> Project: Apache Drill
> Issue Type: Bug
> Components: SQL Parser
> Affects Versions: 1.6.0, 1.8.0
> Reporter: Serhii Harnyk
> Assignee: Serhii Harnyk
> Fix For: 1.9.0
>
>
> How to reproduce:
> select (case when (true) then 1 end) from (values(1));
> Error
> Error: SYSTEM ERROR: ClassCastException:
> org.apache.drill.exec.expr.holders.NullableVarCharHolder cannot be cast to
> org.apache.drill.exec.expr.holders.VarCharHolder
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)