非互換
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)対処方法
ありません。