Re: Rules and Command Status - update/insert/delete rule with series of commands in action

From: "johnlumby(at)hotmail(dot)com" <johnlumby(at)hotmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Subject: Re: Rules and Command Status - update/insert/delete rule with series of commands in action
Date: 2024-05-30 22:34:23
Message-ID: PH0PR10MB695991BDE3588B549CE6A4D7A3F32@PH0PR10MB6959.namprd10.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On 5/30/24 4:56 PM, David G. Johnston wrote:
>
> Very little interest exists in working on user-specified rules.  They
> are practically deprecated.

Ah  -   pity  -   see my last comment to Adrian's

>
> Any interest in perhaps providing a choice via a configuration
> parameter?
>
>
>  If anything is done it would have to be new syntax.
>
>
A much bigger task surely.

On 5/30/24 5:19 PM, Adrian Klaver wrote:
>
> 2) Use INSTEAD OF triggers:
>
>

Unfortunately the same functionality as in my example with the RULE is
not supported for triggers on views :   from the manual

|INSTEAD OF| triggers may only be defined on views, *and only at row level*;

A RULE is essentially a statement-level operation which is what I need
for this particular case.      A row-level trigger would not work
because it cannot "see" the query causing it to be fired, and also , 
(most importantly) is not fired at all if no rows match the original
query,     whereas a RULE is always in effect regardless of which rows
are involved. before.      I should add that the RULE I showed in my
example is not the only RULE being used on this view  -    there are
other conditional RULEs,   and the combined effect is of being able to
change the effect of the original statement into a set of new
statements,   one of which does what is needed.

And if you are now inclined to say "well,    maybe the application
itself is poorly written and should be changed"  -   I would have to
agree,    but that is not mine to change.

But I suppose that my next question,   given what you both say about the
RULE system being a dead-end,  is whether there is any likelihood of
supporting an INSTEAD OF trigger on a view at statement level?   Maybe
that stands more chance of going somewhere?

Cheers,     John Lumby

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Rowley 2024-05-30 22:45:24 Re: How to delete column level Stats/Histogram
Previous Message Wong, Kam Fook (TR Technology) 2024-05-30 21:27:56 How to delete column level Stats/Histogram