[
https://issues.redhat.com/browse/DROOLS-5023?page=com.atlassian.jira.plug...
]
Toshiya Kobayashi commented on DROOLS-5023:
-------------------------------------------
ReteDumper shows that the AlphaNode are not shared
{noformat}
[EntryPointNode(1) EntryPoint::DEFAULT ]
[ObjectTypeNode(2)::EntryPoint::DEFAULT objectType=[ClassObjectType
class=org.drools.core.reteoo.InitialFactImpl] expiration=-1ms ]
[ObjectTypeNode(3)::EntryPoint::DEFAULT objectType=[ClassObjectType
class=org.drools.modelcompiler.domain.Person] expiration=-1ms ]
[AlphaNode(13) constraint=Constraint for
'2775D4065FCB4B990148A0A19FFDC558' (index: AlphaIndex #14 (EQUAL, left: lambda
267098351, right: Mario))]
[LeftInputAdapterNode(14)]
[RuleTerminalNode(15): rule=R2]
[AlphaNode(7) constraint=Constraint for '593440B7603CA900F1A34F18497AB0EA'
(index: AlphaIndex #14 (EQUAL, left: lambda 267098351, right: Mario))]
[LeftInputAdapterNode(8)]
[RuleTerminalNode(9): rule=R1]
[AlphaNode(10) constraint=Constraint for
'85DD981B78E0370C2E48B21F2BB8D1DF' (index: AlphaIndex #14 (EQUAL, left: lambda
267098351, right: Mark))]
[LeftInputAdapterNode(11)]
[RuleTerminalNode(12): rule=R2]
[AlphaNode(4) constraint=Constraint for '7A9C8DF5A1F36ECE3F75D8DA7E5C8E40'
(index: AlphaIndex #14 (EQUAL, left: lambda 267098351, right: Mark))]
[LeftInputAdapterNode(5)]
[RuleTerminalNode(6): rule=R1]
{noformat}
executable model doesn't fire when Or with trimmed duplicate
constraints
------------------------------------------------------------------------
Key: DROOLS-5023
URL:
https://issues.redhat.com/browse/DROOLS-5023
Project: Drools
Issue Type: Bug
Components: executable model
Affects Versions: 7.32.0.Final
Reporter: Toshiya Kobayashi
Assignee: Luca Molteni
Priority: Major
With a rule like this, (see that the second rule's constraints are trimmed)
{noformat}
rule R1 when
Person( $name: name == "Mark", $age: age ) or
Person( $name: name == "Mario", $age : age )
then
list.add( $name + " is " + $age);
end
rule R2 when
$p: Person( name=="Mark", $age: age ) or
$p: Person( name=="Mario", $age : age )
then
list.add( $p + " has " + $age + " years");
end
{noformat}
when you insert a fact,
{code:java}
ksession.insert( new Person( "Mark", 37 ) );
{code}
only one rule fires.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)