• 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
Re: Using database objects in different schemas
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using database objects in different schemas


  • Subject: Re: Using database objects in different schemas
  • From: Chuck Hill <email@hidden>
  • Date: Fri, 15 Dec 2017 23:35:57 +0000
  • Thread-topic: Using database objects in different schemas

Yeah, it is not straight-forward at all.  You need to always know where you are
getting your data from.  If it is session based, you just set this up when the
session is created which simplified things somewhat.  These EOF stacks need to
be strictly isolated, so getting a few of Foos across multiple slaves is just
not possible in terms of a single fetch.  You can fetch on each slave and then
mash them together in an array, but the objects in the array will not all share
the same EC.  Personally, I’d run away.

Chuck


From: Paul Hoadley <email@hidden>
Date: Friday, December 15, 2017 at 2:54 PM
To: Chuck Hill <email@hidden>
Cc: André Rothe <email@hidden>, WebObjects-Dev
<email@hidden>
Subject: Re: Using database objects in different schemas

Hi Chuck,

On 16 Dec 2017, at 6:17 am, Chuck Hill
<email@hidden<mailto:email@hidden>> wrote:

I think you can make it work, but it is going to need a database connection for
each slave.  And there can’t be relationships between slaves or between the
master and the slave.  And it is going to be susceptible to “bad assumption”
errors in Wonder (I think that version of EOF is OK).

What you would need to do is to create a new EOModelGroup for each slave and
copy (not a reference, a brand new object) the models into it, adding the
schema to the table names.  That avoids the need to tweak the SQL. They you
need to create a new EOObjectStoreCoordinator for each of these groups.
EOObjectStoreCoordinators don’t co-operate so the duplicate GID should be OK.
Then make sure that your code uses the correct EOObjectStoreCoordinator to
create EOEditingContexts in.

I *think* that will work, I have never tried it.  Using the
EOSharedEditingContext with objects in the slave tables is going to challenging
as a lot of code is going to assume that there is only one, not per
EOObjectStoreCoordinator.  I’d avoid the EOSharedEditingContext.  The other
place where you may run into problems is notifications that are not scoped to
the EOObjectStoreCoordinator.

But all in all, this is not really what EOF is meant for.  With EOF you would
use a different data model for this sort of multi-tenant solution.

Does all of this require “deep” knowledge at the application level of what’s
going on in the database? To get it set up, as you describe above, obviously it
does, but then beyond that, say André wants a particular Foo object—does he
need to know where to ask for it from? Or say he wants all Foo objects—doesn’t
he now need to go ask for all Foos from each stack? I got the impression from
the original post that he wanted a kind of merged view over all these tables,
which presumably just isn’t possible.


--
Paul Hoadley
https://logicsquad.net/
https://www.linkedin.com/company/logic-squad/


 _______________________________________________
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

References: 
 >Using database objects in different schemas (From: André Rothe <email@hidden>)
 >Re: Using database objects in different schemas (From: Jean-François Veillette <email@hidden>)
 >Re: Using database objects in different schemas (From: Jean-François Veillette <email@hidden>)
 >Re: Using database objects in different schemas (From: André Rothe <email@hidden>)
 >Re: Using database objects in different schemas (From: Markus Ruggiero <email@hidden>)
 >Re: Using database objects in different schemas (From: André Rothe <email@hidden>)
 >Re: Using database objects in different schemas (From: Paul Hoadley <email@hidden>)
 >Re: Using database objects in different schemas (From: Chuck Hill <email@hidden>)
 >Re: Using database objects in different schemas (From: Paul Hoadley <email@hidden>)

  • Prev by Date: Re: Using database objects in different schemas
  • Next by Date: AjaxAutoComolete - scroll bar in results?
  • Previous by thread: Re: Using database objects in different schemas
  • Next by thread: Re: Using database objects in different schemas
  • Index(es):
    • Date
    • Thread