[
https://issues.apache.org/jira/browse/DRILL-4715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15344883#comment-15344883
]
ASF GitHub Bot commented on DRILL-4715:
---------------------------------------
Github user jinfengni commented on a diff in the pull request:
https://github.com/apache/drill/pull/521#discussion_r68102519
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/expr/SizedJBlock.java ---
@@ -0,0 +1,48 @@
+/**
+ * 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.expr;
+
+import com.sun.codemodel.JBlock;
+
+/**
+ * Uses this class to keep track # of Drill Logical Expressions that are
+ * put to JBlock.
+ */
+public class SizedJBlock {
+ private final JBlock block;
--- End diff --
Added comment.
> Java compilation error for a query with large number of expressions
> -------------------------------------------------------------------
>
> Key: DRILL-4715
> URL: https://issues.apache.org/jira/browse/DRILL-4715
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Codegen
> Reporter: Jinfeng Ni
>
> The following query would hit compilation error, when Drill generates and
> compiles the run-time code.
> Q1 :
> {code}
> select expr1, expr2, expr3, ...., exprN
> from table
> {code}
> In Q1, expr1, expr2, ..., exprN are non-trivial expression (in stead of
> simply column reference), and N is big enough, then the run-time generated
> code may have a method which goes beyond the 64k limit imposed by JVM.
> This seems to be a regression from DRILL-3912 (Common subexpression
> elimination). CSE tries to put as many expressions in one block as possible,
> to detect and eliminate as many CSE as possible. However, this implies we may
> end up with big method with compilation error.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)