InterBase XE3 の新機能

提供: InterBase

メインページ へ戻る

目次


InterBase XE3 Update 4 Hotfix 2: 既知の不具合の修正が含まれています。 それら解決された問題については、解決された不具合を参照してください。

InterBase XE3 Update 4: 既知の不具合の修正が含まれています。 それら解決された問題については、解決された不具合を参照してください。

InterBase XE3 Update 3: 既知の不具合の修正が含まれています。 それら解決された問題については、解決された不具合を参照してください。

InterBase XE3 Update 2: 次の新機能と、既存機能に対する強化が行われています。 それら解決された問題については、解決された不具合を参照してください。

InterBase XE3 Update 1: 次の新機能と、既存の機能に対する強化が行われています。 それら解決された問題については、解決された不具合を参照してください。

InterBase XE3: 次の新機能と、既存の機能に対する強化が行われています。 それら解決された問題については、解決された不具合を参照してください。

モバイル プラットフォーム

Android プラットフォームのサポートが、RAD/Delphi XE6 より開始されました。 iOS プラットフォームのサポートは、RAD/Delphi XE6 より開始されています。

InterBase XE3 Update 2 Update では、InterBase に Android モバイル プラットフォームを導入しています。 Android 用 InterBase ToGo and IBLite エディションは、RAD Studio/Delphi XE5 より利用可能です。 RAD Studio RAD Studio XE7 評価版(インストール可能、および InstantOn)には、IBToGo Test Deployment および IBLite の期間制限ライセンスが含まれており、RAD ユーザーは、製品入手後すぐにテスト アプリケーションをデプロイすることができます。

これらのモバイル プラットフォームを対象とした開発者は、ToGo または IBLite ライセンスでデプロイすることができます。 IBLite は配布自由で、同じプラットフォーム上の InterBase ToGo エディションに比べ、機能に制限があります。 ただし、追加費用により、IBLite を、より機能の豊富な InterBase ToGo にアップグレードすることは可能です。 詳細については、次を参照してください:http://www.embarcadero.com/products/interbase/interbase-feature-matrix.pdf

要件と制約

  • iOS バージョン 5.1、6.0 以上必須。 この OS バージョンより前が稼働するデバイスは、サポートされていません。
  • Android バージョン 2.3 以降が必要。特に、Android OS バージョン Gingerbread、ICE、Jelly Bean。 この OS バージョンより前が稼働するデバイスは、サポートされていません。
  • Android 上の InterBase は、InterBase UDF および Filters をサポートしません。これは、すべてのサポート モバイル プラットフォーム(iOS と Android の両方)上の機能セットを、同じものにするためです。
  • Android 上の InterBase アプリケーションは、ネットワーク上のリモート InterBase サーバーへ接続する、ピュア「クライアント」モードとして動作することができます。 このためには、InterBase サーバー バージョンは、2009(9.x)以降でなければなりません。
  • Android 上の InterBase アプリケーションは、ODS バージョンが 13 以降の組み込みデータベース ファイルとのみ、接続することができます。 データベース ファイルが Android InterBase プラットフォーム以外からコピーされた場合には、InterBase バージョン 2009 以降で作成(もしくは復元)されたエータベースのみがサポートされる、ということになります。
  • ibconfig 制限: Android デバイスは、その他のデスクトップ/サーバー マシンと比較して、限られた RAM しか備えていないため、次のパラメータにより、InterBase のフットプリントを、より小さいサイズに維持する必要があります:
    • パラメータ DATABASE_CACHE_PAGES は、デフォルト 75 ページに
    • パラメータ SORTMEM_BUFFER_SIZE は、デフォルト 128KB に

メモ: 現在、ToGo および IBLite は、InterBase XE3、ToGo および IBLite XE3 エディション上でのみサポートされています。

  • InterBase iOS モバイル プラットフォームとの InterBase は、InterBase XE3 で導入されています。 ToGo および IBLite は、RAD Studio XE7 により iOS プラットフォームで利用可能になります。 モバイル デバイス上にデプロイされたデータベースは、admin.ib を介した集中ユーザー認証か、EUA を使用して、データベース内のユーザー アクセスを制御することができます。 VAR および OEM は、自分のアプリケーションを InterBase XE3 ToGo XE3 エディションとリンクすることにより、モバイル デバイス上で InterBase を使用できるようになりました。
  • iOS 用に構築されたアプリケーションは、InterBase ToGo を、Lite ライセンスで埋め込むことができます。 IBLite は、配布「無料」です。 このアプリケーションには、同じプラットフォーム上で InterBase ToGo Edition と比較した際、機能に制限があります。 ただし、追加費用により、IBLite を、より機能の豊富な InterBase ToGo にアップグレードすることは可能です。
  • 重要: 詳細については、「ToGo クイック スタート」 を参照してください。

InterBase JDBC アプリケーションへの新しい接続プロパティ

InterBase XE3 Update 3 では、JDBC ドライバにおいて、新しい接続プロパティ returnColumnLabelAsColumnName を導入しています。 Pentaho では、エイリアス/ラベル名を実際に返すために(アプリケーションから提供されている場合)、ResultSetMetaData.getColumnName() が必要です。 JDBC 仕様に準拠し、既存の InterBase JDBC アプリケーションへの後方互換性を維持するために、この新しい接続プロパティは、デフォルトで FALSE になっています。

Pentaho 型の動作のために、新しいプロパティを使用する場合には、次の接続プロパティを設定します:

properties.put ("returnColumnLabelAsColumnName", "true")

重要: 詳細については、『開発者ガイド』を参照してください。

タイムスタンプの表示

InterBase XE3 Update 3 では、「gbak -v」コマンドを使用して、タイムスタンプ詳細情報を見れるようになりました。 InterBase Service 呼び出しの場合、この情報は、リモート サーバーが InterBase XE3 Update 3 以降の場合にのみ、出力されます。

IBConsole の場合、「詳細出力」オプションが有効になっていると、コマンド ライン呼び出しに対する「gbak verbose」と同じ出力が返されます。

GLOBAL TEMPORARY TABLE のサポート

InterBase XE3 Update 2 リリースで、GLOBAL TEMPORARY TABLE サポートにおいて動作に変更がありました。 SQL スクリプトが実行された際、グローバル一時テーブルで、COMMIT/ROLLBACK することなく EXIT が呼び出されると、ISQL は「デッドロック」を報告しました。 この問題を解決するために、GLOBAL TEMPORARY TABLES 関数が再設計され、これにより動作は変更され、デッドロック エラーが改善されました。

同じ接続から発生したトランザクション群が、お互い他者のトランザクション固有(ON COMMIT DELETE)の一時テーブルにある行を見ることは、できなくなりました。 これを行うためには、セッション固有(ON COMMIT PRESERVE)の一時テーブルを使用しなければなりません。このテーブルではすべての行が、同じセッション内で開始されたトランザクション群に可視状態になります。 この場合でも行が接続が終了するまで行が保持されるという点で異なります。

ホーム呼び出し機能

サード パーティから、サード パーティ アプリケーションの一部として InterBase を取得している場合、「ホーム呼び出し」機能を含めることができます。 この機能は、Embarcadero Product Registration System に 1 回限り自動接続を行い、次の情報を渡します:

  • 使用中のライセンス
  • 基盤とするオペレーティング システム

ODBC ドライバの変更

DataDirect ODBC ドライバは、InterBase XE7 に同梱されなくなりました。InterBase XE7 では、新たな InterBase ODBC ドライバが含まれるようになりました。

  • この変遷の詳細説明については、http://edn.embarcadero.com/article/42838 を参照してください。
  • ODBC ドライバの利用に関するさらなる情報については、『開発者ガイド』 の「ODBC を使用するアプリケーションのプログラミング」を参照してください。

並列インデックスの作成

データベースを復元する際、テーブルのデータが復元されると、そのテーブルに対するインデックスもすべて同時に作成することができます。 これは、エンジンが作業を容易に行えうためのスレッド/コアにアイドル状態がある場合、テーブル データのキャッシュ共有による恩恵よりもさらに迅速に、応答時間を復元する助けになります。 また、SET STATISTICS を使用したインデックスの SELECTIVITY の再計算も同時に行うことができます。 InterBase は、デフォルトでこのようなオペレーションのためにアシスタント スレッドを 1 つ有効にします。このようなオペレーションで利用できる並列スレッドの数は、ibconfig ファイルの MAX_ASSISTANTS 設定パラメータを変更することにより調整することができます。

データベースおよびユーザー テーブルのスペース予約の防止

この機能は、本来保管目的のテーブルを持つ非常に大規模なデータベース(VLDB)などの場合に便利です。 保管テーブルとは、テーブルの行が、低頻度かほとんど更新または削除されず、多くの部分の行を処理する集計や分析など複雑なクエリを持っており、インデックスが再構築されたり、データベースが頻繁にバックアップ/復元される場であることを意味します。 これらのデータベース オペレーションにより、20% 以上のパフォーマンス向上と、保管スペースの節約が見込めるでしょう。

デフォルトでは、InterBase は、内在行上に、UPDATE や DELETE オペレーションを最適化するためのテーブルの各データ ページ内に、少量の領域を予約します。 この予約領域は、最終的にはすべてのテーブル行によって占められる合計領域の 20% 以上になります。 テーブルによっては、低頻度もしくはほとんど更新(UPDATE)されない、または、行が決して削除されない、履歴データまたはデータをアーカイブします。 ほとんどまたはすべての行を処理するデータベース オペレーション(バックアップ、復元、インデックス作成、集計)は常に、この予約オーバーヘッドに比例してパフォーマンスのペナルティに苦しみます。

このため、CREATE/ALTER TABLE 句が取り入れられています。これは、領域予約を回避し、最も効果的な圧縮率で行パッキングを最大化します。 データベース レベルでは、-USE_ALL_SPACE スイッチでデータベースの復元を可能にして、テーブルのための領域予約を不要にします。 新規または既存のデータベースに対して、同様の方法でストレージの振る舞いを変更するには、CREATE/ALTER DATABASE. に対して同じ句を導入します。

ユーザー インターフェイス

新しいストレージの振る舞いを実現するため、非標準 SQL 句が追加されました:

  • CREATE DATABASE <file name> ... [NO] RESERVE SPACE. 句は、2 つ目のファイル指定の前に現れます。
  • CREATE TABLE <table name> ... [NO] RESERVE SPACE. 句は、列リスト指定および任意の一時テーブルに対する ON COMMIT 句の後に現れます。
  • ALTER DATABASE ... SET [NO] RESERVE SPACE. 句は、他の SET 要素と共に、任意の順番で現れます。
  • ALTER TABLE <table name> ... SET [NO] RESERVE SPACE. 句は、他の ADD、DROP、ALTER 要素と共に、任意の順番で現れます。

これは、新たに挿入された(INSERTED)行に、DELETE レコード バージョン スタブのためのデータ ページ上に、通常ならそうであるところ、領域を予約をさせないようにします。 多数の行挿入を行うにつれ、この機能がない場合のテーブルサイズに比べて、ストレージ サイズの減少が観察できるでしょう。 ALTER TABLE と使用される任意の NO キーワードは、そのテーブルに対する現在のストレージの振る舞いを別の状態へ切り替えます。

NO RESERVE ストレージ修飾子は、データベースを超えてバックアップや復元を維持します。 この状態は、システム テーブル RDB$RELATIONS 内のユーザーのテーブル エントリに対して、フラグ ビット 64 (0x100) の RDB$RELATIONS.RDB$FLAGS として保存されます。

この句は、ISQL の SHOW TABLE コマンド表示され、続いてテーブルの列定義が列挙されます。 これはまた、ISQL の抽出(-x)コマンドを正しい構文方法で、各テーブルを列挙する CREATE TABLE 出力に対して使用することで表示することができます。 データベース レベルのストレージ動作の状態は、RDB$RELATIONS 内の RDB$DATABASE エントリと同じように保管されます。

要件と制約

  • InterBase 2020 Update 4 は、NO RESERVE テーブルの状態を、それがアタッチできるどのデータベース ODS に対しても設定できます。 データベースがインストール済みの古いバージョンの InterBase にコピーされた場合、ストレージの動作は強化されず、それ以降の INSERT された行は、記録戻し用バージョンのためにページ上に領域を予約します。 これは、領域を消耗する以外の損害がありません。
  • 既存のテーブルを領域を予約しないよう変更(ALTER)しても、既存の行に影響はありません。 テーブルが非常に大きくなることが想定される場合には、それに応じてユーザーが計画し、必要に応じてバックアップ/復元を行います。 ただし、新たに挿入された行はその領域を再度確保し始め、指定されたデータ ページの状態は、新たな行のために領域が使用可能になったことを示すよう変更されます。
  • データベース レベルの状態が NO RESERVE SPACE に設定された場合、これはテーブル レベルで設定されたものより優先されます。
  • テーブルレベルの状態は「固定」され、データベースレベルの状態がデフォルトの RESERVE SPACE に戻されるまで保持されます。
  • 新しい設定を有効にするために、データベースをデタッチし、再度アタッチし直す必要はありません。
  • 新しいキーワード RESERVE および SPACE は、SQL キーワード トークンとして「予約」されていません。
  • デフォルトの動作に戻った際、RDB$RELATIONS.RDB$FLAGS の RESERVE ビットがクリアされる以外、出力(例、RESERVE SPACE)や見える状態の変化はありません。 これは意図的なもので、移植性に影響を及ぼすかもしれない非標準 SQL 拡張で、他のクリーンな ISQL の抽出物を乱さないようにするためです。
  • データベース全体に対する gbak に USE_ALL_SPACE オプションを指定することにより、復元時にこの予約を止めることができます。

Windows、MacOS X、Linux、iOS、Android の各デバイス間での物理データベースの移植性

InterBase では、Windows、Mac OSX、Linux、iOS、Android 上でのデプロイメントがより簡単になりました。 これにより、Windows 32 ビットおよび 64 ビット、Mac OSX、Linux、iOS、Android 間で、データベース ファイルをコピーが可能になっています。 あるプラットフォーム上で開発をし、開発プラットフォーム上でデータベースを作成し、その後、別のサポートされているプラットフォームに容易にデータベースを配布することができます。 たとえば、Windows 32 ビット上の RAD Studio で開発し、データベースをそこで作成し、その後、それらのデータベースをそのまま、Windows 64 ビットや Mac OS X、iOS、Android 用のデプロイメントの一部に含めることができます。

制限も一部あり、特定の機能を使用できない場合もあります。 これらの機能を利用したい場合には、以下に一覧されているものをご確認ください。 このコピー機能は、次のものを保有していない、単一ファイル データベースに対して承認されています: UDF またはフィルタ、外部テーブル、ジャーナル機能、オンラインおよびインクリメンタル ダンプ、シャドーイング。

以前のバージョンの InterBase のように、GBAK スイッチ -transportable を、「安全な」転送メカニズムとして使用することができます。 このスイッチは、InterBase によって、データベースが別のサポートされているプラットフォームに復元することを許可します。 異種エンディアン間対応なため、gbak -t の使用により、データベースを、Windows、MacOS X、Linux、iOS、Android から Solaris へ移動させることができます。

さらなる情報については、『操作ガイド』の「gbak 使用のための一般的ガイドライン」を参照してください。

メモ: データベース ファイルを、リトル エンディアンからビック エンディアンのプラットフォームへ、またはその逆へ、直接移動させることはできない点には、特に注意してください。

制限付き機能

以下に一覧されている機能は、特に注意が必要とするものです。 これは通常、プラットフォーム特有のパス名の慣習にまつわるものであり、たとえば、パス名の区切り文字、パス名の大文字小文字の区別などが挙げられます。

  • UDF とフィルタ ライブラリ
  • マルチファイル データベース
  • 外部テーブル
  • ジャーナル機能
  • オンライン ダンプおよびインクリメンタル ダンプ
  • シャドウ データベース ファイル(この機能は ToGo エディションでは使用できません)
  • システム暗号化パスワード(SEP: 外部 SEP ストレージ機能は NodeID に依存します)。
  • ディスク上のデータベース ファイル名は、あるプラットフォーム(UNIX)では大文字小文字を区別し、他では区別しない。
  • これについては、接続 URL でデータベース ファイル名を直接指定する際、または、データベース ファイル名を使用する機能(データベース エイリアス機能など)を使用する際、意識してください。

InterBase のマルチファイル DB の設定をコピーする、さまざまな方法をすべて承認するのは不可能なことです。 このため、使用している特定の環境での問題を把握しなければなりません。 一つの選択肢は、単一 DB ファイルに簡易化し、後でデプロイメント時にマルチファイル操作用に構成する方法です。 詳細については、「操作ガイド」 の次の項を参照してください: 「マルチ ファイルと単一ファイルのバックアップと初期化」

新しい IBCONFIG パラメータ

InterBase XEU4 パッチ インストーラには、ibconfig.orig ファイルが入っています。 このファイルには、新しい IBCONFIG パラメータの "MAX_DB_VIRMEM_USE" が含まれています。 このパラメータは、データベース キャッシュ割り当ておよび拡張が使用できなくなった後の、仮想メモリ使用の制限をコントロールします。 デフォルトは 90 です(ただし、データベース キャッシュ割り当ての要求が、プロセスの仮想メモリの 90% を使用する前に来ていた場合、それは許可されます)。

前のバージョンでインストールされたデフォルトの "ibconfig" に変更を加えていない場合、ibconfig.orig を ibconfig 上にコピーし、サーバーを再起動するだけで利用することができます。 さらなる詳細については、"ibconfig" ファイル内のパラメータ定義およびコメントを参照してください。

InterBase(32 ビットおよび 64 ビット)向け ADO.NET プロバイダ

RAD Studio に dbExpress 用 64 ビット ドライバが追加されています(RAD Studio XE2 において)。これにより、64 ビット Ado.NET ドライバを使用することができます。

既存の Ado.NET ドライバの 32 ビット インストーラは変更され、64 ビット アセンブリと統合して同じインストーラとなりました。 このインストーラは、ターゲット OS プラットフォームに必要なアセンブリを判別してインストールするようになっています(32 ビット OS には 32 ビット アセンブリ、64 ビット OS には 64 ビット アセンブリを)。

さらなる情報については、『開発者ガイド』の「InterBase(32 ビットおよび 64 ビット)向け ADO.NET プロバイダ」を参照してください。

OTW SSL TCP/IP 接続の更新

OTW SSL TCP/IP 接続を使用する場合: InterBase XEU3 リリースより、/secure/server/ibss_config ファイルの IBSSL_SERVER_HOST_NAME パラメータで、サーバー ホスト名を指定する必要がなくなりました。 このため、本リリースの新しい ibss_config デフォルト ファイルでは、このパラメータはコメントアウトされています。 IBSSL_SERVER_HOST_NAME パラメータが設定されていない場合、InterBase サーバーは、非 SSL TCP/IP 接続で使用されているのと同じホスト名を使用します。

ibss_config ファイルでホスト名を指定する場合、そのホスト名で、IPv6 アドレスではなく、IPv4 TCP/IP アドレスを解決できることを確認してください。 強制的に IPv4 を解決する 1 つの方法は、ホスト名を、有効化 IPv4 アドレスと共に、hosts ファイルに記述することです。 Windows では、ホスト名は、<Windows システム フォルダ>\drivers\etc\hosts ファイルに記述します。

DES 暗号化キーのバックアップおよび復元の強化

バックアップ/復元操作は、暗号化されたデータベースに対してのみに制限することが可能になりました。 さらなる情報については、『データ定義ガイド』 の「データの暗号化」を参照してください。

OpenSSL 1.0.0a から 1.0.0d への更新

InterBase XEU2 では、OpenSSL が 1.0.0a から 1.0.0d に更新されました。

InterBase XE での OpenSSL 使用に関する詳細については、『操作ガイド』の「ネットワーク設定」と、『データ定義ガイド』の「データの暗号化」を参照してください。

OpenSSL の詳細については、「OpenSSL」を参照してください。。

データベース ファイルに対する InterBase ダイレクト入出力

InterBase XE3 Update 4 Hotfix 1(バージョン 11.0.4.816)以降で、Windows 2008 R2 および Windows 7 の 64 ビット OS エディションでの、同期/非同期データベース書き込みモードにおけるパフォーマンス問題が解決されています。 データベースに対して「ダイレクト」入出力を行い、システム ファイル キャッシュを完全に回避することも引き続き可能ですが、旧バージョンで報告されていたパフォーマンス問題のためにそれを行う必要はありません。

さらなる情報については、「データベース ファイルに対する InterBase ダイレクト入出力」(『操作ガイド』)を参照してください。

InterBase (32 ビットおよび 64 ビット)ネイティブ バイナリ アプリケーション

32 ビット版でも 64 ビット版でも、まだダイアレクト 1 を使用している場合には、ダイアレクト 3 に移行する必要があります。 パフォーマンス モニタ テーブルではカウンタが正しく動作せず、エラーが発生します。 詳細は、『操作ガイド』の「SQL ダイアレクトを理解する」を参照してください。

InterBase 32 ビット ネイティブ バイナリ アプリケーション

ib_install.exe には 32 ビット版が含まれています。 32 ビット版を Windows 上で使用したい場合には、このインストーラを実行する必要があります。

InterBase 64 ビット ネイティブ バイナリ アプリケーション

  • 64 ビット版でも、32 ビットの InterBase アプリケーションを引き続き使用することができます。
  • 32 ビット オペレーティング システムに 64 ビット キットをインストールすることはできません。
  • InterBase では下位互換性を重視しているため、新しいエディションへの移行が容易です。

以下のトピックでは、64 ビット アプリケーションを実装する際に必要な重要な情報を取り上げます。

互換性について

  • 古いバージョンのクライアントからのローカルおよびリモートの接続は、新しいバージョンの 32 ビットおよび 64 ビットのサーバーと問題なく連動し、逆も同様です。
  • IBMgr.exe および IBConsole.exe は 32 ビット アプリケーションのままです。 32 ビットおよび 64 ビットのサーバーそれぞれと問題なく連動します。
  • このバージョンでは、InterBase のこれまでのリリースで導入された、既存の ODS 12.x および ODS 13.x のデータベースをサポートしています。
  • データベースでサポートしている ODS バージョンに互換性があれば、(このバージョンの)InterBase の 32 ビット キットと 64 ビット キットでデータベースを移動することができます。

64 ビット DLL のクライアント ライブラリ名の変更

以下の表に、64 ビット DLL の新しいクライアント ライブラリ名を示します。

ライブラリ名 位置 メモ
ibclient64.dll /bin ネイティブ 64 ビット アプリケーション用の新しい InterBase クライアント DLL です。 現在、64 ビット InterBase コマンドライン ツールで使われており、(32 ビット ターゲット用の gds32.dll の代わりに)顧客が作成した 64 ビット アプリケーションと一緒に配置する必要があります。


ibxml64.dll /bin ネイティブ 64 ビット アプリケーション用の新しい InterBase XML DLL です。 顧客が作成した 64 ビット アプリケーションで InterBase XML API を使用している場合には、(32 ビット ターゲット用の ibxml.dll の代わりに)アプリケーションと一緒に配置する必要があります。


ib_util64.dll /bin ネイティブ 64 ビット アプリケーション用の新しい InterBase UTILS DLL です。 (32 ビット ターゲット用の ib_util.dll の代わりに)顧客が作成した 64 ビット アプリケーションと一緒に配置する必要があります。


ibclient64_ms.lib /SDK/lib_ms ibxml64.dll を対象とする 64 ビット アプリケーションを作成するためのインポート ライブラリ。


ib_util64_ms.lib /SDK/lib_ms ib_util64.dll を対象とする 64 ビット アプリケーションを作成するためのインポート ライブラリ。


BLOB/CLOB をサポートするための JDBC ドライバの更新

JDBC に対して新しいインターフェイスが実装されています。 BLOB、CLOB、その他関連 API インターフェイスに関するさらなる情報については、『開発者ガイド』の「JDBC を使ったプログラミング」を参照してください。

強度の高いパスワード保護

InterBase データベース上での強度の高いパスワード保護が、InterBase XE で実装されました。 この追加機能では、パスワードの有効文字数が増えるため、パスワード保護が強力になります。 さらなる情報については、『操作ガイド』の「強度の高いパスワード保護の実装」を参照してください。

64 ビット版 InterBase でのデータベース キャッシュ設定の拡大

64 ビット版 InterBase でデータベース キャッシュ設定に指定できる値が大きくなりました。 32 ビット版エンジンでは上限が 750K ページでしたが、64 ビット版エンジンでは 7500 万ページになりました。 さらなる情報については、『操作ガイド』の「InterBase の制限」を参照してください。

ストアド プロシージャの EXECUTE STATEMENT

InterBase XE で EXECUTE STATEMENT 機能をサポートするようになりました。 この機能によって、InterBase のストアド プロシージャ言語が強化されています。 これが実装されると、ストアド プロシージャの開発時に 3 種類の EXECUTE STATEMENT をストアド プロシージャ内に埋め込むことができます。 この種類は、EXECUTE STATEMENT コマンドから返される行の数によって分かれています。 次の 3 種類です。 データ行が返されないもの、データが 1 行だけ返されるもの、複数のデータ行が返されるもの。

重要: InterBase XE7 Update 1 より、SELECT リストのすべての項目は、INTO リストの該当する項目に一致してなければならない、という新しい要件が、FOR EXECUTE STATEMENT にに対して追加されました。

さらなる情報については、『言語リファレンス ガイド』の「EXECUTE STATEMENT」を参照してください。

データベースの高速スイープ

データベースをスイープすることで、古いレコードを系統立てて削除することができます。 定期的にスイープを実行すると、データベースのサイズが大きくなりすぎるのを防ぐことができます。 これまではスイープ処理を行うとシステムのパフォーマンスが低下していたため、ユーザーは本番運用に影響が出ないよう、自動データベース スイープ機能を無効化していました。

InterBase XE で高速スイープの最適化が実装されたことで、メモリ割り当ての問題が軽減されました。 そのため、ユーザーはデータベースに自動スイープを構成するという選択ができるようになりました。 さらなる情報については、『操作ガイド』「スイープ間隔と自動保守」を参照してください。

テーブル固有のブロック化因数

ブロック化因数という用語は、1 つのブロックに格納されるレコードの数を表します。 InterBase では、1 つのデータ ページに格納できる行数を最大にするための、データベース レベルのブロック化因数を 1 つ持っています。

個々のテーブルのブロック化因数の値は、次のシステム列で確認できます。

  • RDB$RELATIONS.RDB$DATA_BLOCKING_FACTOR
  • RDB$RELATIONS.RDB$BLOB_BLOCKING_FACTOR

さらなる情報については、『言語リファレンス ガイド』の「表 6.26 - RDB$RELATIONS」を参照してください。

インデックス キーのセグメント サイズの拡大

ODS 15 データベースでは、インデックス キーのサイズの上限が引き上げられています。 列がシングルバイト キャラクタ セットかマルチバイト キャラクタ セット(UTF8 など)かを問わず、サイズの大きい列データでこの機能を使用できるようになりました。 さらなる情報については、『操作ガイド』の「InterBase の制限」表 B.1を参照してください。

新しい IBCONFIG パラメータ APPDATA_DIRECTORY

上記の「プログラム データ」の場所を示す値を、すべての InterBase アプリケーション(および、データベース エンジン)に示すため、APPDATA_DIRECTORY(InterBase XE3 での新しいパラメータ)のための新しい IBCONFIG パラメータ値が、インストール時に自動的に追加されるようになりました。 この値では、上記の「プログラム データ」場所への、絶対パスを提供します。 さらなる詳細については、<interbase>/ibconfig ファイルを参照してください。

  • プログラム データの場所
  • [Program Files] の位置が、読み取り専用である必要のあるファイルのために、まず使用されます。
    • ディレクトリ: システムの [Program Files] フォルダ (Windows 32 ビット、64 ビットで異なる)
      • ibconfig (古いバージョンの InterBase から移行している場合には、ここに古いカスタマイズ済みのファイル配置する)
      • バイナリ(サーバー、グラフィカル ツールやコマンドライン ツールなど)
      • SDK
      • interbase.msg
      • Doc サブフォルダ(PDF や HTML のドキュメントなど)
      • 製品の使用許諾書(License.txt および oss_license_notice.txt)
  • Borland から Embarcadero への Windows レジストリの変更
  • InterBase は、Windows レジストリを使用して、InterBase サーバー ベースの製品の特定のインストール インスタンスについての情報を保有しています。 Borland からの遺産により、以前の InterBase バージョンでは、この情報を Windows レジストリ キー 「HKEY_LOCAL_MACHINE\Software\Borland\InterBase\Servers\」以下に保持していました。
  • InterBase XE3 より、「HKEY_LOCAL_MACHINE\Software\Embarcadero\InterBase\Servers\」以下の Windows レジストリ階層を使用します。 InterBase サーバー、ガーディアン、クライアント ライブラリ、IBMgr、および IBConsole の各プログラムについて、この変更をサポートするよう変更されています。