• 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: Chuck Hill <email@hidden>
  • Date: Fri, 8 Jan 2010 11:42:59 -0800

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>
    • Re: ERXBatchingDisplayGroup, Oracle and Sorting Null Values **FIXED**
      • From: Pascal Robert <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>)

  • Prev by Date: Re: Any dedicated forums or lists for WO jobs
  • 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