From: | falcon <falcon(at)intercable(dot)ru> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Repeat RULE ON INSERT and DEFAULT nextval('...') |
Date: | 2005-04-05 18:38:37 |
Message-ID: | 1228132134.20050405223837@intercable.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hello pgsql-bugs,
Excuse my English. I'm from Russia.
I realized i forgotten to write version of PostgreSQL in previous letter.
I'm using PostgreSQL 8.0.1 on Windows and Slackware 10.0 compilled with gcc 3.3.4
I understood, that following is implementation behavior,
but this is really not what i'm expecting to see.
--Start test--
create table try1
(
id serial PRIMARY KEY, -- same with DEFAULT nextval('some_sequence')
info varchar(30)
)
without oids;
create table handle_try1
(
id_try1 int PRIMARY KEY,
inf int NOT NULL DEFAULT 0
)
without oids;
create rule try1_insert as
on insert to try1 do insert into handle_try1 (id_try1)
values (new.id);
insert into try1(info) values ('hello');
insert into try1(id,info) values(3,'hell'); -- later one'll see the reason for id=3
select * from try1;
/*
returns
id | info
----+-------
1 | hello
3 | hell
(2 rows)
*/
select * from handle_try1;
/*
returns
id_try1 | inf
---------+-------
2 | 0
3 | 0
(2 rows)
but I really expected
id_try1 | inf
---------+-------
1 | 0
3 | 0
(2 rows)
*/
-- Finish Test
Cause of this I ought to use trigger, what I really do not want to do.
And, i think, same behavior takes the place with other volatile function defaults.
mailto:falcon(at)intercable(dot)ru
From | Date | Subject | |
---|---|---|---|
Next Message | Eric McGough | 2005-04-05 20:11:12 | BUG #1582: boolean DEFAULT TRUE results in FALSE for NULL values |
Previous Message | falcon | 2005-04-05 18:34:40 | RULE ON INSERT and INSERT INTO ... SELECT |