-Summary:
Fix
bugzilla bug 123840 Incorrect use of static fields in NEvaluator and
FilterPassController
-Bugzilla Bug (s) Resolved:
Bugzilla
bug 123840
-Description:
This
check in email is filed on behalf of Gary Xue.
The
problem of original Top/Bottom N filtering implementation is that, it uses some
static variables to pass member data between instances of NEvaluator class. This
is however problematic, for it is not thread-safe.
Following
changes are made to fix the problem:
1. Use instances
rather than static variable to deliver data from one instance to another
2. Use
IBaseExpression.setHandle(Object) method to set up the data storage instance in
which the data will be shared by certain filter _expression_.
-Tests Description:
None
-Files Edited:
"/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/script/ScriptEvalUtil.java"
"/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/script/FilterPassController.java"
"/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/CachedResultSet.java"
"/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/script/NEvaluator.java"
- Notes to Build Team:
- Notes to Developers:
- Notes to QA:
- Notes to
Documentation: