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
|
* 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 */
|
/* Only PK constraints are of interest for now, see comment above */
|
||||||
if (con->contype != CONSTRAINT_PRIMARY)
|
if (con->contype != CONSTRAINT_PRIMARY)
|
||||||
continue;
|
continue;
|
||||||
|
/* Constraint must be non-deferrable */
|
||||||
|
if (con->condeferrable)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* Extract the conkey array, ie, attnums of PK's columns */
|
/* Extract the conkey array, ie, attnums of PK's columns */
|
||||||
adatum = heap_getattr(tuple, Anum_pg_constraint_conkey,
|
adatum = heap_getattr(tuple, Anum_pg_constraint_conkey,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user