forUpdate

We patched EntityFindOptions with a new field "forUpdate" with shorthand 
methods in EntityQuery to enable. We then made a change to 
GenericDAO.selectListIteratorByCondition to add "FOR UPDATE" on the end of the 
SQL select statement - this allows for DB row locks (we use postgres and works 
but have not tested other databases). I believe there may have been a 
discussion about this before


forEach on EntityQuery

Use Consumer in java and groovy to iterate over a query. This can reduce memory 
consumption (replacement for queryList()) and boiler plate code (eg 
queryIterator(), while loop and close)

Example:

EntityQuery.use(delegator).from("Foobar")
.forEach(item ->
    Debug.logInfo(item.toString(), module);
);

A further update could be to provide stream capabilities

Hope this helps, I can provide a patch aswell

Gareth Carter
Software Development Analyst
Stannah Management Services Ltd
IT Department
Ext:
7036
DDI:
01264 364311


Please consider the environment before printing this email.

-----Original Message-----
From: Arun Patidar [mailto:arun.pati...@hotwaxsystems.com]
Sent: 25 October 2017 5:49 AM
To: dev@ofbiz.apache.org
Cc: arunpati...@apache.org
Subject: Re: Updates to EntityQuery

Hello Gareth,

Please provide some more details or patch to understand  - forUpdate and 
forEach method utility.

getFieldMap method looks good to me.



--
Thanks & Regards
---
Arun Patidar
Manager, Enterprise Software Development

HotWax Systems Pvt Ltd.

www.hotwaxsystems.com


On Tue, Oct 24, 2017 at 9:06 PM, Gareth Carter <gareth.car...@stannah.co.uk>
wrote:

> Hi all
>
> We have internally patched EntityQuery with some additional
> functionality and before I create a Jira was going to see what the community 
> thinks.
>
> New functionality:
>
> -       New method getFieldMap which returns a Map object of selected
> fields from GenericValue objects, useful for creating cache map
> objects for lookup
>
> -       Support forUpdate
>
> -       forEach method to accept Consumer
>
> We have found these useful and believe the project can benefit, let me
> know what you think
>
> Regards
>
> Gareth Carter
>
>
> Software Development Analyst
>
>
> Stannah Management Services Ltd
>
>
> IT Department
>
>
> Ext:
>
>
> 7036
>
>
> DDI:
>
>
> 01264 364311
>
>
>
>
> [http://logos.stannah.co.uk/stan150.jpg]
>
>
> [http://logos.stannah.co.uk/enviro.jpg]Please consider the environment
> before printing this email.
>
>
>
> This email is intended only for the above addressee. It may contain
> privileged information. If you are not the addressee you must not
> copy, distribute, disclose or use any of the information in it. If you
> have received it in error, please delete it and notify the sender.
>
> Stannah Lift Holdings Ltd registered No. 686996, Stannah Management
> Services Ltd registered No. 2483693, Stannah Lift Services Ltd
> registered No. 1189799, Stannah Microlifts Ltd registered No. 964804,
> Stannah Lifts Ltd registered No. 1189836, Stannah Stairlifts Ltd
> registered No. 1401451, Global Upholstery Solutions Ltd registered No. 
> 02452728.
>
> All registered offices at Watt Close, East Portway, Andover,
> Hampshire,
> SP10 3SD, England.
>
> All Registered in England and Wales.
>
> This message has been scanned for malware by Websense.
> www.websense.com
>


To report this email as spam, please send the original message, complete with 
headers to s...@websense.com

Reply via email to