Re: Inaccurate description of UNION/CASE/etc type selection

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Pg Docs <pgsql-docs(at)lists(dot)postgresql(dot)org>
Subject: Re: Inaccurate description of UNION/CASE/etc type selection
Date: 2020-08-17 16:07:26
Message-ID: CAKFQuwYjvVgyw5Ehw8JnPPZ1Tjox_yxktdkw5U8gm8nSM=ejJQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Mon, Aug 17, 2020 at 8:31 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> "David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> > More concisely:
>
> > Make the first input type a candidate type. Each subsequent input type
> is
> > compared to the current candidate, with a new candidate being chosen only
> > when there exists a non-mutal implicit cast to the new type. If at any
> > point a preferred type is made a candidate then it will be chosen.
>
> So this is just a verbatim statement of the algorithm, which is what
> I was hoping to avoid :-(. But maybe there's no simpler way.
>
>
I got nothin'. The locking onto the preferred type is conditional on one
being chosen and there doesn't seem to be any greater principle that
emerges from the pairwise matching algorithm - at least given that implicit
casts are essentially randomly distributed and the algorithm is
order-dependent.

David J.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Bruce Momjian 2020-08-17 16:52:22 "stable storage"
Previous Message Tom Lane 2020-08-17 15:31:04 Re: Inaccurate description of UNION/CASE/etc type selection