db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jakob Braeuchi <jbraeu...@gmx.ch>
Subject Re: Query startAt endAt
Date Wed, 19 Nov 2003 21:24:58 GMT
hi wallace,

PagingIterator is now checked in .

jakob

Jakob Braeuchi wrote:

> hi wallace,
> 
> Gelhar, Wallace Joseph wrote:
> 
>> Hi jakob,
>>
>> I figured out why paging was not working for my setup, although I'm 
>> not sure I understand.  It turns out that using p6spy as the driver 
>> did not allow the query to return any results when startAtIndex > 0 
>> (corresponds with rs.absolute(int)).  I thought that p6spy was simply 
>> a wrapper and should not affect the query.  This is fine except parts 
>> of my app will be broken while I am trying to trace.  I'll survive.
>>
> 
> i think i have no problems with p6spy and mapping.
> 
>> BTW, there was some talk of making endAtIndex inclusive and/or 
>> changing the terminology to offset and limit.  Is this a method name / 
>> behavior change you plan on implementing before OJB goes to a release 
>> branch?
>>
> 
> the paging iterator will not cause a change of the interface of the 
> query. if we do change it the behaviour will stay as it is today.
> 
> the methods could be:
> 
> -setPagingLimit
> -setPagingOffset
> 
> jakob
> 
>> Thanks,
>>
>> Wally
>>
>> -----Original Message-----
>> From: Jakob Braeuchi [mailto:jbraeuchi@gmx.ch] Sent: Wednesday, 
>> November 19, 2003 12:21 PM
>> To: OJB Developers List
>> Subject: Re: Query startAt endAt
>>
>>
>> hi wallace,
>>
>> the current implementation (aka OJB-paging) work for 
>> getCollectionByQuery only. the start-offset is used to position the 
>> cursor of the resultset (rs.absolute()).
>> but this only works for jdbclevel >= 2.0
>>
>> the new implementation of OJB-paging will use a paging iterator to 
>> wrap the original iterator, so it works for iterators as well but it 
>> still needs jdbclevel >= 2.0
>>
>> hth
>> jakob
>>
>>
>> Gelhar, Wallace Joseph wrote:
>>
>>> Hi Jakob,
>>>
>>> Will you elaborate on how the current paging works?  What are the 
>>> driver / platform requirements to make it work?
>>>
>>> I ask because I have never gotten paging to work for startAtIndex > 0.
>>>
>>> My platform is WinXP / Tomcat 4.1 / MS SQL Server 2K / MS JDBC Driver.
>>>
>>> My extremely crude hack is too retrieve an iterator and count the 
>>> index to materialize the relevant objects.
>>>
>>> Any suggestions?
>>>
>>> Wally Gelhar
>>>
>>> -----Original Message-----
>>> From: "Jakob Bräuchi" [mailto:jbraeuchi@gmx.ch]
>>> Sent: Tuesday, November 18, 2003 9:09 AM
>>> To: thma@apache.org
>>> Cc: ojb-dev@db.apache.org
>>> Subject: Re: Query startAt endAt
>>>
>>>
>>> hi all,
>>>
>>> i have to inform you, that paging by SQL is not yet an option :( 
>>> because we execute a select for each extent. but i think i found a 
>>> way to improve OJB-paging be it for collections or iterators.
>>>
>>> as soon as time permits i will start working on the new solution.
>>>
>>>
>>> jakob
>>>
>>>
>>>
>>>> Hi Jakob
>>>>
>>>> <snip>
>>>>
>>>>>> Personally, I prefer LIMIT and OFFSET approach. Try to explain:
>>>>>
>>>>>
>>>>>
>>>>> i also prefer the OFFSET and LIMIT.
>>>>
>>>>
>>>> +1
>>>>
>>>> cu,
>>>> Thomas
>>>>
>>>>
>>>>
>>>>> we do have a problem with dbms only
>>>>> supporting OFFSET (oracle, sapdb etc.) there is a way to solve this
>>>>> problem by using an enclosing query:
>>>>>
>>>>> select * from
>>>>> (
>>>>> select ... , rownum as ojb_rnum where .... order by ...
>>>>> ) where ojb_rnum between OFFSET and OFFSET + LIMIT
>>>>>
>>>>>
>>>>> jakob
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> StartAt = OFFSET
>>>>>> endAt = OFFSET + LIMIT
>>>>>>
>>>>>> But:
>>>>>>
>>>>>> "endAt" indicates that it need to end at a given index. But this
>>>>>> index does not necesary exists. Suppose 5 row in a table and we use:
>>>>>>
>>>>>> startAt = 1, endAt = 10
>>>>>>
>>>>>> The "endAt" index never will be reached. For me the endAt in this
>>>>>> case does not exactly describe what we are requesting.
>>>>>>
>>>>>> On the other hand:
>>>>>>
>>>>>> startAt = 1, limit = 10 => This is correct, it means we will start
>>>>>> at 1 and we will retrieve at max 10 rows. But there is not an 
>>>>>> implicit index of the  last one. Also using limit= 10 avoid us to

>>>>>> doing some innecesary "maths". We cleary express the max. amount

>>>>>> of rows we expect to recieve in
>>>>>> a very easy way. It is easier from a programming view. You will not
>>>>
>>>>
>>>> need
>>>>
>>>>
>>>>>> to sum the 2 values to get the endAt value.
>>>>>>
>>>>>> I just tried to explain my view point. Of course, comments are 
>>>>>> welcome. :-D
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> Antonio Gallardo
>>>>>>
>>>>>> -------------------------------------------------------------------
>>>>>> -- 
>>>>>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For 
>>>>>> additional commands, e-mail: ojb-dev-help@db.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --------------------------------------------------------------------
>>>>> -
>>>>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For 
>>>>> additional commands, e-mail: ojb-dev-help@db.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-dev-help@db.apache.org
>>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-dev-help@db.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-dev-help@db.apache.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-dev-help@db.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Mime
View raw message