• 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: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**


  • Subject: Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
  • From: David Avendasora <email@hidden>
  • Date: Fri, 8 Jan 2010 14:57:17 -0500

Is there general consensus that the way sorting _should_ work is that null is considered to be less-than non-null?

Dave

On Jan 8, 2010, at 2:42 PM, Chuck Hill wrote:

> I'd guess that few of us use Oracle.  And few of those use ERXBatchingDisplayGroup with a column containing nulls.  IOW, you are just lucky.
>
>
> Chuck
>
>
>
> On Jan 8, 2010, at 10:37 AM, David Avendasora wrote:
>
>> Before I submit the patch, am I really the only one to have run into this with Oracle? Am I missing something fundamental?
>>
>> Dave
>>
>> On Jan 8, 2010, at 12:28 PM, David Avendasora wrote:
>>
>>> Hi Mike,
>>>
>>> Almost perfect. Following your example, here's what I came up with: (patch to follow in Jira)
>>>
>>>    @Override
>>>    public void addOrderByAttributeOrdering(EOSortOrdering sortOrdering) {
>>>        super.addOrderByAttributeOrdering(sortOrdering);
>>>        if (sortOrdering.selector() == EOSortOrdering.CompareCaseInsensitiveDescending
>>>                || sortOrdering.selector() == EOSortOrdering.CompareDescending) {
>>>            _orderByString().append(" NULLS LAST"); // Oracle's Default
>>>        } else {
>>>            _orderByString().append(" NULLS FIRST");
>>>        }
>>>    }
>>>
>>> Dave
>>>
>>> On Jan 8, 2010, at 10:36 AM, Mike Schrag wrote:
>>>
>>>> maybe try something like (completely untested):
>>>>
>>>>        public void addOrderByAttributeOrdering(EOSortOrdering sortOrdering) {
>>>> 		super. addOrderByAttributeOrdering(sortOrdering);
>>>> 		_orderByString().append(" NULLS FIRST");
>>>> 	}
>>>>
>>>> On Jan 8, 2010, at 10:20 AM, David Avendasora wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> This has taken me a while to track down, and I just want to make sure I've figured it out correctly, and if so, what the possible solutions are.
>>>>>
>>>>> Oracle sorts null values to the end, so ORDER BY FIRST_NAME returns:
>>>>>
>>>>> Anjo
>>>>> Chunk
>>>>> Mike
>>>>> Null
>>>>>
>>>>> EOSortOrdering sorts null values to the begining, so NAME.ascs() returns:
>>>>> Null
>>>>> Anjo
>>>>> Chunk
>>>>> Mike
>>>>>
>>>>> Which does some really crazy things to ERXBatchingDisplayGroup.
>>>>>
>>>>> Let's say I have 100 rows in the DG. All the Name attributes are null, except for those three.
>>>>>
>>>>> First the DB selects all the records and sorts them with nulls last, then gets the first 10 ids :
>>>>>
>>>>> 	select * from (select NAME, rownum eo_rownum from (SELECT t0.NAME FROM PEOPLE t0 ORDER BY t0.NAME ASC)) where eo_rownum between 1 and 10
>>>>>
>>>>> The results will be: Anjo, Chunk, Mike, null, null, null, null, null, null, null.
>>>>>
>>>>> Then EOF sorts the array again, so the DG displays: null, null, null, null, null, null, null, Anjo, Chunk, Mike and all the subsequent batches will be full of nulls.
>>>>>
>>>>> If this interpretation is correct, am I the first to run into this with Oracle?
>>>>>
>>>>> I've been digging through the EROraclePlugin, and I figured adding this to the EROracleExpression class would fix it, but it doesn't:
>>>>>
>>>>>    @Override
>>>>>    protected void appendItemToOrderByString(String sqlString) {
>>>>>        appendItemToListString(sqlString + " NULLS FIRST",
>>>>>                               _orderByString());
>>>>>    }
>>>>>
>>>>> Anyone have any other suggestions?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Dave
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> 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
>
> --
> Chuck Hill             Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
> http://www.global-village.net/products/practical_webobjects
>
>
>
>
>
>
>
>
>

 _______________________________________________
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: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
      • From: David Avendasora <email@hidden>
References: 
 >ERXBatchingDisplayGroup, Oracle and Sorting Null Values (From: David Avendasora <email@hidden>)
 >Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values (From: Mike Schrag <email@hidden>)
 >Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED** (From: David Avendasora <email@hidden>)
 >Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED** (From: David Avendasora <email@hidden>)
 >Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED** (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
  • Next by Date: Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
  • Previous by thread: Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
  • Next by thread: Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
  • Index(es):
    • Date
    • Thread