Triggers on SELECT?

Started by Josh Berkusover 22 years ago3 messages
#1Josh Berkus
josh@agliodbs.com

Folks,

Pardon me if this has already been discussed and rejected for good reason.

Now that we have Statement-level triggers, is there any reason we shouldn't
have triggers on SELECT? Such triggers could be extremely useful for
databases with tight security audit requirements.

--
-Josh Berkus
Aglio Database Solutions
San Francisco

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Josh Berkus (#1)
Re: Triggers on SELECT?

Josh Berkus <josh@agliodbs.com> writes:

Now that we have Statement-level triggers, is there any reason we shouldn't
have triggers on SELECT?

Plenty, although I'm too tired to recall 'em all. The fundamental
problem with this is that it turns SELECT into an operation with
side-effects.

regards, tom lane

#3Jan Wieck
JanWieck@Yahoo.com
In reply to: Tom Lane (#2)
Re: Triggers on SELECT?

Tom Lane wrote:

Josh Berkus <josh@agliodbs.com> writes:

Now that we have Statement-level triggers, is there any reason we shouldn't
have triggers on SELECT?

Plenty, although I'm too tired to recall 'em all. The fundamental
problem with this is that it turns SELECT into an operation with
side-effects.

The other fundamental problem is the definition of SELECT. To show just
one of the 273 possible problems:

UPDATE sometab SET foo = 'bar'
WHERE NOT EXISTS (SELECT 1 FROM othertab WHERE o_id = s_id);

Now explain in detail what the ON SELECT trigger on othertab will be
fired for.

Jan

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