Re: Functional dependencies and GROUP BY

Dean Rasheed <dean.a.rasheed@gmail.com>

From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter_e@gmx.net>, Alex Hunsaker <badalex@gmail.com>, pgsql-hackers@postgresql.org
Date: 2010-09-05T15:31:16Z
Lists: pgsql-hackers
On 5 September 2010 16:15, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Dean Rasheed <dean.a.rasheed@gmail.com> writes:
>> On 7 August 2010 03:51, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I was testing out this feature this morning and discovered that the
>> results may be non-deterministic if the PK is deferrable.
>
> Good point.
>
>> The original version of the patch had that check in it, but it
>> vanished from the final committed version. Was that just an oversight,
>> or an intentional change?
>
> I don't recall having thought about it one way or the other.  What did
> the check look like?
>

Well originally it was searching indexes rather than constraints, and
funcdeps_check_pk() included the following check:

if (!indexStruct->indisprimary || !indexStruct->indimmediate)
	continue;

Now its looping over pg_constraint entries, so I guess anything wtih
con->condeferrable == true should be ignored.

Regards,
Dean