Thread: pgsql/src include/utils/tuplesort.h backend/ut ...

pgsql/src include/utils/tuplesort.h backend/ut ...

From
Tom Lane
Date:
CVSROOT:    /home/projects/pgsql/cvsroot
Module name:    pgsql
Changes by:    tgl@hub.org    01/06/02 15:01:53

Modified files:
    src/include/utils: tuplesort.h
    src/backend/utils/sort: tuplesort.c
    src/backend/commands: analyze.c

Log message:
    Tweak sorting so that nulls appear at the front of a descending sort
    (vs. at the end of a normal sort).  This ensures that explicit sorts
    yield the same ordering as a btree index scan.  To be really sure that
    that equivalence holds, we use the btree entries in pg_amop to decide
    whether we are looking at a '<' or '>' operator.  For a sort operator
    that has no btree association, we put the nulls at the front if the
    operator is named '>' ... pretty grotty, but it does the right thing in
    simple ASC and DESC cases, and at least there's no possibility of getting
    a different answer depending on the plan type chosen.


Re: pgsql/src include/utils/tuplesort.h backend/ut ...

From
Bruce Momjian
Date:
TODO updated:

    * -Make NULL's come out at the beginning or end depending on the
      ORDER BY direction (Tom)

> CVSROOT:    /home/projects/pgsql/cvsroot
> Module name:    pgsql
> Changes by:    tgl@hub.org    01/06/02 15:01:53
>
> Modified files:
>     src/include/utils: tuplesort.h
>     src/backend/utils/sort: tuplesort.c
>     src/backend/commands: analyze.c
>
> Log message:
>     Tweak sorting so that nulls appear at the front of a descending sort
>     (vs. at the end of a normal sort).  This ensures that explicit sorts
>     yield the same ordering as a btree index scan.  To be really sure that
>     that equivalence holds, we use the btree entries in pg_amop to decide
>     whether we are looking at a '<' or '>' operator.  For a sort operator
>     that has no btree association, we put the nulls at the front if the
>     operator is named '>' ... pretty grotty, but it does the right thing in
>     simple ASC and DESC cases, and at least there's no possibility of getting
>     a different answer depending on the plan type chosen.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026