- Mar/05/2024
- Rearranged this toolkit's directory to have a top-level directory that in turn contains two subdirectories i.e. com.ibm.streamsx.eval_predicate subdirectory containing the main C++ code for this toolkit and the samples subdirectory containing two comprehensive examples showcasing the eval_predicate features.
- Both the EvalPredicateExample and FunctionalTests applications are now placed in their own subirectories within the samples directory in a new namespace com.ibm.streamsx.eval_predicate.test.
- Other than the above-mentioned directory and file restructuring, there are no functional changes done in this release.
- User applications that want to use this toolkit will have to now have this statement at the top of their SPL file(s): use com.ibm.streamsx.eval_predicate::*;
- Oct/11/2023
- Made a fix to correctly evaluate new multi-level nested expression patterns as shown in the test cases A51.22 to A51.24 in FunctionalTests.spl.
- Sep/27/2023
- Made a fix to correctly evaluate a new multi-level nested expression pattern as shown in the test case A51.21 in FunctionalTests.spl.
- Sep/20/2023
- Made a major redesign to evaluate multi-level nested subexpressions.
- Made plenty of code changes in the expression validation and evaluation sections.
- Added many new trace points to follow the code execution path when troubleshooting.
- Added 14 new multi-level nested subexpression test cases in FunctionalTests.spl.
- Jan/10/2023
- Added inline to the C++ function get_tuple_schema_and_attribute_info.
- Jan/07/2023
- Added a new function get_tuple_schema_and_attribute_info to fetch the tuple schema literal string along with the tuple attribute information map with fully qualified tuple attribute names and their SPL type names as key/value pairs in that map.
- Oct/16/2021
- Enhanced the compare_tuple_attributes function to give back two lists i.e. one with the attribute names that have matching values and another with the attribute names that have differing values.
- Oct/16/2021
- Added a new function compare_tuple_attributes to compare the attribute values of two tuples that are based on the same schema and then give back a list containing the attribute names that have differing values in the two tuples being compared.
- Sep/04/2021
- Added two new operational verbs: equalsCI and notEqualsCI.
- June/07/2021
- Modified it to support the in operational verb for int32, float64 and rstring based tuple attributes and the inCI operational verb only for rstring based tuple attributes.
- June/01/2021
- Added two new operational verbs: in and inCI.
- May/23/2021
- Added more commentary and fixed a few typos.
- May/05/2021
- Made all C++ functions as inline.
- Added support for lexical comparison of string attributes with RHS string values.
- Apr/29/2021
- Added support for string values inside a rule expression to have parenthesis and square bracket characters mixed with other characters without impacting the parenthesis and square bracket matching in other parts of the rule expression.
- Apr/25/2021
- Added new operational verbs containsCI, startsWithCI, endsWithCI, notContainsCI, notStartsWithCI and notEndsWithCI for case insensitive (CI) string operations.
- Added support for relational operators to be used with string based attributes.
- Added support for string values inside a rule expression to have single or double quote characters mixed with other characters.
- Apr/23/2021
- Added a new function get_tuple_attribute_value to fetch the value of a user given attribute name if present in a user given tuple.
- Apr/20/2021
- Added more special operations for rstring, set, list and map. They are sizeEQ, sizeNE, sizeLT, sizeLE, sizeGT and sizeGE.
- Apr/15/2021
- Added support for the use of list of TUPLE in a rule expression.
- Apr/12/2021
- Added support for multilevel parenthesis i.e. nested rule expressions.
- Apr/05/2021
- Very first release of this toolkit that was tested to support the use of set, list, map and nested tuple attributes in a rule expression.