No, we can't do like this, because we have something like this:

CREATE TABLE test_base (
        id INT
);
CREATE TABLE test_child_with_data (
        t TEXT
) INHERITS (test_base);

ALTER TABLE test_base ADD COLUMN date DATE;

INSERT INTO test_child_with_data VALUES (1, 'text', NOW());

CREATE FUNCTION some_magic() RETURNS SETOF test_child_with_data AS
$$
        SELECT (SUM(id), t, MIN(date))::test_child_with_data
        FROM test_child_with_data
        GROUP BY t
$$ LANGUAGE SQL;


INSERT INTO test_child_with_data
        SELECT * FROM some_magic(); -- Works fine.


-- Dump/restore


INSERT INTO test_child_with_data
        SELECT * FROM some_magic(); -- Error.


On Sun, Jul 5, 2009 at 4:48 AM, toruvinn<toruv...@lain.pl> wrote:
> On Sat, 04 Jul 2009 22:10:55 +0200, Oleg Serov <sero...@gmail.com> wrote:
>>
>> INSERT INTO test_child_with_data
>>        SELECT 1, 'test', NOW(); -- works fine.
>> -- Dump/restore
>> INSERT INTO test_child_with_data
>>        SELECT 1, 'test', NOW(); -- error..
>
> How about INSERT INTO test_child_with_data (id, t, date) SELECT 1, 'test',
> NOW(); ? You'll won't have to care about order of the columns anymore.
>
> Best regards,
> --
> ru
>

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to