Assigning Values to Composite Types

From: Gary Chambers <gwchamb(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Assigning Values to Composite Types
Date: 2009-10-22 17:31:11
Message-ID: 302670f20910221031v6cc61b5bq27accbf7d928d024@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-sql

All...

Given the following [hopefully] relevant portions of a function:

CREATE OR REPLACE FUNCTION solve(FLOAT8, VARCHAR, CHAR)
RETURNS SETOF sometype_t AS
$solve$
DECLARE
data sometype_t;
...

BEGIN
FOR term_count IN
SELECT DISTINCT coord_type AS coord_type, MAX(term) AS maxterms
...
LOOP
FOR i IN 0 .. term_count.maxterms LOOP
SELECT SUM(a + b + c) INTO Q
...
S := S + (Q * onevalue * somevalue);
END LOOP;
-- This is the only means of verifying/viewing the data
RAISE NOTICE '% = %', term_count.coord_type, S;

/* Here is where I am stuck trying to fill data
I've tried:

data.term_count.coord_type := S;
(data.term_count).coord_type := S;
data.(term_count.coord_type) := S;
*/

S := 0.0;
END LOOP;
RETURN NEXT vsop87_data;
END;
$solve$ LANGUAGE plpgsql STRICT IMMUTABLE;

Is there a means of filling something.something.something with a value
so I can get all the values into a single row? Thanks very much in
advance.

-- Gary Chambers

/* Nothing fancy and nothing Microsoft! */

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2009-10-22 18:28:37 Re: Assigning Values to Composite Types
Previous Message Tom Lane 2009-10-22 15:51:34 Re: Problem with return type of function ??? (corrected)