|
Pervasive PSQL のリレーショナル インターフェイスでは、メタデータでバージョン 1(V1)とバージョン 2(V2)という 2 つのバージョンをサポートします。
メタデータのバージョンはデータベース プロパティの 1 つで、データベースの作成時に指定します。デフォルトは "メタデータ バージョン 1" です。"メタデータ バージョン 2" にする場合は、データベースを作成する際に指定する必要があります。
メタデータのバージョンは、そのデータベース内のすべてのデータ辞書ファイル(DDF)に適用されます。単独のデータベースで、メタデータ バージョン 1 を使用する DDF とメタデータ バージョン 2 を使用する DDF を一緒に使用することはできません。2 つのバージョンの DDF はそれぞれ情報をやり取りすることができません。
ただし、データベース エンジンで複数のデータベースへ同時にアクセスすれば、そのデータベースごとにメタデータ バージョン 1 またはメタデータ バージョン 2 を使用することができます。
Pervasive PSQL v10 より前の Pervasive PSQL バージョンで作成されたデータベースはすべてメタデータ バージョン 1 を使用します。Pervasive PSQL v10 以降を使って作成されたデータベースは、データベースの設定に応じてどちらかのメタデータ バージョンを使用しています。
メタデータ バージョン 2 では、多くの識別子名に最大 128 バイトの名前を付けることができます。詳細については、Pervasive PSQL 機能の制限/条件を参照してください。またメタデータ バージョン 2 では、ビューおよびストアド プロシージャに対する権限が認められます。「ビューおよびストアド プロシージャに対する権限」を参照してください。
メタデータ バージョン 2 のデータ辞書ファイル(DDF)には、バージョン 1 用とは異なる名前が付けられます。多くの場合、バージョン 2 の DDF には追加フィールドや既存フィールドへの変更が含まれています。システム テーブルを参照してください。
Pervasive PSQL には pvmdconv という、メタデータ バージョン 1 からメタデータ バージョン 2 へ変換するための変換ユーティリティが付属しています。『Pervasive PSQL User's Guide』の 「pvmdconv」 を参照してください。
次の表は、リレーショナル インターフェイスの機能に適用される制限または条件を示します。
Pervasive PSQL データベースには、40 億のオブジェクトをさまざまに組み合わせて含むことができます。オブジェクトはデータ辞書ファイルに保存されます。
開発者リファレンス『Pervasive PSQL Programmer's Guide』の名前付け規則も参照してください。
Pervasive PSQL 機能
|
制限または条件
|
メタデータ
|
|
---|---|---|---|
|
|
V1
|
V2
|
ストアド プロシージャのパラメーター リスト内の引数の数
|
300
|
|
|
CHAR 列のサイズ
|
8,000 バイト1
|
|
|
文字列リテラル
|
文字列内の文字は、10 進数値 1 から 255 の間のいずれかの ANSI 文字になります。
|
|
|
テーブル内の列数
|
1,536
|
|
|
トリガーまたはストアド プロシージャで使用可能な列数
|
300
|
|
|
列名2
|
20 バイト
|
|
|
128 バイト
|
|
|
|
列のサイズ
|
2 GB
|
|
|
相関名
|
メモリによる制限
|
|
|
カーソル名
|
18 バイト
|
|
|
データベース名2
|
20 バイト
|
|
|
データベース セッション数
|
メモリによる制限
|
|
|
データ ファイル パス名
|
64 バイト(データ ファイル パス名の最大長は Xf$Loc パスおよびデータ ファイル パスの組み合わせです)
|
|
|
250 バイト(データ ファイル パス名の最大長は Xf$Loc パスおよびデータ ファイル パスの組み合わせです)
|
|
|
|
関数(ユーザー定義)名2
|
30 バイト
|
|
|
128 バイト
|
|
|
|
グループ名2
|
30 バイト
|
|
|
128 バイト
|
|
|
|
インデックス名2
|
20 バイト
|
|
|
128 バイト
|
|
|
|
キー名2
|
20 バイト
|
|
|
128 バイト
|
|
|
|
ラベル名
|
メモリによる制限
|
|
|
AND でつないだ述部の数
|
300
|
|
|
データベース オブジェクトの数
|
65,536
|
|
|
20 億
|
|
|
|
パラメーター名
|
126 バイト
|
|
|
パスワード2
|
8 バイト
|
|
|
128 バイト
|
|
|
|
プロシージャ名2
|
30 バイト
|
|
|
128 バイト
|
|
|
|
参照整合性(RI)の制約名
|
20 バイト
|
|
|
128 バイト
|
|
|
|
一重引用符の表記
|
2 つの連続した一重引用符('')
|
|
|
結果名
|
メモリによる制限
|
|
|
セーブポイント名
|
メモリによる制限
|
|
|
クエリ内の SELECT リストの列数
|
1,600
|
|
|
SQL ステートメント内の単独項目(引用符で囲まれたリテラル文字列)のサイズ
|
ヌル終端文字と引用符を除き、14,997(合計 15,000)
|
|
|
SQL ステートメントの長さ
|
64 KB
|
|
|
セッションあたりの SQL ステートメント数
|
メモリによる制限
|
|
|
ストアド プロシージャのサイズ
|
64 KB
|
|
|
テーブル名2
|
20 バイト
|
|
|
128 バイト
|
|
|
|
テーブルの行数
|
20 億
|
|
|
クエリあたりの結合テーブル数
|
メモリによる制限
|
|
|
トリガー名2
|
20 バイト
|
|
|
128 バイト
|
|
|
|
ユーザー名2
|
30 バイト
|
|
|
128 バイト
|
|
|
|
VARCHAR 列のサイズ
|
8,000 バイト1
|
|
|
変数名
|
メモリによる制限
|
|
|
ビュー名2
|
20 バイト
|
|
|
128 バイト
|
|
|
|
1 CHAR 列または VARCHAR 列で、完全にインデックス化できる列の最大サイズは 255 バイトです。
2 『Advanced Operations Guide』の「識別子の種類別の制限」を参照してください。
|
完全修飾されたオブジェクト名は、ドット表記でデータベース名とオブジェクトを結合します。たとえば、mydbase というデータベースに myview というビューがある場合、完全修飾オブジェクト名は mydbase.myview となります。
完全修飾オブジェクト名はデータベース内で一意である必要があります。たとえば、データベース "mydbase" に "acctpay" というテーブルとユーザー定義関数(またはその他のオブジェクト)"acctpay" があるとします。この場合、Pervasive PSQL は完全修飾名の "maydbase.acctpay" がどのオブジェクトを参照するのか識別できません。
|