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

2.2.197 ecpg/ecobpgの「elif」文の動作の変更

非互換

FUJITSU Enterprise Postgres 13では、「elif」文が正しく動作されるようになります。

FUJITSU Enterprise Postgres 12以前の場合

「ifdef/ifndef」の条件が満たされるかどうか問わず、「elif」文の判断が実施されます。

[例]

000000     EXEC SQL ifdef DEF1 END-EXEC.
000000     操作(1).
000000     EXEC SQL elif DEF2 END-EXEC.
000000     操作(2).
000000     EXEC SQL else END-EXEC.
000000     操作(3).

「DEF1」および「DEF2」が真の場合、「操作(1)」と「操作(2)」の両方が実行されます。

FUJITSU Enterprise Postgres 13の場合

「ifdef/ifndef」の条件が満たされる場合、「elif」文の判断が実施されません。

[例]

000000     EXEC SQL ifdef DEF1 END-EXEC.
000000     操作(1).
000000     EXEC SQL elif DEF2 END-EXEC.
000000     操作(2).
000000     EXEC SQL else END-EXEC.
000000     操作(3).

「DEF1」および「DEF2」が真の場合、「操作(1)」だけが実行されます。

対処方法

既存のアプリケーションを確認し、elif文が正しく動作するように修正してください。