db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: [IMPORTANT] Fetch-depth
Date Mon, 16 Jan 2006 20:19:53 GMT
Hi

Yes, I'm interested in this use-case in detail. I'm still open to an  
absolute fetch-depth if there is a need for it.

Thanks,

Craig

On Jan 16, 2006, at 8:13 AM, Jörg von Frantzius wrote:

> Thank you Alexander, I hadn't been watching!
>
> Alexander Bieber schrieb:
>> Thanks Craig for taking our arguments into account.
>> I'll still have a comment concerning the use case Jörg von  
>> Frantzuis submitted. His case is to limit the object-plan depth to  
>> a certain level while using FetchPlan.ALL as fetch-group. This is  
>> used for synchronizing data between datastores generically. In my  
>> oppinion we should think of an additional and optional (defaulting  
>> to -1) parameter to detachCopy - detachDepth - for this case.
> If fetch-depth is meant to limit recursion (or if it would more  
> accurately be renamed to "recursion-depth", see below), then there  
> would be no way anymore of determining the fetch-depth absolutely  
> when detaching. As Alexander said, my usecase depends on that and  
> my code would break. If anyone is interested to know why  
> synchronizing two different databases in a generic way depends on  
> that, then I'll be happy to elaborate further.
>
> I'd be equally happy with a fetchDepth parameter to PM.detachCopy 
> (), as Alexander proposes.
>>
>> Best regards
>>
>> Alexander Bieber
>>
>>
>> Craig L Russell wrote:
>>
>>> Javadogs,
>>>
>>> I've spent some time looking at the semantics of fetch-depth and  
>>> now agree with the critics of the change that I proposed back in  
>>> the infamous October 1, 2005 message to the expert group subject:  
>>> *Re: JDO2 §12.7.2: fetch-depth only for "recursive fetch group  
>>> references"?*.
>>>
>>> I now believe it's impractical to use fetch-depth to mean the  
>>> maximum depth of the object graph reachable from the root object 
>>> (s) field because of several messages sent on the subject by  
>>> Joerg von Frantzuis, Alexander Bieber, and Marco Schultz.
>>>
>>> Briefly, the argument is that if fetch-depth limits the number  
>>> absolutely, then it's not possible easily to use the fetch-group  
>>> to add another field to a fetch plan simply by adding a fetch- 
>>> group that includes that field. Instead, a new fetch-group that  
>>> changes the fetch-depth must be used. And each new use-case needs  
>>> to provide a different fetch-depth number if another level of  
>>> fetching is desired.
>>>
>>> I believe that the use of fetch-group to determine whether fields  
>>> (navigating relationships) are fetched should be natural, and  
>>> that we should therefore use fetch-depth for its original purpose  
>>> of limiting recursion.
> Two remarks if we want to limit recursion:
>
>   1. It shouldn't be called "fetch-depth" but "recursion-depth",
>      because that's what it is then (it does not determine the actual
>      number of fetches!)
>   2. It should be clearly defined what kind of recursion is meant  
> here,
>      i.e. by class or by object. I remember it being agreed that by
>      object is the most useful.
>
>>>
>>> If you disagree with this position, please reply so we can move  
>>> forward and define the use of fetch-depth for recursion (as in  
>>> the original semantics of the attribute).
>>>
>>> Thanks,
>>>
>>> Craig
>>>
>>> Craig Russell
>>>
>>> Architect, Sun Java Enterprise System http://java.sun.com/ 
>>> products/jdo
>>>
>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>
>>> P.S. A good JDO? O, Gasp!
>>>
>>>
>>
>>
>
>
> -- 
> __________________________________________________________
> Dipl.-Inf. Jörg von Frantzius  |            artnology GmbH
>                               |                Milastr. 4
> Tel +49 (0)30 4435 099 26      |              10437 Berlin
> Fax +49 (0)30 4435 099 99      |  http://www.artnology.com
> _______________________________|__________________________
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message