Re: Testing for null record in plpgsql

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Erik Jones <erik(at)myemma(dot)com>
Cc: "pgsql-sql(at)postgresql(dot)org List" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Testing for null record in plpgsql
Date: 2008-04-11 07:40:53
Message-ID: 47FF1605.8050301@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Erik Jones wrote:
> Now, let's say I want to call this from another function and test the
> result to see if I have a null record (null, null),. I've got the
> following working but it feels like there should be something much
> simpler but I just can't seem to hit on it. Is this it?
I'm assuming that returns_null_maybe() is a dummy to show general
behavior. I can't imagine why you'd ever want to do what it's doing.

In general I'm suspicious of code that's testing for a real, known value
and returning NULL in its place. It seems like an odd thing to do.
Still, I'm sure you have your reasons and they probably make sense in
the real application rather than the simplified example.

You can tidy test_null_rec a little by just using:

RETURN row(res.*) IS DISTINCT FROM row(null_rec.*);

but otherwise, without incorporating it into the containing query as a
subquery I don't see much to be done. I'm still curious about the
purpose of using null values like this is, though.

--
Craig Ringer

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Erik Jones 2008-04-11 14:35:28 Re: Testing for null record in plpgsql
Previous Message Pavel Stehule 2008-04-11 05:21:58 Re: Testing for null record in plpgsql