Thread: pgsql-server: Give inet/cidr datatypes their own hash function that

pgsql-server: Give inet/cidr datatypes their own hash function that

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Give inet/cidr datatypes their own hash function that ignores the inet vs
cidr type bit, the same as network_eq does.  This is needed for hash joins
and hash aggregation to work correctly on these types.  Per bug report
from Michael Fuhr, 2004-04-13.
Also, improve hash function for int8 as suggested by Greg Stark.

Modified Files:
--------------
    pgsql-server/src/backend/access/hash:
        hashfunc.c (r1.39 -> r1.40)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/hash/hashfunc.c.diff?r1=1.39&r2=1.40)
    pgsql-server/src/backend/utils/adt:
        network.c (r1.51 -> r1.52)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/network.c.diff?r1=1.51&r2=1.52)
    pgsql-server/src/include/catalog:
        catversion.h (r1.234 -> r1.235)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/catversion.h.diff?r1=1.234&r2=1.235)
        pg_amproc.h (r1.48 -> r1.49)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/pg_amproc.h.diff?r1=1.48&r2=1.49)
        pg_proc.h (r1.336 -> r1.337)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/pg_proc.h.diff?r1=1.336&r2=1.337)
    pgsql-server/src/include/utils:
        builtins.h (r1.242 -> r1.243)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/utils/builtins.h.diff?r1=1.242&r2=1.243)
        inet.h (r1.17 -> r1.18)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/utils/inet.h.diff?r1=1.17&r2=1.18)
    pgsql-server/src/test/regress/expected:
        opr_sanity.out (r1.53 -> r1.54)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/test/regress/expected/opr_sanity.out.diff?r1=1.53&r2=1.54)
    pgsql-server/src/test/regress/sql:
        opr_sanity.sql (r1.42 -> r1.43)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/test/regress/sql/opr_sanity.sql.diff?r1=1.42&r2=1.43)

Re: pgsql-server: Give inet/cidr datatypes their own hash

From
Bruce Momjian
Date:
Tom, did we need to give instructions on how to fix this in 7.4.3
release notes?

---------------------------------------------------------------------------

Tom Lane wrote:
> Log Message:
> -----------
> Give inet/cidr datatypes their own hash function that ignores the inet vs
> cidr type bit, the same as network_eq does.  This is needed for hash joins
> and hash aggregation to work correctly on these types.  Per bug report
> from Michael Fuhr, 2004-04-13.
> Also, improve hash function for int8 as suggested by Greg Stark.
>
> Modified Files:
> --------------
>     pgsql-server/src/backend/access/hash:
>         hashfunc.c (r1.39 -> r1.40)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/hash/hashfunc.c.diff?r1=1.39&r2=1.40)
>     pgsql-server/src/backend/utils/adt:
>         network.c (r1.51 -> r1.52)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/network.c.diff?r1=1.51&r2=1.52)
>     pgsql-server/src/include/catalog:
>         catversion.h (r1.234 -> r1.235)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/catversion.h.diff?r1=1.234&r2=1.235)
>         pg_amproc.h (r1.48 -> r1.49)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/pg_amproc.h.diff?r1=1.48&r2=1.49)
>         pg_proc.h (r1.336 -> r1.337)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/catalog/pg_proc.h.diff?r1=1.336&r2=1.337)
>     pgsql-server/src/include/utils:
>         builtins.h (r1.242 -> r1.243)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/utils/builtins.h.diff?r1=1.242&r2=1.243)
>         inet.h (r1.17 -> r1.18)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/utils/inet.h.diff?r1=1.17&r2=1.18)
>     pgsql-server/src/test/regress/expected:
>         opr_sanity.out (r1.53 -> r1.54)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/test/regress/expected/opr_sanity.out.diff?r1=1.53&r2=1.54)
>     pgsql-server/src/test/regress/sql:
>         opr_sanity.sql (r1.42 -> r1.43)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/test/regress/sql/opr_sanity.sql.diff?r1=1.42&r2=1.43)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: pgsql-server: Give inet/cidr datatypes their own hash

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom, did we need to give instructions on how to fix this in 7.4.3
> release notes?

Only one person has complained about it so far, so I'm not that
worried.  Besides, you can't retroactively change the 7.4.3 notes...

            regards, tom lane