提交 c58fb21b 编写于 作者: M Marc G. Fournier

From: Jeroen van Vianen <jeroenv@design.nl>

This patch solves the problem with multiple order by columns, with the
first one having NULL values.
上级 c16ebb0f
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.33 1998/01/25 05:14:49 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.34 1998/01/25 05:18:34 scrappy Exp $
*
* NOTES
* Sorts the first relation into the second relation.
......@@ -1094,7 +1094,7 @@ _psort_cmp (HeapTuple *ltup, HeapTuple *rtup)
int result = 0;
bool isnull1, isnull2;
while ( nkey < PsortNkeys && !result )
for (nkey = 0; nkey < PsortNkeys && !result; nkey++ )
{
lattr = heap_getattr(*ltup, InvalidBuffer,
PsortKeys[nkey].sk_attno,
......@@ -1106,14 +1106,13 @@ _psort_cmp (HeapTuple *ltup, HeapTuple *rtup)
&isnull2);
if ( isnull1 )
{
if ( isnull2 )
return (0);
return(1);
if ( !isnull2 )
result = 1;
}
else if ( isnull2 )
return (-1);
result = -1;
if (PsortKeys[nkey].sk_flags & SK_COMMUTE)
else if (PsortKeys[nkey].sk_flags & SK_COMMUTE)
{
if (!(result = -(long) (*fmgr_faddr(&PsortKeys[nkey].sk_func)) (rattr, lattr)))
result = (long) (*fmgr_faddr(&PsortKeys[nkey].sk_func)) (lattr, rattr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册