非互換
Symfoware Server (Postgres)では、多次元配列の入力データにおいて、要素数のチェック処理を強化します。これにより、先頭に単一要素、以降に複数要素を指定したような要素数が揃っていない多次元配列を扱うとエラーになります。
先頭に単一要素、以降に複数要素を指定した多次元配列の場合、先頭の要素にNULLを補います。
[例]
=# SELECT '{{a},{b,c,d}}'::text[]
text ------------------------- {{a,NULL,NULL},{b,c,d}}
先頭に単一要素、以降に複数要素を指定した多次元配列を扱うとエラーになります。
[例]
=# 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を補って要素数を揃えてください。