ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.2.51 生成列の更新処理の修正

非互換

生成列の値が正しく更新されるように修正しました。

Fujitsu Enterprise Postgres 15以前の場合
postgres=# CREATE TABLE gtestp (f1 int);
CREATE TABLE
postgres=# CREATE TABLE gtestc (f2 int GENERATED ALWAYS AS (f1+1) STORED) INHERITS(gtestp);
CREATE TABLE
postgres=# INSERT INTO gtestc values(42);
INSERT 0 1
postgres=# TABLE gtestc;
f1 | f2
----+----
42 | 43
(1 row)
postgres=# UPDATE gtestp SET f1 = f1 * 10;
UPDATE 1
postgres=# TABLE gtestc;
f1~ | f2
-----+-----
420 | 43
(1 row)
Fujitsu Enterprise Postgres 16の場合
postgres=# CREATE TABLE gtestp (f1 int);
CREATE TABLE
postgres=# CREATE TABLE gtestc (f2 int GENERATED ALWAYS AS (f1+1) STORED) INHERITS(gtestp);
CREATE TABLE
postgres=# INSERT INTO gtestc values(42);
INSERT 0 1
postgres=# TABLE gtestc;
f1 | f2
----+----
42 | 43
(1 row)
postgres=# UPDATE gtestp SET f1 = f1 * 10;
UPDATE 1
postgres=# TABLE gtestc;
f1~ | f2
-----+-----
420 | 421
(1 row)

対処方法

ありません。