• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Fwd: EOSharedEditingContext
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: EOSharedEditingContext


  • Subject: Fwd: EOSharedEditingContext
  • From: Jonathan Miller <email@hidden>
  • Date: Thu, 20 Dec 2007 19:34:51 -1000

Along those lines,

if EOUtilities static methods are not thread safe, how do you use a shared editing context to make raw SQL calls?

e.g. how do I transform the following to a thread safe operation?

String sql = "SELECT MIN(NEWS_DATE) AS START_DATE FROM NEWS;";
NSArray<NSMutableDictionary<String, Object>> data = "" "ParadiseDB", sql, null);

Best,

Jon


Begin forwarded message:

From: Jonathan Miller <email@hidden>
Date: December 20, 2007 6:53:36 PM HST
To: email@hidden
Subject: re: EOSharedEditingContext

Hi Art,

I've received that advice before, but I've also watched a screen cast from one of the WWDC events and the apple engineer strongly recommends using the shared editing context.  If I remember correctly, the engineer stated that iTunes heavily utilizes the shared editing context.

However, I'll go with your suggestion and stop using the static eoutilities methods in place of the thread safe API.

Any comments?

Jon


How do I do the following without getting the pesky warning from
Eclipse about unchecked type conversion?

NSArray<NewsKeywords> newsKeywords =
EOUtilities
.objectsForEntityNamed
(EOSharedEditingContext.defaultSharedEditingContext(),
"NewsKeywords");

I wouldn't do the above in the first place.  Just because an
EOSharedEditingContext extends EOEditingContext doesn't mean that it
IS an EOEditingContext.  It's actually quite different and can be the
cause of considerable grief when not handled correctly (deadlocks and
other nasty behaviors).  It's probably best to fetch shared objects
only early in an app's life (e.g., in the Application constructor) or
to mark objects as shared in one's eomodel which will cause them all
to be fetched when the first shared object is fetched.

NewsKeywords should be fetched into an EOSharedEditingContext using
its thread-safe API, objectsWithFetchSpecification() or
bindObjectsWithFetchSpecification(), and these fetched objects
accessed only using the thread-safe API, objectsByEntityName() or
objectsByEntityNameAndFetchSpecificationName().  You may be able to
avoid the unchecked type conversion warnings by doing so as well.

Aloha,
Art

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: EOSharedEditingContext
      • From: Chuck Hill <email@hidden>
References: 
 >re: EOSharedEditingContext (From: Jonathan Miller <email@hidden>)

  • Prev by Date: re: EOSharedEditingContext
  • Next by Date: Re: EOSharedEditingContext
  • Previous by thread: re: EOSharedEditingContext
  • Next by thread: Re: EOSharedEditingContext
  • Index(es):
    • Date
    • Thread