GROUP BY can only infer functional dependency from non-deferrable primary keys.
Peter's original patch had this right, but I dropped the check while revising the code to search pg_constraint instead of pg_index. Spotted by Dean Rasheed.
This commit is contained in:
parent
8d8d5cb612
commit
a756f5ce14
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/catalog/pg_constraint.c,v 1.55 2010/08/07 02:44:06 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/catalog/pg_constraint.c,v 1.56 2010/09/05 15:45:42 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -836,6 +836,9 @@ check_functional_grouping(Oid relid,
|
||||
/* Only PK constraints are of interest for now, see comment above */
|
||||
if (con->contype != CONSTRAINT_PRIMARY)
|
||||
continue;
|
||||
/* Constraint must be non-deferrable */
|
||||
if (con->condeferrable)
|
||||
continue;
|
||||
|
||||
/* Extract the conkey array, ie, attnums of PK's columns */
|
||||
adatum = heap_getattr(tuple, Anum_pg_constraint_conkey,
|
||||
|
Loading…
x
Reference in New Issue
Block a user