Hey Chuck et al,

This is a follow-up question for you.  I'm doing things like the code shown 
below in quite a few places.  I'm assuming the ERXEC's are locked automagically 
as normal during the RR loop, but are you saying I also need to explicitly lock 
the EODatabaseContext in this case?  Do I need to manually lock the EC too?  
When do these things need to be manually locked?  Do I need to manually lock 
the EC when I'm getting a ref. to the EOModel, EOAttributes, etc...?

EODatabaseContext db = 
EOUtilities.databaseContextForModelNamed(editingContext(), "myModel");
EOSQLExpressionFactory sqlFactory = 
db.adaptorContext().adaptor().expressionFactory();
EOSQLExpression exp = sqlFactory.createExpression(al);
exp.setUseBindVariables(true);
exp.setStatement(sql);


//set the values
exp.addBindVariableDictionary(
exp.bindVariableDictionaryForAttribute(al.attributeNamed(Al.E_KEY), 
user().e().id()));
exp.addBindVariableDictionary(
exp.bindVariableDictionaryForAttribute(al.attributeNamed(Al.U_KEY), user()));
exp.addBindVariableDictionary(
exp.bindVariableDictionaryForAttribute(al.attributeNamed(Al.AL_KEY), 
AlEnum.GSTONE));
exp.addBindVariableDictionary(
exp.bindVariableDictionaryForAttribute(al.attributeNamed(Al.AL_KEY), 
AlEnum.GSTRATEGY));

//execute the query
NSArray<NSDictionary> rows = 
ERXEOAccessUtilities.rawRowsForSQLExpression(editingContext(), "myModel", exp);


return ((BigDecimal) rows.get(0).valueForKey("NUMBER")).intValue();

Thanks.
-Mike



On Mar 21, 2013, at 1:42 PM, Michael Gargano wrote:

I've checked this in our code several times, there is another app where we do 
stuff like that, but not in this one.

Thanks.
-Mike

-----Original Message-----
From: Chuck Hill [mailto:[email protected]]
Sent: Thursday, March 21, 2013 11:07 AM
To: Michael Gargano
Cc: vladimir gadyatskiy; WebObjects Development; Mark Cassidy
Subject: Re: EOF - statement has been closed?

Another possibility is that something in your code (or Wonder, unlikely to be 
in WO itself) is accessing the database context or below without proper locking 
and using and closing this statement behind EOF's back.  It looks less like a 
race condition and more like an improperly shared resource.

Chuck

On 2013-03-21, at 7:47 AM, Michael Gargano wrote:

Hi Vladimir,

               Mark and I work together.  We have not found the solution to 
this problem.  We modified the postgres jdbc driver to provide some additional 
logging, and whatever slight delay that has added seems to have lessened the 
frequency of the problem.  We're not sure where it is happening, but I'm 
convinced it has to be a race condition in wonder or EOF at this point (unless 
there's something wrong with the postgres jdbc driver which I find hard to 
believe since so many people are using it).  I've included Mark on this email 
as well.  Maybe we can find a solution.

Thanks.
-Mike


From: 
[email protected]<mailto:[email protected]>
 
[mailto:[email protected]<mailto:[email protected]>]
 On Behalf Of vladimir gadyatskiy
Sent: Wednesday, March 20, 2013 3:25 PM
To: WebObjects Development
Subject: RE: EOF - statement has been closed?

Hello, all

Sorry, I do not know how to ask Mark Cassidy directly, he'd asked about 
connection lost problems here:  
http://lists.apple.com/archives/webobjects-dev/2013/Jan/msg00429.html
Mark, did you find a solution? Seems we have the same problems with Postgres 
9.2...
Thanks for any help.

Best regards,
Vladimir Gadyatskiy

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      
([email protected]<mailto:[email protected]>)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to [email protected]<mailto:[email protected]>

--
Chuck Hill
Executive Managing Partner, VP Development and Technical Services

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/gvc/practical_webobjects

Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest Growing 
Companies in B.C!
Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of 
Canada's Fastest-Growing Companies by PROFIT Magazine!














_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/mgargano%40escholar.com

This email sent to [email protected]


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to