| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Josh Berkus <josh(at)agliodbs(dot)com> |
| Cc: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | Re: Broken selectivity with special inet operators |
| Date: | 2011-09-21 20:56:17 |
| Message-ID: | 29153.1316638577@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Josh Berkus <josh(at)agliodbs(dot)com> writes:
> Summary: special inet operators ( << >> <<= =>> ) are
> up to 1000000X off in estimating rowcounts
A look in pg_operator will show you that these operators have no
associated selectivity estimators at all. It's not so much "broken"
as "unimplemented".
regression=# select oid::regoperator,oprcode,oprrest,oprjoin from pg_operator where (oprleft = 869 or oprright = 869) and oprresult = 16;
oid | oprcode | oprrest | oprjoin
----------------+---------------+-------------+-----------------
=(inet,inet) | network_eq | eqsel | eqjoinsel
<>(inet,inet) | network_ne | neqsel | neqjoinsel
<(inet,inet) | network_lt | scalarltsel | scalarltjoinsel
<=(inet,inet) | network_le | scalarltsel | scalarltjoinsel
>(inet,inet) | network_gt | scalargtsel | scalargtjoinsel
>=(inet,inet) | network_ge | scalargtsel | scalargtjoinsel
<<(inet,inet) | network_sub | - | -
<<=(inet,inet) | network_subeq | - | -
>>(inet,inet) | network_sup | - | -
>>=(inet,inet) | network_supeq | - | -
(10 rows)
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Eric Vollnogel | 2011-09-21 21:17:31 | BUG #6219: date_part() function producting incorrect year |
| Previous Message | Tom Lane | 2011-09-21 20:31:51 | Re: Timezone issues with Postrres |