pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Stephan Szabo <sszabo@megazone.bigpanda.com>
To: Reinoud van Leeuwen <reinoud@xs4all.nl>
Cc: Josh Berkus <josh@agliodbs.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: [HACKERS] plpgsql strangeness with select into <variable>
Date: Fri, 18 Jul 2003 09:19:16 -0700 (PDT)
Message-ID: <20030718091807.T95696-100000@megazone.bigpanda.com> (raw)
In-Reply-To: <200307180914.43379.josh@agliodbs.com>

On Fri, 18 Jul 2003, Josh Berkus wrote:

> > I'm debugging a trigger in plpgsql and for some reason or the "select
> > into <var>" does not seem to work. Here is an unaltered snippet of my
> > trigger code:
> >
> >        raise notice ''this id      : %'',NEW.id;
> >
> >        select into i_hierarchy_id
> >               hierarchy_id
> >          from link_def LD,
> >               link L,
> >               object_link OL
> >         where OL.id = NEW.id
> >           and L.id  = OL.link_id
> >           and LD.id = L.link_def_id;
> >
> >         raise notice ''i_hierarchy_id: %'',i_hierarchy_id;
> >
> >
> > in the log this results in:
> >
> > NOTICE:  this id      : 5265
> > NOTICE:  i_hierarchy_id: <NULL>
> >
> > but when I perform the query on the command line I do get a result:
> >
> > select hierarchy_id
> >   from link_def LD,
> >        link L,
> >        object_link OL
> >  where OL.id = 5264
> >    and L.id  = OL.link_id
> >    and LD.id = L.link_def_id;
> >
> >  hierarchy_id
> > --------------
> >             1
> > (1 row)
> >
> > i_hierarchy_id is declared as integer and is not used before this code nor
> > as a column name anywhere.
> >
> > Does anyone have a clue what is going wrong? I use Postgresql 7.3.3 on
> > FreeBSD 4.5.
>
> Without seeing your full trigger code, I can't tell for sure.  However, I
> would guess that your "SELECT INTO" statement is querying data that has not
> yet been created; it's an FK record waiting on a deferred trigger, or you're
> using a BEFORE trigger and querying the record which has not yet been
> committed.

Or perhaps you have a variable named hierarchy_id in the function which is
getting used rather than the column of the table in question.  Seeing the
entire function might help.





view thread (5+ messages)  latest in thread

Message-ID: <20030718091807.T95696-100000@megazone.bigpanda.com>
Permalink:  ../20030718091807.T95696-100000@megazone.bigpanda.com/
Also on:    postgresql.org/message-id/20030718091807.T95696-100000@megazone.bigpanda.com

 · 

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: sszabo@megazone.bigpanda.com, reinoud@xs4all.nl, josh@agliodbs.com
  Subject: Re: [HACKERS] plpgsql strangeness with select into <variable>
  In-Reply-To: <20030718091807.T95696-100000@megazone.bigpanda.com>

* 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