From: | Jeevan Chalke <jeevan(dot)chalke(at)enterprisedb(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: TEXT vs VARCHAR join qual push down diffrence, bug or expected? |
Date: | 2015-09-24 06:57:28 |
Message-ID: | CAM2+6=Ub4PT5X0Z+2iSJiHwpP83pQZ+CiZRwYksHU12wBNygiA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Sep 23, 2015 at 7:29 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Removing that entirely would be quite incorrect, because then you'd be
> lying to the parent node about what collation your node outputs.
>
Yes. I too thought so and thus wanted to fix that code block by
considering the default collation.
>
> After thinking a bit more about the existing special case for non-foreign
> Vars, I wonder if what we should do is change these code blocks to look
> like
>
> collation = r->resultcollid;
> if (collation == InvalidOid)
> state = FDW_COLLATE_NONE;
> else if (inner_cxt.state == FDW_COLLATE_SAFE &&
> collation == inner_cxt.collation)
> state = FDW_COLLATE_SAFE;
> + else if (collation == DEFAULT_COLLATION_OID)
> + state = FDW_COLLATE_NONE;
> else
> state = FDW_COLLATE_UNSAFE;
>
> That is, only explicit introduction of a non-default collation causes
> a subexpression to get labeled FDW_COLLATE_UNSAFE. Default collations
> would lose out when getting merged with a nondefault collation from a
> foreign Var, so they should work all right.
>
Agree.
I had suggested similar changes in approach (2)
but you put that check at exact required place.
> regards, tom lane
>
--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Jeevan Chalke | 2015-09-24 07:36:22 | Re: TEXT vs VARCHAR join qual push down diffrence, bug or expected? |
Previous Message | Jeff Janes | 2015-09-24 06:33:34 | Re: Spurious standby query cancellations |