Re: Why can't I select un-grouped columns when grouping by a (non-primary) unique key?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Why can't I select un-grouped columns when grouping by a (non-primary) unique key?
Дата
Msg-id 22599.1411582750@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Why can't I select un-grouped columns when grouping by a (non-primary) unique key?  (Daniel Lenski <dlenski@gmail.com>)
Список pgsql-general
Daniel Lenski <dlenski@gmail.com> writes:
> Now that I understand PG's current behavior, it doesn't seem like a
> huge limitation... but I'm curious about what is preventing the UNIQUE
> NOT NULL constraints from being allowed as well. Is there something
> different about the internal representation of UNIQUE NOT NULL
> constraints compared to PRIMARY KEY constraints?

The comments for check_functional_grouping() explain where the holdup is:

 * Determine whether a relation can be proven functionally dependent on
 * a set of grouping columns.  If so, return TRUE and add the pg_constraint
 * OIDs of the constraints needed for the proof to the *constraintDeps list.
 *
 * grouping_columns is a list of grouping expressions, in which columns of
 * the rel of interest are Vars with the indicated varno/varlevelsup.
 *
 * Currently we only check to see if the rel has a primary key that is a
 * subset of the grouping_columns.  We could also use plain unique constraints
 * if all their columns are known not null, but there's a problem: we need
 * to be able to represent the not-null-ness as part of the constraints added
 * to *constraintDeps.  FIXME whenever not-null constraints get represented
 * in pg_constraint.

            regards, tom lane


В списке pgsql-general по дате отправления:

Предыдущее
От: Daniel Lenski
Дата:
Сообщение: Re: Why can't I select un-grouped columns when grouping by a (non-primary) unique key?
Следующее
От: Chris Bandy
Дата:
Сообщение: Re: Custom type literal conversion