Search Postgresql Archives

Re: Returning NEW in an on-delete trigger

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2008-09-18 at 14:21 -0400, Michael Nolan wrote:
> Recently I discovered a coding error of mine in a trigger that is
> called only for deletes.
> 
> I was returning NEW instead of OLD.  
> 
> Since NEW is undefined when deleting a row, it was failing and the row
> wasn't being deleted.

In PL/pgSQL, NEW is NULL for BEFORE DELETE triggers. It doesn't appear
to be obviously documented that this is the case (which is, I assume,
why you said it is undefined), and I agree that it can cause confusion.

> However, it was failing silently.  Shouldn't this have recorded an
> error or warning somewhere?

This is a feature, not a bug. Sometimes you don't want to delete a
record, and returning NULL is the way to do that.

Regards,
	Jeff Davis



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux