OC,

Sorry, I did this in a project 10 years and a few laptops ago, and the code is 
archived off somewhere. I don’t remember if I hooked in at the adaptor level or 
if I somehow used EOSQLExpression….

— Mark

> On Jul 11, 2016, at 6:13 AM, OC <o...@ocs.cz> wrote:
> 
> Mark,
> 
> On 11. 7. 2016, at 7:03, "Morris, Mark" <mark.mor...@experian.com> wrote:
> 
>> I don’t know that there’s a way to do this.
>> 
>> What I did before was to intercept at the SQL-generation stage and change 
>> the table names based on a session variable value.
> 
> I see. Might I perhaps ask which hooks did you employ, just in case they 
> might prove valuable for my problem, too?
> 
> Thanks a lot,
> OC
> 
>> This was not for performance in my case, it was because a horrible student 
>> information system at a school system I was at duplicated every table for 
>> every school in the system, with a school-specific suffix added to the table 
>> name, and I was hiding that complexity from the rest of the app development. 
>> I could see how something like this might be used in an extreme case to 
>> address performance issues, but it certainly depends on your situation.
>> 
>> — Mark
>> 
>>> On Jul 10, 2016, at 7:20 PM, OC <o...@ocs.cz> wrote:
>>> 
>>> Well... I have re-written my test code completely. Alas there does not seem 
>>> to be a delegate method which would allow to select the target entity 
>>> dynamically based on the source EO :( In fact, I did not succeed to get 
>>> subEntityForEntity at all, whatever I tried (nor 
>>> relationshipFailedToLookupDestinationWithName); and 
>>> classForObjectWithGlobalID gets called all right, but only _after_ fetch, 
>>> not before, where it would help.
>>> 
>>> Oh, sigh.
>>> 
>>> Am I overlooking some hidden gem of a WOnder or EOF delegate, through which 
>>> one _could_ set the target entity for a relationship based on the source 
>>> EO, before EOF tries to fetch?
>>> 
>>> Thanks and all the best,
>>> OC
>>> 
>>> On 10. 7. 2016, at 21:25, OC <o...@ocs.cz> wrote:
>>> 
>>>> Thinking about
>>>> 
>>>> On 9. 7. 2016, at 12:13, OC <o...@ocs.cz> wrote:
>>>> 
>>>>> For one, it would mean each DBTable eo would have its "records" 
>>>>> relationship leading into another target DBRecordXX entity; I am not sure 
>>>>> whether this can be modelled at all?
>>>> 
>>>> actually it would help a lot even without special FrontBase support.
>>>> 
>>>> My current setup is the very primitive
>>>> 
>>>> - DBTable entity, it has a :N relationship "records" into DBRecord
>>>> - DBRecord entity, which contains a FK into DBTable which models an 
>>>> inverse :1 relationship "table" into DBTable.
>>>> 
>>>> A setup we all did a zillion times.
>>>> 
>>>> Now I wonder, might perhaps a horizontal inheritance help me to split 
>>>> those DBRecords? Let us assume that
>>>> 
>>>> (a) I add a "tableType" numeric column to DBTable; there would be N 
>>>> distinct table types
>>>> (b) I model N separate DBRecord1, DBRecord2, ..., DBRecordN entities, all 
>>>> of them children of DBRecord (which itself would become abstract)
>>>> (c) each of them would be linked to a separate SQL table
>>>> 
>>>> At the database level, this definitely would work well. What I can't see, 
>>>> how to process this at the model and EOF levels?
>>>> 
>>>> - I cannot model a relationship to “different entity for each row”; 
>>>> therefore, the target of the "records" relationship of DBTable would still 
>>>> have to be the (abstract) DBRecord;
>>>> - runtime, I would have tell _somehow_ to the EOF that if it is about to 
>>>> fire "records" of a DBTable object, it should fetch them from the 
>>>> ["DBRecord%@",table.tableType] entity instead of from DBRecord -- the 
>>>> subEntityForEntity delegate method comes to mind
>>>> - when adding new records, I would simply use 
>>>> EOUtilities.createAndInsertInstance with appropriate entity name (e.g., 
>>>> "DBRecord33").
>>>> 
>>>> Should such a thing work, or am I in for a nasty surprise? I have actually 
>>>> tried, but either it should not work, or I messed up something else; 
>>>> instead of the desired result (or some intelligible error report) I am 
>>>> getting a very weird “Cannot register the database context for the model 
>>>> Shared” (which is *not* the model which contains my abstract/inherited 
>>>> entities). And, my subEntityForEntity delegate method is never called.
>>>> 
>>>> Thanks a lot,
>>>> OC
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/ocs%40ocs.cz
>>>> 
>>>> This email sent to o...@ocs.cz
>>> 
>> 
> 


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

This email sent to arch...@mail-archive.com

Reply via email to