Re:Re: BUG #17036: generated column cann't modifyed auto when update

From: 德哥 <digoal(at)126(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re:Re: BUG #17036: generated column cann't modifyed auto when update
Date: 2021-05-27 02:04:32
Message-ID: 68e07f0f.1179.179ab90ee08.Coremail.digoal@126.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

But in PostgreSQL 12, it works fine.

```

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(dot)g(dot)johnston(at)gmail(dot)com> 写道:

On Wednesday, May 26, 2021, PG Bug reporting form <noreply(at)postgresql(dot)org> wrote:
The following bug has been logged on the website:

Bug reference: 17036
Logged by: Zhou Digoal
Email address: digoal(at)126(dot)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.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message 德哥 2021-05-27 02:12:14 Re:Re: BUG #17036: generated column cann't modifyed auto when update
Previous Message Tom Lane 2021-05-26 19:08:42 Re: BUG #17037: ST_Azimuth used with geography produces results not in accordance with documentation