Re: stawidth inconsistency with all NULL columns

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: stawidth inconsistency with all NULL columns
Date: 2019-05-21 19:55:05
Message-ID: 15583.1558468505@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Joe Conway <mail(at)joeconway(dot)com> writes:
> else if (null_cnt > 0)
> {
> /* We found only nulls; assume the column is entirely null */
> stats->stats_valid = true;
> stats->stanullfrac = 1.0;
> if (is_varwidth)
> stats->stawidth = 0; /* "unknown" */
> else
> stats->stawidth = stats->attrtype->typlen;
> stats->stadistinct = 0.0; /* "unknown" */
> }
> 8<-----------------

> So apparently intentional, but seems gratuitously inconsistent. Could
> this cause any actual inconsistent behaviors? In any case that first
> comment does not reflect the code.

Are you suggesting that we should set stawidth to zero even for a
fixed-width datatype? That seems pretty silly. We know exactly what
the value should be, and would be if we'd chanced to find even one
non-null entry.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2019-05-21 19:57:56 Re: PG 12 draft release notes
Previous Message Joe Conway 2019-05-21 19:48:37 stawidth inconsistency with all NULL columns