非互換
Fujitsu Enterprise Postgres 17 SP2では、配列型の入力にint2vector型またはoidvector型を指定した場合のSQLの実行結果を変更します。
配列型に対しint2vector型またはoidvector型を入力した場合に誤った結果が得られる場合があります。
postgres=# select array(select '11 22 33'::int2vector from generate_series(1,5)); array --------------------------------------------------------------------- [1:5][0:2]={{11,22,33},{11,22,33},{11,22,33},{11,22,33},{11,22,33}} (1 row) postgres=# select array(select '11 22 33'::oidvector from generate_series(1,5)); array --------------------------------------------------------------------- [1:5][0:2]={{11,22,33},{11,22,33},{11,22,33},{11,22,33},{11,22,33}} (1 row) postgres=# select array['11 22 33'::int2vector]; array ------- 1 (1 row) postgres=# select array['11 22 33'::oidvector]; array ------- 1 (1 row)
配列型に対しint2vector型またはoidvector型を入力した場合に正しい結果が得られるようになります。
postgres=# select array(select '11 22 33'::int2vector from generate_series(1,5)); array ---------------------------------------------------------- {"11 22 33","11 22 33","11 22 33","11 22 33","11 22 33"} (1 row) postgres=# select array(select '11 22 33'::oidvector from generate_series(1,5)); array ---------------------------------------------------------- {"11 22 33","11 22 33","11 22 33","11 22 33","11 22 33"} (1 row) postgres=# select array['11 22 33'::int2vector]; array -------------- {"11 22 33"} (1 row) postgres=# select array['11 22 33'::oidvector]; array -------------- {"11 22 33"} (1 row)
対処方法
ありません。