Hello Tom,

I would like to know your opinion about the way we should refer to composite
type params in functions.
For example:

CREATE TABLE emp (
    name        text,
    salary      numeric,
    age         integer,
    cubicle     point
);

CREATE FUNCTION double_salary(emp) RETURNS numeric AS $$
    SELECT $1.salary * 2 AS salary;
$$ LANGUAGE SQL;


How should we refer to emp in the following example.

CREATE FUNCTION double_salary(PARAM1 emp) RETURNS numeric AS $$

        -- At this moment PARAM1.salary will fail because PARAM1
      -- is compared to the name of this function  
        SELECT PARAM1.salary * 2 AS salary;

        -- Would this be correct?
        SELECT double_salary.PARAM1.salary * 2 AS salary;

$$ LANGUAGE SQL;

Regards,
Gevik.

------------------------------------------------
Gevik Babakhani

PostgreSQL NL       http://www.postgresql.nl
TrueSoftware BV     http://www.truesoftware.nl
------------------------------------------------


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to