[jboss-jira] [JBoss JIRA] Closed: (JBRULES-547) Create a specialized "exists" node in reteoo

Edson Tirelli (JIRA) jira-events at jboss.com
Mon Nov 20 11:28:41 EST 2006


     [ http://jira.jboss.com/jira/browse/JBRULES-547?page=all ]

Edson Tirelli closed JBRULES-547.
---------------------------------

    Fix Version/s: 3.1-m1
                       (was: 3.1-m2)
       Resolution: Done

A new specialized node was created for exists. Expected results are to solve some problems we had when using not+not to represent "exists" and also some performance improvements.

Commited into trunk in revision #7724. It will be included in 3.1m1 release.

Sending        drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java
Adding         drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
Sending        drools-core/src/main/java/org/drools/reteoo/NotNode.java
Sending        drools-core/src/main/java/org/drools/reteoo/QueryTerminalNode.java
Sending        drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
Adding         drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java
Transmitting file data ......
Committed revision 7724.



> Create a specialized "exists" node in reteoo
> --------------------------------------------
>
>                 Key: JBRULES-547
>                 URL: http://jira.jboss.com/jira/browse/JBRULES-547
>             Project: JBoss Rules
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: Drl Parser/Builder, Reteoo
>            Reporter: Edson Tirelli
>         Assigned To: Edson Tirelli
>             Fix For: 3.1-m1
>
>
> Currently, "exists" conditional element is implemented as a sequence of 2 "not" nodes. This is suboptimal for performance and adds complexity to the network with specialized constraints and the requirement for a specific RightInputAdapterNode.
> Also, the currently implementation causes unnecessary work to be performed. For instance, trace the work done in the terminal node in the following example:
> package org.drools
> query "2 persons with the same status"
> 		p : Person($status : status, $age : age)
> 		exists Person(status == $status, age > $age);
> end
> So, replace current implementation for a specialized "ExistsNode".

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list