Обсуждение: is_view seems unnecessarily slow

Поиск
Список
Период
Сортировка

is_view seems unnecessarily slow

От
Tom Lane
Дата:
backend/commands/command.c has a routine is_view() that tests for
view-ness by scanning pg_rewrite (all of it) to see if the given
relation has any ON SELECT rules.

This is only used to disallow AlterTableAddConstraint and
LockTableCommand on views.  While I don't care much about the
performance of AlterTableAddConstraint, it does bug me that this
might slow down LOCK TABLE a good deal.

Any objection to replacing this routine by a test for relkind = VIEW?
        regards, tom lane


Re: is_view seems unnecessarily slow

От
Jan Wieck
Дата:
Tom Lane wrote:
> backend/commands/command.c has a routine is_view() that tests for
> view-ness by scanning pg_rewrite (all of it) to see if the given
> relation has any ON SELECT rules.
>
> This is only used to disallow AlterTableAddConstraint and
> LockTableCommand on views.  While I don't care much about the
> performance of AlterTableAddConstraint, it does bug me that this
> might slow down LOCK TABLE a good deal.
>
> Any objection to replacing this routine by a test for relkind = VIEW?
   No objections.
   These checks came from the days where views still had relkind   'r' and looking up pg_rewrite was the only way to
know.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #