Re:Re: BUG #17036: generated column cann't modifyed auto when update
От | 德哥 |
---|---|
Тема | Re:Re: BUG #17036: generated column cann't modifyed auto when update |
Дата | |
Msg-id | 68e07f0f.1179.179ab90ee08.Coremail.digoal@126.com обсуждение исходный текст |
Ответ на | Re: BUG #17036: generated column cann't modifyed auto when update ("David G. Johnston" <david.g.johnston@gmail.com>) |
Список | pgsql-bugs |
postgres=> create or replace function im_now () returns timestamptz as $$
postgres$> select now();
postgres$> $$ language sql strict immutable;
CREATE FUNCTION
postgres=>
postgres=> create table t1 (id int primary key, info text, crt_time timestamp,
postgres(> mod_time timestamp GENERATED ALWAYS AS (im_now()) stored);
CREATE TABLE
postgres=>
postgres=> insert into t1 (id, info, crt_time) values (1,'test', now());
INSERT 0 1
postgres=>
postgres=> select * from t1;
id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | test | 2021-05-27 10:01:58.361174 | 2021-05-27 10:01:58.361174
(1 row)
postgres=>
postgres=> update t1 set info='a' where id=1;
UPDATE 1
postgres=> select * from t1;
id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | a | 2021-05-27 10:01:58.361174 | 2021-05-27 10:01:58.896861
(1 row)
postgres=> create or replace function im_now () returns timestamptz as $$
postgres$> select CURRENT_TIMESTAMP;
postgres$> $$ language sql strict immutable;
CREATE FUNCTION
postgres=> update t1 set info='a' where id=1;
UPDATE 1
postgres=> select * from t1; id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | a | 2021-05-27 10:01:58.361174 | 2021-05-27 10:02:24.134303
(1 row)
postgres=> update t1 set info='a' where id=1;
UPDATE 1
postgres=> select * from t1;
id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | a | 2021-05-27 10:01:58.361174 | 2021-05-27 10:02:34.164966
(1 row)
postgres=> update t1 set info='a' where id=1;
UPDATE 1
postgres=> select * from t1;
id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | a | 2021-05-27 10:01:58.361174 | 2021-05-27 10:02:37.535282
(1 row)
postgres=> create or replace function im_now () returns timestamptz as $$ select now(); $$ language sql strict immutable;
CREATE FUNCTION
postgres=> update t1 set info='a' where id=1; UPDATE 1
postgres=> select * from t1; id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | a | 2021-05-27 10:01:58.361174 | 2021-05-27 10:03:02.665515
(1 row)
postgres=> update t1 set info='a' where id=1;
UPDATE 1
postgres=> select * from t1;
id | info | crt_time | mod_time
----+------+----------------------------+----------------------------
1 | a | 2021-05-27 10:01:58.361174 | 2021-05-27 10:03:05.414793
(1 row)
```
--公益是一辈子的事,I'm Digoal,Just Do It.
在 2021-05-26 20:25:00,"David G. Johnston" <david.g.johnston@gmail.com> 写道:
On Wednesday, May 26, 2021, PG Bug reporting form <noreply@postgresql.org> wrote:The following bug has been logged on the website:
Bug reference: 17036
Logged by: Zhou Digoal
Email address: digoal@126.com
PostgreSQL version: 14beta1
Operating system: CentOS 7.7 x64
Description:
postgres=> create or replace function im_now () returns timestamptz as $$
select CURRENT_TIMESTAMP;
$$ language sql strict immutable;
CREATE FUNCTION
why mod_time cann't updated automatic?Because that isn’t how this thing works...the lie you told it about being immutable is a dead giveaway,David J.
В списке pgsql-bugs по дате отправления:
Предыдущее
От: Tom LaneДата:
Сообщение: Re: BUG #17037: ST_Azimuth used with geography produces results not in accordance with documentation
Следующее
От: 德哥Дата:
Сообщение: Re:Re: BUG #17036: generated column cann't modifyed auto when update