pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Paul Lambert <paul.lambert@reynolds.com.au>
To: pgsql-sql <pgsql-sql@postgresql.org>
Subject: Re: Function result using execute
Date: Wed, 12 Dec 2007 15:30:06 +0900
Message-ID: <475F7FEE.2060305@reynolds.com.au> (raw)
In-Reply-To: <12742.1197439311@sss.pgh.pa.us>
References: <475F6E69.3060207@reynolds.com.au>
	<12742.1197439311@sss.pgh.pa.us>

Tom Lane wrote:
> Do you really need an EXECUTE?  If so, maybe you could restructure this
> using a FOR ... IN EXECUTE, or some such thing.

I'll always only ever have a single result since the function gets 
passes all the fields making up the primary key of the table, so doing a 
for in seems like it's doing more work than is needed.

I need an execute because I'm dynamically constructing an SQL statement 
based on the parameters passed into the function - unless there is some 
other way of doing it that I'm not aware of.

> 
>> therefore I just be using a test of IF curr_amount IS NOT NULL?
> 
> Well, that might work.  Have you thought through the corner case
> where the query does find a row but the field's value is null?
> 

The field in question is marked not null in the tables schema, so unless 
PG lets things get past this constraing I don't believe that would be an 
issue.

Having the test at is not null seems to be doing the job.

Thanks.

-- 
Paul Lambert
Database Administrator
AutoLedgers - A Reynolds & Reynolds Company



view thread (4+ messages)

Message-ID: <475F7FEE.2060305@reynolds.com.au>
Permalink:  ../475F7FEE.2060305@reynolds.com.au/
Also on:    postgresql.org/message-id/475F7FEE.2060305@reynolds.com.au

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: paul.lambert@reynolds.com.au
  Subject: Re: Function result using execute
  In-Reply-To: <475F7FEE.2060305@reynolds.com.au>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox