How to check if a field exists in NEW in trigger - Mailing list pgsql-general

From Igal @ Lucee.org
Subject How to check if a field exists in NEW in trigger
Date
Msg-id 0cc87310-590f-740e-977d-bcdde57eef1b@lucee.org
Whole thread Raw
Responses Re: How to check if a field exists in NEW in trigger  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: How to check if a field exists in NEW in trigger  (Thomas Kellerer <spam_eater@gmx.net>)
Re: How to check if a field exists in NEW in trigger  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general

I have the following statement in a trigger:

    new.email = lower(new.email);

When I try to update a record without setting the email column however, I get an error:

SQL Error [42703]: ERROR: record "new" has no field "email"
  Where: SQL statement "SELECT lower(new.email)"
PL/pgSQL function on_record_modified() line 26 at assignment

I have seen some hacks suggesting TRY/CATCH or converting to a JSON and checking if the field exists, but I would think that there's a better way to check if the field is in the NEW record, no?

Any ideas?  Thanks!

Igal Sapir
Lucee Core Developer
Lucee.org

pgsql-general by date:

Previous
From: Julie Nishimura
Date:
Subject: Re: adding more space to the existing server
Next
From: Adrian Klaver
Date:
Subject: Re: How to check if a field exists in NEW in trigger