Firebird Documentation Index → Firebird 2.5 リリースノート → 互換性問題 → SQK言語の変更 |
SQL言語の実装にいくつか変更が加えられましたので、注意する必要があります。
いくつかの新しい予約語が導入される一方で、予約語リスト全体は劇的に縮小され、Firebirdのパーサ文法は、従来は予約語だった大部分の非標準キーワードを非予約語と見なすようになりました。従来からの予約語と新たに予約語となったSQL標準キーワードのリストについては予約語とその変更の章で確認できます。
いくつかの変更により、gbakユーティリティのコード(バックアップとリストア)実行時に実行されるものを含むクエリのランタイム実行時に例外を発生させるようになりました。
UNICODE_FSS文字列とテキストBLOBに対して適格性のチェックが実行されるようになりました。これにより、新規のまたは既存のUNICODE_FSSが不正な形式だった場合、実行時に例外が発生します。
従来は、UPDATE文のSET句が新しい値をカラムに割り当てる際、ただちに新しい値が元の値に置き換わっていました。同じカラムが割り当てられたり、一度以上の割り当てがあった場合、現在の値は最後に行われた割り当ての値となっていました。言い換えると、従来は割り当ての順序が重要となっていました。
Firebirdを標準に合わせるため、このバージョン以降、SET句では、カラムのもとの値だけが任意の割り当てに対してアクセス可能となっています。
しばらくは、firebird.conf
内の一時的なパラメータOldSetClauseSemanticsの設定によって従来の挙動に戻すことができます。このパラメータは将来のリリースで非推奨となり、廃止されます。
Firebird Documentation Index → Firebird 2.5 リリースノート → 互換性問題 → SQK言語の変更 |