[ 
https://issues.apache.org/jira/browse/OFBIZ-4041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969419#action_12969419
 ] 

Adam Heath commented on OFBIZ-4041:
-----------------------------------

Hmm.  There are some things in the delegator that are direct api calls.  
findOne, delee, update.  Then there are other things that are used to reduce 
code in the applications; the so-called bulk operations.  This latter set of 
code should not have any ecas connected to them, ever.  Instead, the bulk 
operations should just call the lower-level methods, which then would have the 
ecas attached to them.

Maybe the bulk operations should be moved to a DelegatorHelper or Worker class.

> Materialized views
> ------------------
>
>                 Key: OFBIZ-4041
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4041
>             Project: OFBiz
>          Issue Type: New Feature
>          Components: framework
>    Affects Versions: Release Branch 10.04
>            Reporter: Marc Morin
>         Attachments: OFBIZ-4041.patch
>
>
> We make extensive use of view entities in our ofbiz application.  We have 
> noticed that when there is a large dataset and under some complex views, the 
> query performance was not the best (not a index issue, just complex joins, 
> etc...).
> With some commercial databases like Oracle, etc... we would have used 
> materialized view semantics available for these dbms, but we are using 
> PostgreSQL.
> So, we have extended the entity layer in Ofbiz to perform the 
> materialization.  This is pretty slick as all you need to do is the following:
> <view-entity name="myView" materialize="true">...</view-entity>
> and the system will do the following:
> - create a backing entity called "myView" that has the same fields as the view
> - backing entity has all the indexes inherited from the component entities
> - relations (fk,...) inherited from the component entities.
> - perform all the ECA actions automatically on all entities used in the view 
> (direct members and nested members if case of view on views). (This is an 
> eager update strategy only).
> So, the application doesn't change, it still accesses "myView", but now, it's 
> result is returned from the backing entity instead of the complex SQL 
> statement.
> We're pretty excited about this feature!!!  Really pushes Ofbiz framework to 
> next level and allows materialized views to be more broadly used on dbms that 
> don't naturally support it.
> We are prepared to contribute this feature back to the community if desired.  
> A note of caution about it though.... we have added a visitor pattern to the 
> model entities and this feature makes use of it.  It would need to come with 
> it.   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to