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

Sat, 06 Jan 2001 15:24:51 -0500
Tom Lane <tgl@sss.pgh.pa.us>
is_view seems unnecessarily slow
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 #



Mon, 8 Jan 2001 13:05:41 -0500 (EST)
Jan Wieck <janwieck@Yahoo.com>
Re: is_view seems unnecessarily slow