Re: Help needed -> ERROR: record arow has no field description - Mailing list pgsql-sql

From Justin Clift
Subject Re: Help needed -> ERROR: record arow has no field description
Date
Msg-id 3A9DCE37.C6C25F5@bigpond.net.au
Whole thread Raw
List pgsql-sql
Hi all,

Solved my own problem.  I was just misreading the error message.  It was
actually TELLING me the problem (I was referencing a table with no field
called "description" in the select, but trying to use it in the loop.

Sorry for disturbing people.

As an aside, this has motivated me to add a section on error messages
into techdocs.postgresql.org (very messy at the moment, I'll fix it
tonight).

Regards and best wishes,

+ Justin Clift
Database Administrator

Justin Clift wrote:
> 
> Hi all,
> 
> I'm getting this error, which to me makes no sense.  Running PostgreSQL
> 7.0.3 on Mandrake 7.2 (compiled from source, not the rpms).
> 
> The code is in a pl/pgsql function I am writing and I can't see why it's
> complaining.
> 
> This is the appropriate part of the code :
> 
> <general CREATE type header>
> 
>         arow            record;
> 
>         <other declarations>
> 
>         BEGIN
> 
>         <other code here, which works>
> 
>         FOR arow IN select transaction_payments.cashback from
> transaction_payments, payment_types where
>          transaction_payments.payment_type = payment_types.idnum LOOP
>             textbuf := text(arow.cashback);
>             textbuf := textcat(textbuf, ''  '');
>             insert into receipts (receipt_num, data) values (trans_num,
> textbuf);
>         END LOOP;
> 
> <general END type syntax>
> 
> >From the PostgreSQL log file (debug is set to 2), I am getting :
> 
> query: SELECT  transaction_payments.cashback from transaction_payments,
> payment_types where transaction_payments.payment_type =
> payment_types.idnum
> ERROR:  record arow has no field description
> DEBUG:  Last error occured while executing PL/pgSQL function
> create_receiptp3
> DEBUG:  line 105 at assignment
> AbortCurrentTransaction
> 
> The "arow" record type variable is used quite a lot in previous FOR
> loops in this function.  This is the first FOR loop in the function that
> uses more than one table though.  I suspect this may have something to
> do with it.
> 
> As far as I can tell, this SQL statement is valid.  Does anyone have any
> ideas how to get this to work.  I have tried several variations, and the
> mailing lists don't even have a reference for this error message.
> 
> Regards and best wishes,
> 
> Justin Clift
> Database Administrator


pgsql-sql by date:

Previous
From: Yury Don
Date:
Subject: Re: plpgsql notify trigger
Next
From: "Josh Berkus"
Date:
Subject: Re: [PHP] novice question