第三章: 互換性



バージョン 8.62 は前の Empress バージョンと互換性はありません。

バージョン 8.62 にアップグレードする場合には、すべてのアプリケーションを再コンパイルして、再リンクする必要があります。 Empress ルーチンを使用する ストアドプロシジャーはすべて再コンパイルして、再リンクする必要があります。

V6.2 およびより新しいデータベースにアップグレードするために、Empress ユーザは Empress ユーティリィティ empcnvt を使用することができます。

アップグレードは、いくつかのファイルとディレクトリーの更新とデータ辞書に新しいシステムテーブルを加えことを含むデータ辞書のコンバージョンです。一度、データベースをアップグレードすることにより、 バージョン 8.62 が提供するすべての新しい機能がサポートされます。
V8.20 と V8.60 のデータベースをアップグレードするために、Empress ユーザは Empress ユーティリィティ empupgrd を使用することができます。。

一旦データベースがアップグレードされれば、バージョン 8.62 アプリケーションだけがデータベースにアクセスすることができます。

ユーティリィティempcnvtempupgrd について、詳しくVolume A2: Manual Pagesを参照して下さい。

Empress は、Empress mr および mx ルーチンの mrprev と mxprev 関数について、古いバージョンとの互換性問題を解決する ために、変数MSSELEXTFETCHを導入しました。mrprevとmxprevが使用されないアプリケーションでは、性能を増強するために、 MSSELEXTFETCH(つまり MSSELEXTFETCH= )に何にもセットされません。デフォルトでは、MSSELEXTFETCH は何にもセットされま せん。他の Empress のインターフェース(例えばODBC、JDBC)はこの変数のセッティングによって影響されません。

3.1. シンタクスの互換性

次のシンタックス変更は、古い Empress バージョンで書かれたアプリケーションでの互換性問題を引き起こす可能性はあります。

1) 古い Empress 外部結合シンタクスは廃棄されました。ユーザーは新しい Empress ANSI シンタクスを使用しなければなりません。

例えば:

    select * from t1, outer t2 where t1.id = t2.id

はサポートされません。新しいの ANSI シンタクスは

    select * from t1 right join t2 on t1.id = t2.id

2) Empress バージョン 8.62 の中で、別名がテーブルに割り当てられる場合、SQLステートメントでのこのテーブルへの使用はすべて別名を使用しなければなりません。

例えば:

    select t1.id from t1 t where t.id > 5

はサポートされません。正確なシンタックスは次のとおりです:

    select t.id from t1 t where t.id > 5

3) Empress バージョン 8.62 では、ステートメントが GROUP BY 節なしでは HAVING 節および ORDER BY 節を持つことができません。

例えば:

    select sum(a) from t having sum(t.a) = 10 order by c

はサポートされません。正確なシンタックスは次のとおりです:

    select sum(a), c from t group by c having sum(t.a) = 10 order by c

4) Empress バージョン 8.62 では、WHERE節は、ON節のない、INNER JOIN あるいは CROSS JOIN 節の後に使用することができません。

例えば:

    select * from t1 INNER JOIN t2 where t1.id = t2.id

はサポートされません。正確なシンタックスは次のとおりです:

    select * from t1 INNER JOIN t2 on t1.id = t2.id

5) Empress バージョン 8.62 では、集計関数が、WHERE節に現われることを許されません。

例えば:

    select * from t where avg(id) > 10

はサポートされません。

6) Empress バージョン 8.62 では、新しい予約語が導入されました。 詳しく、バージョンノートの予約語を参照して下さい。