ページの先頭行へ戻る
Symfoware Server V12.6.0 移行ガイド(OpenインタフェースからSymfoware Server (Postgres)への移行)
FUJITSU Software

3.2.13 多次元配列の入力データのチェック処理の強化

非互換

Symfoware Server (Postgres)では、多次元配列の入力データにおいて、要素数のチェック処理を強化します。これにより、先頭に単一要素、以降に複数要素を指定したような要素数が揃っていない多次元配列を扱うとエラーになります。

Symfoware Server (Openインタフェース)の場合

先頭に単一要素、以降に複数要素を指定した多次元配列の場合、先頭の要素にNULLを補います。

[例]

=# SELECT '{{a},{b,c,d}}'::text[]
        text           
-------------------------
 {{a,NULL,NULL},{b,c,d}}
Symfoware Server (Postgres)の場合

先頭に単一要素、以降に複数要素を指定した多次元配列を扱うとエラーになります。

[例]

=# SELECT '{{a},{b,c,d}}'::text[]
ERROR:  malformed array literal: "{{a},{b,c,d}}" at character 8
DETAIL:  Multidimensional arrays must have sub-arrays with matching dimensions.
STATEMENT:  SELECT '{{a},{b,c,d}}'::text[]
ERROR:  malformed array literal: "{{a},{b,c,d}}"
LINE 1: SELECT '{{a},{b,c,d}}'::text[]

対処方法

NULLを補って要素数を揃えてください。