dynamobi/dynamobi — Issue #345: [FRG-419] Compiler error in generated java code for complex queries
Author: dynamobi-build
Created: 2011-12-30 02:33:38+00:00
State: open
Labels: FRG, Java Calc Codegen

[reporter="hunter@sqlstream.com", created="Thu, 19 May 2011 15:47:49 -0500 (GMT-05:00)"]
In IterCalcRel, there is code in implementAbstractTupleIter() that decides if a projectMethod will be abstracted into a separate method. This can cause the generated Java code to not compile if there are common shared expressions between different projectMethods that are abstracted. Previously, determining if the projectMethod would be abstracted was done by counting the number of tree nodes in the projectMethod subtree. This was to prevent hitting a problem with compiling methods longer than 64KB. However, there needs to be a check for common sub-expressions between the projectMethods and if there are common sub-expressions, then those projMethods can't be abstracted into their own methods. Look for the review comment by HCP in IterCalcRel.java added in Eigenbase change #14290.