poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 61841] Unnecessary long computation when evaluating VLOOKUP on all column reference
Date Tue, 05 Dec 2017 19:53:35 GMT
https://bz.apache.org/bugzilla/show_bug.cgi?id=61841

--- Comment #4 from Greg Woolsey <gwoolsey@apache.org> ---
It looks to me like the sheet is available:

Vlookup.evalutate() receives a ValueEval that is converted to a TwoDEval via
LookupUtils.resolveTableArrayArg().

TwoDEval interface has only one base class implementing it, AreaEvalBase.

AreaEvalBase abstract class has 2 non-test implementations, cached and lazy. 
In both cases actual cell ValueEval references are available, which means
sheet/row/column eventually.  Seems to me we could augment the TwoDEval
interface to indicate the last physical values for rows and columns along with
the existing getWidth() and getHeight() methods.  These could be used when
creating ValueVector objects for the lookup iterations to reduce the vector
size to the maximum defined values, since no matches would exist outside those
anyway.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


Mime
View raw message