システム テーブル
 
このページをシェアする                  
システム テーブル
PSQL システム テーブル リファレンス
この付録では、PSQL のシステム テーブルについて説明します。以下のセクションがあります。
概要
システム テーブルの構造
概要
PSQL およびそのコンポーネントが使用する情報は、システム テーブルと呼ばれる特殊なテーブルに保管されます。
注意: DELETE、UPDATE や INSERT ステートメント、またはユーザー定義トリガーを使って、システム テーブルの変更を試みないでください。システム テーブルを直接変更してはいけません。
システム テーブルを直接照会するアプリケーションを記述しないでください。システム テーブルの一部の列が記録されない可能性があります。次のいずれかの方法を使用すれば、システム テーブルに保管されている情報をアプリケーションで取得できます。
システム ストアド プロシージャ
トランザクション SQL ステートメントおよび関数
PSQL API で提供される関数
PSQL API は PSQL 開発者リファレンスに含まれています。開発コンポーネントは、リリースごとにデータベース エンジンとの互換性を保つように設計されています。システム テーブルの形式は、PSQL データベース エンジンの内部アーキテクチャ次第であり、リリースごとに変わる可能性があります。公開されていないシステム テーブルの列に直接アクセスしているアプリケーションでは、PSQL の内部アーキテクチャが変更されたときにアプリケーションの修正が必要になる場合があります。
次のシステム テーブルの一覧は、関連ファイルの名前を示し、システム テーブルの内容を明らかにしています。
メモ:システム テーブルに含まれる一部のデータは表示できません。たとえば、ユーザー パスワードは暗号化形式で表示されます。
 
表 129 システム テーブル
システム テーブル
辞書ファイル
内容
V11
V22
X$Attrib
ATTRIB.DDF
PVATTRIB.DDF
列属性の定義
X$Depend
DEPEND.DDF
PVDEPEND.DDF
テーブル、ビュー、プロシージャとトリガーとの依存関係
X$Field
FIELD.DDF
PVFIELD.DDF
列と名前付きインデックスの定義
X$File
FILE.DDF
PVFILE.DDF
データベース内のテーブルの名前と場所
X$Index
INDEX.DDF
PVINDEX.DDF
インデックスの定義
X$Proc
PROC.DDF
PVPROC.DDF
ストアド プロシージャの定義
X$Relate
RELATE.DDF
PVRELATE.DDF
参照整合性(RI)の情報
X$Rights
RIGHTS.DDF
PVRIGHTS.DDF
ユーザーとグループのアクセス権の定義
X$Trigger
TRIGGER.DDF
PVTRIG.DDF
トリガーの情報
X$User
USER.DDF
PVUSER.DDF
ユーザー名、グループ名、およびパスワード
X$View
VIEW.DDF
PVVIEW.DDF
ビューの定義
1 バージョン 1(V1)メタデータに適用。PSQLメタデータを参照してください。
2 バージョン 2(V2)メタデータに適用。PSQLメタデータを参照してください。
データベースを作成すると、PSQL によりすべてのシステム テーブルが作成されます。
これら以外に遭遇する可能性のあるシステム テーブルが 2 つあります。VARIANT.DDF と OCCURS.DDF(V1 データベースの場合)または PVVARIANT.DDF と PVOCCURS.DDF(V2 データベースの場合)です。これら 2 つのシステム ファイルは COBOL サポート用に使われるため、ユーザーの直接介入は一切必要としません。COBOL 用ユーティリティの将来のバージョンは、これらのシステム テーブルが必要でなくなった場合には、異なるアーキテクチャを実装するかもしれません。COBOL アプリケーションの SQL アクセスも参照してください。
システム テーブルの構造
このセクションでは、システム テーブルの構造について説明します。
メタデータ バージョン 1 のシステム テーブル
メタデータ バージョン 2 のシステム テーブル
メタデータ バージョン 1 のシステム テーブル
X$Attrib
X$Attrib システム テーブルは、ATTRIB.DDF ファイルに関連付けられています。X$Attrib には、データベース内の各列の列属性に関する情報が含まれています。つまり、定義した列属性ごとに 1 つのエントリがあります。X$Attrib の構造は、X$Attrib システム テーブルの構造で説明されています。
表 130 X$Attrib システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xa$Id
USMALLINT
2
適用外
X$Field の Xe$Id に対応
Xa$Type
CHAR
1
No
D(デフォルト)
L(論理位置)
O(列の照合順序)
C(文字)、H(ヘッダー)、M(マスク)、R(範囲)、V(値)1
Xa$ASize
USMALLINT
2
適用外
Xa$Attrs に含まれるテキストの長さ
Xa$Attrs
LONGVARCHAR
(NOTE)
<=2048
適用外
列属性を定義するテキスト
1 属性タイプ C、H、M、R、および V は旧形式の検証タイプで、Pervasive.SQL 7 または Scalable SQL 環境のみで有効です。Pervasive.SQL 7 より新しい PSQL リリースは、D(デフォルト)、L(論理位置)、および O(列の照合順序)属性のみを使用します。
1 つの列に複数の属性を定義すると、X$Attrib システム テーブルには、その列 ID に複数のエントリが含まれます。つまり、定義した属性ごとに 1 つのエントリが対応します。特定の列に列属性を定義しないと、X$Attrib テーブルにその列のエントリは含まれません。Xa$Attrs 列に含まれるテキストは、PSQL で定義したとおりに表示されます。X$Attrib テーブルでは、X$Attrib システム テーブルのインデックス定義で説明されているようにインデックスが 1 つ定義されています。
表 131 X$Attrib システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xa$Id
No
適用外
Yes
0
1
Xa$Type
No
No
No
X$Depend
X$Depend システム テーブルは、DEPEND.DDF ファイルに関連付けられています。X$Depend には、テーブル、ビュー、およびプロシージャとトリガーとの依存関係に関する情報が含まれています。X$Depend の構造は次のとおりです。
表 132 X$Depend システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xd$Trigger
CHAR
30
Yes
トリガー名。X$Trigger 内の Xt$Name に対応
Xd$DependType
UNSIGNED
1
適用外
テーブルは 1、ビューは 2、プロシージャは 3
Xd$DependName
CHAR
30
Yes
トリガーと関連付けられている依存関係の名前。X$File の Xf$Name、X$View の Xv$Name、X$Proc の Xp$Name のいずれかに対応しています。
X$Depend テーブルでは、次のようにインデックスが 2 つ定義されています。
表 133 X$Depend システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xd$Trigger
No
Yes
Yes
0
1
Xd$DependType
No
適用外
Yes
0
2
Xd$DependName
No
Yes
No
1
0
Xd$DependType
Yes
適用外
Yes
1
1
Xd$DependName
Yes
Yes
No
インデックス番号は、X$Index システム テーブルの Xi$Number 列に保管されている値に対応します。また、セグメント番号は、X$Index システム テーブルの Xi$Part 列に保管されている値に対応します。
X$Field
X$Field システム テーブルは、FIELD.DDF ファイルに関連付けられています。X$Field には、データベースで定義されているすべての列と名前付きインデックスに関する情報が含まれています。X$Field の構造は次のとおりです。
表 134 X$Field システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xe$Id
USMALLINT
2
適用外
PSQL が割り当てた、データベース内の各フィールドに固有の内部 ID
Xe$File
USMALLINT
2
適用外
この列または名前付きインデックスが属するテーブルの ID。これは X$File 内の Xf$Id に対応しています。
Xe$Name
CHAR
20
Yes
列名またはインデックス名
Xe$DataType
UTINYINT
1
適用外
制御フィールド:
0 ~ 26:列のデータ型
227:制約名
255:インデックス名
Xe$Offset
USMALLINT
2
適用外
テーブル内での列のオフセット、名前付きインデックスの場合はインデックス番号。オフセットは、ゼロを基準にした相対です。
インデックス番号は、X$Index システム テーブルの Xi$Number 列に保管されている値に対応します。
Xe$Size
USMALLINT
2
適用外
列の長さ。フィールドに必要な内部格納領域をバイト単位で表します。
TRUE NULL フィールドの場合、ヌル バイトはサイズに含まれません。
Xe$Dec
UTINYINT
1
適用外
列の小数点位置(DECIMAL、NUMERIC、NUMERICSA、NUMERICSTS、MONEY、または CURRENCY 型の場合)。連続ビット列の場合は相対的なビット位置。TIMESTAMP 型の場合は 1 秒未満の値。
Xe$Flags
USMALLINT
2
適用外
フラグを表す WORD。
ビット 0 は文字列データ型の大文字と小文字を区別するフラグです。
ビット 0 = 1 の場合、フィールドの大文字と小文字は区別されません。
ビット 2 = 1 の場合、フィールドでヌル値が許可されます。
Xe$Flags のビット 3 は、Pervasive.SQL v7 の 1 バイト TINYINT(B_TYPE_INTEGER 符号なし)とリレーショナル エンジンの 1 バイト TINYINT(B_TYPE_INTEGER 符号付き)を区別するために使用されます。
ビット 3 = 1 で、Xe$DataType = 1 かつ Xe$Size = 1 の場合、TINYINT 列は、リレーショナル エンジンで作成された符号付きの 1 バイト TINYINT であることを示します。
ビット 3 = 0 で、Xe$DataType = 1 かつ Xe$Size = 1 の場合、TINYINT 列は、古い SQL エンジンで作成された符号なしの 1 バイト TINYINT であることを示します。
ビット 11 = 1 の場合、フィールドは文字の LONGVARCHAR フィールドではなく、ワイド文字の NLONGVARCHAR フィールドとして解釈されます。
ビット 12 = 1 の場合、フィールドは BINARY として解釈されます。
ビット 13 = 1 の場合、フィールドは偶数桁の精度の DECIMAL として解釈されます。
Xe$File 列は、X$File システム テーブルの Xf$Id 列に対応し、テーブルとテーブル内の列のリンクになります。たとえば次のクエリは、Billing テーブルのフィールド定義をすべて順番に返します。
SELECT "X$Field".*
FROM X$File,X$Field
WHERE Xf$Id=Xe$File AND Xf$Name = 'Billing' AND Xe$DataType <= 26
ORDER BY Xe$Offset
Xe$DataType 列の整数値は PSQL のデータ型を表すコードです。コードについては、PSQL で使用できるデータ型を参照してください。
X$Field テーブルでは、次のようにインデックスが 5 つ定義されています。
表 135 X$Field システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xe$Id
No
適用外
No
1
0
Xe$File
Yes
適用外
No
2
0
Xe$Name
Yes
Yes
No
3
0
Xe$File
No
適用外
Yes
3
1
Xe$Name
No
Yes
No
4
0
Xe$File
Yes
適用外
Yes
4
1
Xe$Offset
Yes
適用外
Yes
4
2
Xe$Dec
Yes
適用外
No
X$File
X$File システム テーブルは、FILE.DDF ファイルに関連付けられています。X$File には、データベースで定義されている各テーブルについて、そのテーブル名、関連テーブルの場所、および PSQL が割り当てた固有の内部 ID 番号が含まれています。X$File の構造は次のとおりです。
表 136 X$File システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xf$Id
USMALLINT
2
適用外
PSQL が割り当てた内部 ID
Xf$Name
CHAR
20
Yes
テーブル名
Xf$Loc
CHAR
64
No
ファイルの場所(パス名)
Xf$Flags
UTINYINT
1
適用外
ファイル フラグ。ビット 4 = 1 の場合、ファイルは辞書ファイルです。ビット 4 = 0 の場合、ファイルはユーザー定義です。ビット 6 = 1 の場合、テーブルは真のヌル値を許可する列をサポートします。
Xf$Reserved
CHAR
10
No
予約済み
X$File テーブルには、2 つのインデックスが定義されています。
表 137 X$File システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xf$Id
No
適用外
No
1
0
Xf$Name
No
Yes
No
X$Index
X$Index システム テーブルは、INDEX.DDF ファイルに関連付けられています。X$Index には、データベース内のテーブルで定義されているすべてのインデックスに関する情報が含まれています。X$Index の構造は次のとおりです。
表 138 X$Index システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xi$File
USMALLINT
2
適用外
インデックスが属するテーブルの固有の ID。これは X$File 内の Xf$Id に対応しています。
Xi$Field
USMALLINT
2
適用外
インデックス列の固有の ID。これは X$Field 内の Xe$Id に対応しています。
Xi$Number
USMALLINT
2
適用外
インデックス番号(範囲 0 ~ 119)
Xi$Part
USMALLINT
2
適用外
セグメント番号(範囲 0 ~ 119)
Xi$Flags
USMALLINT
2
適用外
インデックス属性フラグ
Xi$File 列は、X$File システム テーブルの Xf$Id 列に対応します。また、Xi$Field 列は、X$Field システム テーブルの Xe$Id 列に対応します。したがって、インデックス セグメント エントリは 1 つのファイル、1 つのフィールドにリンクされます。
Xi$Flags 列には整数値が含まれ、インデックス属性を定義します。次の表は、ビットがバイナリ値 1 であるとき、PSQL が各ビット位置を解釈する方法を示したものです。ビット位置 0 が整数の右端のビットになります。
表 139 Xi$Flags のビット位置
ビット位置
対応する 10 進数の値
説明
0
1
インデックスの重複が可能
1
2
インデックスの変更が可能です。
2
4
オルタネート コレーティング シーケンス
3
8
ヌル値にはインデックスなし(SQL の真のヌルではなく、Btrieve のヌルを参照)
4
16
インデックス内でこのセグメントに別のセグメントが連結
5
32
インデックスの大小文字の区別なし
6
64
インデックスを降順に照合
7
128
ビット 0 = 0 の場合、インデックスは名前付きインデックスです。ビット 0 = 1 かつビット 7 = 1 の場合、インデックスは繰り返し重複キーの方法を使用します。ビット 0 = 1 かつビット 7 = 0 の場合、インデックスはリンク重複キーの方法を使用します。LINKDUP も参照してください。リンク重複方法および繰り返し重複方法の詳細な説明については、『Advanced Operations Guide』の重複キーの操作方法を参照してください。
8
256
インデックスは Btrieve の拡張キー タイプ
9
512
インデックスは部分的です。
13
8192
インデックスは外部キー
14
16384
インデックスは一部の外部キーが参照する主キー
特定のインデックスの Xi$Flags 列の値は、インデックス属性に対応する 10 進数の値の合計になります。X$Index テーブルでは、次のようにインデックスが 3 つ定義されています。
表 140 X$Index システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xi$File
Yes
適用外
No
1
0
Xi$Field
Yes
適用外
No
2
0
Xi$File
No
適用外
Yes
2
1
Xi$Number
No
適用外
Yes
2
2
Xi$Part
No
適用外
No
インデックス番号は、X$Index システム テーブルの Xi$Number 列に保管されている値に対応します。インデックス番号はゼロから始まります。また、セグメント番号は、X$Index システム テーブルの Xi$Part 列に保管されている値に対応します。
たとえば、Billing テーブルに定義されているインデックス セグメントに関する情報を見るには、次のようなクエリを発行します。
SELECT Xe$Name,Xe$Offset, "X$Index".*
FROM X$File,X$Index,X$Field
WHERE Xf$Id=Xi$File and Xi$Field=Xe$Id and Xf$Name = 'Billing'
ORDER BY Xi$Number,Xi$Part
X$Proc
X$Proc システム テーブルは、PROC.DDF ファイルに関連付けられています。X$Proc には、定義されているすべてのストアド プロシージャのコンパイルされた構造情報が含まれています。X$Proc の構造は次のとおりです。
表 141 X$Proc システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xp$Name
CHAR
30
Yes
ストアド プロシージャ名
Xp$Ver
UTINYINT
1
適用外
バージョン IDこれは将来使用するために予約されています。
Xp$Id
USMALLINT
2
適用外
0 を基数とするシーケンス番号
Xp$Flags
UTINYINT
1
適用外
ストアド ステートメントは 1、ストアド プロシージャは 2、外部プロシージャは 3
Xp$Misc
LONGVARCHAR
(LVAR)
<=990
適用外
ストアド プロシージャの内部表現
メモ:ストアド ステートメントおよび外部プロシージャは、Pervasive.SQL 2000i より前のバージョンの Pervasive.SQL ではサポートされていました。Pervasive.SQL 2000i からはストアド プロシージャのみがサポートされています。
X$Proc テーブルでは、次のようにインデックスが 1 つ定義されています。
表 142 X$Proc システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xp$Name
No
Yes
Yes
0
1
Xp$Id
No
適用外
No
単一のストアド プロシージャを X$Proc の複数のエントリに保管し、Xp$Name によってリンクすることができます。
X$Relate
X$Relate システム テーブルは、RELATE.DDF ファイルに関連付けられています。X$Relate には、データベースで定義されている参照整合性(RI)制約に関する情報が含まれています。X$Relate は最初の外部キーが作成されるときに自動的に作成され、これにより関係が定義されます。
X$Relate の構造は次のとおりです。
表 143 X$Relate システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xr$PId
USMALLINT
2
適用外
主テーブル ID
Xr$Index
USMALLINT
2
適用外
主テーブルに含まれる主キーのインデックス番号
Xr$FId
USMALLINT
2
適用外
従属テーブル ID
Xr$FIndex
USMALLINT
2
適用外
従属テーブルに含まれる外部キーのインデックス番号
Xr$Name
CHAR
20
Yes
外部キー名
Xr$UpdateRule
UTINYINT
1
適用外
制限は 1
Xr$DeleteRule
UTINYINT
1
適用外
制限は 1、カスケードは 2
Xr$Reserved
CHAR
30
No
予約済み
X$Relate テーブルでは、次のようにインデックスが 5 つ定義されています。
表 144 X$Relate システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xr$PId
Yes
適用外
No
1
0
Xr$FId
Yes
適用外
No
2
0
Xr$Name
No
Yes
No
3
0
Xr$Pld
No
適用外
Yes
3
1
Xr$Name
No
Yes
No
4
0
Xr$Fld
No
適用外
Yes
4
1
Xr$Name
No
Yes
No
X$Rights
X$Rights システム テーブルは、RIGHTS.DDF ファイルに関連付けられています。X$Rights には、各ユーザーのアクセス権情報が含まれています。PSQL は、セキュリティ オプションが有効になっているときにのみ、このテーブルを使用します。X$Rights の構造は次のとおりです。
表 145 X$Rights システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xr$User
USMALLINT
2
適用外
User ID
Xr$Table
USMALLINT
2
適用外
テーブル ID
Xr$Column
USMALLINT
2
適用外
列 ID
Xr$Rights
UTINYINT
1
適用外
テーブルまたは列のアクセス権フラグ
Xr$User 列は、X$User テーブルの Xu$Id 列に対応します。また、Xr$Table 列は X$File テーブルの Xf$Id 列に、Xr$Column 列は X$Field テーブルの Xe$Id 列に対応します。
メモ:テーブル アクセス権を記述するシステム テーブル内の各行では、Xr$Column 列の値はヌルになります。
Xr$Rights 列には整数値が含まれ、その右端 8 ビットがユーザー アクセス権を定義します。次の表は、PSQL が値を解釈する方法を説明したものです。この表の値は、単一の Xr$Rights 値に結合される場合があります。
 
表 146 Xr$Rights システム テーブルのビット位置定義
16 進数の値
対応する 10 進数の値
説明
1
1
再編成権
0x90
144
テーブルの参照権
0xA0
160
テーブルの変更権
0x40
64
テーブルまたは列の選択権
0x82
130
テーブルまたは列の更新権
0x84
132
テーブルまたは列の挿入権
0x88
136
テーブルまたは列の削除権
10 進数の 0 はアクセス権がないことを示します。
特定のユーザーの Xr$Rights 列の値は、そのユーザーに適用されるアクセス権に対応する 16 進数のビット単位の共通部分になります。10 進数の値の合計ではありません。
たとえば、すべてのアクセス権が割り当てられているユーザーの Xr$Rights の値は、次のように表されます。
144 | 160 | 64 | 130 | 132 | 136 = 254
X$Rights テーブルでは、次のようにインデックスが 3 つ定義されています。
表 147 X$Rights システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xr$User
Yes
適用外
No
1
0
Xr$User
No
適用外
Yes
1
1
Xr$Table
No
適用外
Yes
1
2
Xr$Column
No
適用外
No
2
0
Xr$Table
Yes
適用外
Yes
2
1
Xr$Column
Yes
適用外
No
X$Trigger
X$Trigger システム テーブルは、TRIGGER.DDF ファイルに関連付けられています。X$Trigger には、データベースで定義されているトリガーに関する情報が含まれています。X$Trigger の構造は次のとおりです。
表 148 X$Trigger システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xt$Name
CHAR
30
Yes
トリガー名
Xt$Version
USMALLINT
2
適用外
トリガーのバージョン。Scalable SQL バージョン 4 の場合は 4
Xt$File
USMALLINT
2
適用外
トリガーが定義されているファイル。X$File 内の Xf$Id に対応
Xt$Event
UNSIGNED
1
適用外
INSERT は 0、DELETE は 1、UPDATE は 2
Xt$ActionTime
UTINYINT
1
適用外
BEFORE は 0、AFTER は 1
Xt$ForEach
UTINYINT
1
適用外
ROW は 0(デフォルト)、STATEMENT は 1
Xt$Order
USMALLINT
2
適用外
トリガーの実行順序
Xt$Sequence
USMALLINT
2
適用外
0 を基数とするシーケンス番号
Xt$Misc
LONGVARCHAR
(LVAR)
<=4054
適用外
トリガーの内部表現
あまり長いトリガーは、TRIGGER.DDF 内に複数のエントリを必要とすることがあります。各エントリは Xt$Name フィールドに同一のトリガー名を持ち、Xt$Sequence フィールドで指定された順序で使用されます。
X$Trigger テーブルでは、次のようにインデックスが 3 つ定義されています。
表 149 X$Trigger システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xt$Name
No
Yes
Yes
0
1
Xt$Sequence
No
適用外
No
1
0
Xt$File
No
適用外
Yes
1
1
Xt$Name
No
Yes
Yes
1
2
Xt$Sequence
No
適用外
No
2
0
Xt$File
Yes
適用外
Yes
2
1
Xt$Event
Yes
適用外
Yes
2
2
Xt$ActionTime
Yes
適用外
Yes
2
3
Xt$ForEach
Yes
適用外
Yes
2
4
Xt$Order
Yes
適用外
Yes
2
5
Xt$Sequence
Yes
適用外
No
トリガーを X$Trigger の複数のエントリに保管して、Xt$Name によってリンクし、Xt$Sequence 順に並べることができます。
X$User
X$User システム テーブルは、USER.DDF ファイルに関連付けられています。X$User には、各ユーザーの名前とパスワード、および各ユーザー グループの名前が含まれています。PSQL は、セキュリティ オプションが有効になっているときにのみ、このテーブルを使用します。X$User の構造は次のとおりです。
表 150 X$User システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xu$Id
USMALLINT
2
適用外
ユーザーまたはグループに割り当てられている内部 ID
Xu$Name
CHAR
30
Yes
ユーザーまたはグループ名
Xu$Password
CHAR
9
No
ユーザー パスワード(暗号化)
Xu$Flags
USMALLINT
2
適用外
ユーザーまたはグループ フラグ
メモ:グループを記述する X$User システム テーブル内の各行では、Xu$Password の列の値はヌルになります。
Xu$Flags 列には整数値が含まれ、その右端の 8 ビットはユーザーまたはグループ属性を定義します。次の表は、ビットがバイナリ値 1 であるとき、PSQL が各ビット位置を解釈する方法を示したものです。ビット位置 0 が整数の右端のビットになります。
表 151 Xu$Flags システム テーブルのビット位置定義
ビット位置
対応する 10 進数の値
説明
0
1
予約済み
1
2
予約済み
2
4
予約済み
3
8
予約済み
4
16
予約済み
5
32
予約済み
6
64
名前はグループ名
7
128
ユーザーまたはグループは、辞書内のテーブルを定義する権限を持っています。
特定のユーザーやグループの Xu$Flags 列の値は、そのユーザーまたはグループに適用される属性に対応する 10 進数の値の合計になります。
X$User テーブルでは、次のようにインデックスが 2 つ定義されています。
表 152 X$User システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xu$Id
Yes
適用外
No
1
0
Xu$Name
No
Yes
No
X$View
X$View システム テーブルは、VIEW.DDF ファイルに関連付けられています。X$View には、結合テーブルの情報やビューを定義する制約条件などのビュー定義が含まれています。X$View テーブルにクエリを実行して、辞書に定義されているビューの名前を取得することができます。
X$View テーブルの先頭列にはビュー名が含まれ、第 2 列と第 3 列には LVAR 列の Xv$Misc で検出される情報の説明が含まれています。X$View の構造は次のとおりです。
表 153 X$View システム テーブルの構造
列名
データ型
サイズ
大小文字無視
説明
Xv$Name
CHAR
20
Yes
ビュー名
Xv$Ver
UTINYINT
1
適用外
バージョン IDこれは将来使用するために予約されています。
Xv$Id
UTINYINT
1
適用外
シーケンス番号
Xv$Misc
LONGVARCHAR
(LVAR)
<=2000
適用外
PSQL 内部定義
X$View テーブルでは、次のようにインデックスが 2 つ定義されています。
表 154 X$View システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xv$Name
Yes
Yes
No
1
0
Xv$Name
No
Yes
Yes
1
1
Xv$Ver
No
適用外
Yes
1
2
Xv$Id
No
適用外
No
単一のビューを X$View の複数のエントリに保管して、Xv$Name によってリンクし、Xv$Id 順に並べることができます。
メタデータ バージョン 2 のシステム テーブル
X$Attrib
X$Attrib システム テーブルは、PVATTRIB.DDF ファイルに関連付けられています。X$Attrib には、データベース内の各列の列属性に関する情報が含まれています。つまり、定義した列属性ごとに 1 つのエントリがあります。X$Attrib の構造は次のとおりです。
表 155 X$Attrib システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xa$Id
UINTEGER
4
適用外
X$Field の Xe$Id に対応
Xa$Type
CHAR
4
No
D(デフォルト)
L(論理位置)
O(列の照合順序)
Xa$ASize
USMALLINT
2
適用外
Xa$Attrs に含まれるテキストの長さ
Xa$Attrs
LONGVARCHAR
(NOTE)
32,763
適用外
列属性を定義するテキスト
1 つの列に複数の属性を定義すると、X$Attrib システム テーブルには、その列 ID に複数のエントリが含まれます。つまり、定義した属性ごとに 1 つのエントリが対応します。特定の列に列属性を定義しないと、X$Attrib テーブルにその列のエントリは含まれません。Xa$Attrs 列に含まれるテキストは、PSQL で定義したとおりに表示されます。X$Attrib テーブルでは、次のようにインデックスが 1 つ定義されています。
表 156 X$Attrib システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xa$Id
No
適用外
Yes
0
1
Xa$Type
No
No
No
X$Depend
X$Depend システム テーブルは、PVDEPEND.DDF ファイルに関連付けられています。X$Depend には、テーブル、ビュー、およびプロシージャなどのオブジェクトとトリガーとの依存関係に関する情報が含まれています。X$Depend の構造は次のとおりです。
表 157 X$Depend システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xd$Trigger
CHAR
128
Yes
トリガー名。X$Trigger 内の Xt$Name に対応
Xd$DependType
UTINYINT
1
適用外
テーブルは 1、ビューは 2、プロシージャは 3
Xd$DependName
CHAR
128
Yes
トリガーと関連付けられている依存関係の名前。X$File の Xf$Name、X$View の Xv$Name、X$Proc の Xp$Name のいずれかに対応しています。
X$Depend テーブルでは、次のようにインデックスが 2 つ定義されています。
表 158 X$Depend システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xd$Trigger
No
Yes
Yes
0
1
Xd$DependType
No
適用外
No
1
0
Xd$DependType
Yes
適用外
Yes
1
1
Xd$DependName
Yes
Yes
No
X$Field
X$Field システム テーブルは、PVFIELD.DDF ファイルに関連付けられています。X$Field には、データベースで定義されているすべての列と名前付きインデックスに関する情報が含まれています。X$Field の構造は次のとおりです。
表 159 X$Field システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xe$Id
UINTEGER
4
適用外
PSQL が割り当てた、データベース内の各フィールドに固有の内部 ID
Xe$File
UINTEGER
4
適用外
この列または名前付きインデックスが属するテーブルの ID。これは X$File 内の Xf$Id に対応しています。
Xe$Name
CHAR
128
Yes
列名またはインデックス名
Xe$Datatype
UTINYINT
1
適用外
0 ~ 26:列のデータ型
227:制約名
255:インデックス名
Xe$Offset
UINTEGER
4
適用外
テーブル内での列のオフセット、名前付きインデックスの場合はインデックス番号。オフセットは、ゼロを基準にした相対です。
インデックス番号は、X$Index システム テーブルの Xi$Number 列に保管されている値に対応します。
Xe$Size
UINTEGER
4
適用外
列の長さ。フィールドに必要な内部格納領域をバイト単位で表します。
Xe$Dec
USMALLINT
2
適用外
列の小数点位置(DECIMAL、NUMERIC、NUMERICSA、NUMERICSTS、MONEY、または CURRENCY 型の場合)。連続ビット列の場合は相対的なビット位置。TIMESTAMP 型の場合は 1 秒未満の値。
Xe$Flags
UINTEGER
4
適用外
フラグを表す WORD。
ビット 0 は文字列データ型の大文字と小文字を区別するフラグです。
ビット 0 = 1 の場合、フィールドの大文字と小文字は区別されません。
ビット 2 = 1 の場合、フィールドでヌル値が許可されます。
Xe$Flags のビット 3 は、Pervasive.SQL v7 の 1 バイト TINYINT(B_TYPE_INTEGER 符号なし)とリレーショナル エンジンの 1 バイト TINYINT(B_TYPE_INTEGER 符号付き)を区別するために使用されます。
ビット 3 = 1 で、Xe$DataType = 1 かつ Xe$Size = 1 の場合、TINYINT 列は、リレーショナル エンジンで作成された符号付きの 1 バイト TINYINT であることを示します。
ビット 3 = 0 で、Xe$DataType = 1 かつ Xe$Size = 1 の場合、TINYINT 列は、古い SQL エンジンで作成された符号なしの 1 バイト TINYINT であることを示します。
ビット 11 = 1 の場合、フィールドは文字の LONGVARCHAR フィールドではなく、ワイド文字の NLONGVARCHAR フィールドとして解釈されます。
ビット 12 = 1 の場合、フィールドは BINARY として解釈されます。
ビット 13 = 1 の場合、フィールドは偶数バイト精度の DECIMAL として解釈されます。
Xe$File 列は、X$File システム テーブルの Xf$Id 列に対応し、テーブルとテーブル内の列のリンクになります。たとえば次のクエリは、Billing テーブルのフィールド定義をすべて順番に返します。
SELECT "X$Field".*
FROM X$File,X$Field
WHERE Xf$Id=Xe$File AND Xf$Name = 'Billing' AND Xe$DataType <= 26
ORDER BY Xe$Offset
Xe$DataType 列の整数値は PSQL のデータ型を表すコードです。コードについては、PSQL で使用できるデータ型を参照してください。
X$Field テーブルでは、次のようにインデックスが 5 つ定義されています。
表 160 X$Field システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xe$Id
No
適用外
No
1
0
Xe$File
Yes
適用外
No
2
0
Xe$Name
Yes
Yes
No
3
0
Xe$File
No
適用外
Yes
3
1
Xe$Name
No
Yes
No
4
0
Xe$File
Yes
適用外
Yes
4
1
Xe$Offset
Yes
適用外
Yes
4
2
Xe$Dec
Yes
適用外
No
X$File
X$File システム テーブルは、PVFILE.DDF ファイルに関連付けられています。X$File には、データベースで定義されている各テーブルについて、そのテーブル名、関連テーブルの場所、および PSQL が割り当てた固有の内部 ID 番号が含まれています。X$File の構造は次のとおりです。
表 161 X$File システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xf$Id
UINTEGER
4
適用外
PSQL が割り当てた内部 ID
Xf$Name
CHAR
128
Yes
テーブル名
Xf$Loc
CHAR
250
No
ファイルの場所(パス名)
Xf$Flags
UINTEGER
4
適用外
ファイル フラグ。ビット 4 = 1 の場合、ファイルは辞書ファイルです。ビット 4 = 0 の場合、ファイルはユーザー定義です。ビット 6 = 1 の場合、テーブルは真のヌル値を許可する列をサポートします。
Xf$Reserved
CHAR
16
No
予約済み
X$File テーブルには、2 つのインデックスが定義されています。
表 162 X$File システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xf$Id
No
適用外
No
1
0
Xf$Name
No
Yes
No
X$Index
X$Index システム テーブルは、PVINDEX.DDF ファイルに関連付けられています。X$Index には、データベース内のテーブルで定義されているすべてのインデックスに関する情報が含まれています。X$Index の構造は次のとおりです。
表 163 X$Index システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xi$File
UINTEGER
4
適用外
インデックスが属するテーブルの固有の ID。これは X$File 内の Xf$Id に対応しています。
Xi$Field
UINTEGER
4
適用外
インデックス列の固有の ID。これは X$Field 内の Xe$Id に対応しています。
Xi$Number
UINTEGER
4
適用外
インデックス番号(範囲 0 ~ 119)
Xi$Part
UINTEGER
4
適用外
セグメント番号(範囲 0 ~ 119)
Xi$Flags
UINTEGER
4
適用外
インデックス属性フラグ
Xi$File 列は、X$File システム テーブルの Xf$Id 列に対応します。また、Xi$Field 列は、X$Field システム テーブルの Xe$Id 列に対応します。したがって、インデックス セグメント エントリは 1 つのファイル、1 つのフィールドにリンクされます。
Xi$Flags 列には整数値が含まれ、インデックス属性を定義します。次の表は、ビットがバイナリ値 1 であるとき、PSQL が各ビット位置を解釈する方法を示したものです。ビット位置 0 が整数の右端のビットになります。
表 164 Xi$Flags のビット位置(メタデータ バージョン 2 用)
ビット位置
対応する 10 進数の値
説明
0
1
インデックスの重複が可能
1
2
インデックスの変更が可能です。
2
4
オルタネート コレーティング シーケンス
3
8
ヌル値にはインデックスなし(SQL の真のヌルではなく、Btrieve のヌルを参照)
4
16
インデックス内でこのセグメントに別のセグメントが連結
5
32
インデックスの大小文字の区別なし
6
64
インデックスを降順に照合
7
128
ビット 0 = 0 の場合、インデックスは名前付きインデックスです。ビット 0 = 1 かつビット 7 = 1 の場合、インデックスは繰り返し重複キーの方法を使用します。ビット 0 = 1 かつビット 7 = 0 の場合、インデックスはリンク重複キーの方法を使用します。LINKDUP を参照してください。リンク重複方法および繰り返し重複方法の詳細な説明については、『Advanced Operations Guide』の重複キーの操作方法を参照してください。
8
256
インデックスは Btrieve の拡張キー タイプ
13
8,192
インデックスは外部キー
14
16,384
インデックスは一部の外部キーが参照する主キー
特定のインデックスの Xi$Flags 列の値は、インデックス属性に対応する 10 進数の値の合計になります。X$Index テーブルでは、次のようにインデックスが 3 つ定義されています。
表 165 X$Index システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xi$File
Yes
適用外
No
1
0
Xi$Field
Yes
適用外
No
2
0
Xi$File
No
適用外
Yes
2
1
Xi$Number
No
適用外
Yes
2
2
Xi$Part
No
適用外
No
インデックス番号は、X$Index システム テーブルの Xi$Number 列に保管されている値に対応します。インデックス番号はゼロから始まります。また、セグメント番号は、X$Index システム テーブルの Xi$Part 列に保管されている値に対応します。
たとえば、Billing テーブルに定義されているインデックス セグメントに関する情報を見るには、次のようなクエリを発行します。
SELECT Xe$Name,Xe$Offset, "X$Index".*
FROM X$File,X$Index,X$Field
WHERE Xf$Id=Xi$File and Xi$Field=Xe$Id and Xf$Name = 'Billing'
ORDER BY Xi$Number,Xi$Part
X$Proc
X$Proc システム テーブルは、PVPROC.DDF ファイルに関連付けられています。X$Proc には、定義されているすべてのストアド プロシージャのコンパイルされた構造情報が含まれています。X$Proc の構造は次のとおりです。
表 166 X$Proc システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xp$Name
CHAR
128
Yes
ストアド プロシージャ名
Xp$Ver
UTINYINT
1
適用外
バージョン IDこれは将来使用するために予約されています。
Xp$Id
UINTEGER
4
適用外
PSQL によって割り当てられた内部 ID
Xp$Flags
UINTEGER
4
適用外
ストアド ステートメントは 1、ストアド プロシージャは 2、外部プロシージャは 3
Xp$Trustee
INTEGER
4
適用外
信頼されるストアド プロシージャは 0、信頼されないストアド プロシージャは -1。信頼されるオブジェクトと信頼されないオブジェクトを参照してください。
Xp$Sequence
USMALLINT
2
適用外
シーケンス番号。32,765 バイトを超えるプロシージャは、オーバーフローを処理するために PVPROC.DDF 内に複数のエントリを必要とします。各エントリは Xp$Name フィールドに同一のプロシージャ名を持ち、シーケンス番号が割り当てられます。複数のエントリは、Xp$Sequence フィールドを使用して正しく並べられます。
シーケンスはゼロから始まります(最初のシーケンス番号は 0 です)。
Xp$Misc
LONGVARCHAR
(LVAR)
32,765
適用外
ストアド プロシージャの内部表現
メモ:ストアド ステートメントおよび外部プロシージャは、Pervasive.SQL 2000i より前のバージョンの PSQL ではサポートされていました。Pervasive.SQL 2000i からはストアド プロシージャのみがサポートされています。
X$Proc テーブルでは、次のようにインデックスが 4 つ定義されています。
表 167 X$Proc システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xp$Name
Yes
Yes
No
1
0
Xp$Name
No
Yes
Yes
1
1
Xp$Ver
No
適用外
Yes
1
2
Xp$Sequence
No
適用外
No
2
0
Xp$Id
Yes
適用外
No
3
0
Xp$Id
No
適用外
Yes
3
1
Xp$sequence
No
適用外
No
X$Relate
X$Relate システム テーブルは、PVRELATE.DDF ファイルに関連付けられています。X$Relate には、データベースで定義されている参照整合性(RI)制約に関する情報が含まれています。X$Relate は最初の外部キーが作成されるときに自動的に作成され、これにより関係が定義されます。
X$Relate の構造は次のとおりです。
表 168 X$Relate システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xr$PId
UINTEGER
4
適用外
主テーブル ID
Xr$Index
UINTEGER
4
適用外
主テーブルに含まれる主キーのインデックス番号
Xr$FId
UINTEGER
4
適用外
従属テーブル ID
Xr$FIndex
UINTEGER
4
適用外
従属テーブルに含まれる外部キーのインデックス番号
Xr$Name
CHAR
128
Yes
外部キー名
Xr$UpdateRule
UTINYINT
1
適用外
制限は 1
Xr$DeleteRule
UTINYINT
1
適用外
制限は 1、カスケードは 2
Xr$Reserved
CHAR
250
No
予約済み
X$Relate テーブルでは、次のようにインデックスが 5 つ定義されています。
表 169 X$Relate システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
変更可能
大小文字無視
セグメント
0
0
Xr$PId
Yes
No
適用外
No
1
0
Xr$FId
Yes
No
適用外
No
2
0
Xr$Name
No
No
Yes
No
3
0
Xr$Pld
No
Yes
適用外
Yes
3
1
Xr$Name
No
Yes
Yes
No
4
0
Xr$Fld
No
Yes
適用外
Yes
4
1
Xr$Name
No
Yes
Yes
No
X$Rights
X$Rights システム テーブルは、PVRIGHTS.DDF ファイルに関連付けられています。X$Rights には、各ユーザーのアクセス権情報が含まれています。PSQL は、セキュリティ オプションが有効になっているときにのみ、このテーブルを使用します。X$Rights の構造は次のとおりです。
表 170 X$Rights システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xr$User
UINTEGER
4
適用外
User ID
Xr$Object
UINTEGER
4
適用外
Xf$Id に対応するテーブル ID、Xv$Id に対応するビュー ID、または Xp$Id に対応するストアド プロシージャ ID
Xr$Type
UINTEGER
4
適用外
テーブルは 1、プロシージャは 3、ビューは 4
Xr$Column
UINTEGER
4
適用外
列 ID
Xr$Rights
UINTEGER
4
適用外
テーブル、列、ビュー、またはストアド プロシージャのアクセス権フラグ
Xr$User 列は、X$User テーブルの Xu$Id 列に対応します。Xr$Object 列は、以下のいずれかに対応します。
X$File テーブルの Xf$Id 列
X$Views テーブルの Xv$Id 列
X$Proc テーブルの Xp$Id 列
Xr$Column 列は X$Field テーブルの Xe$Id 列に対応します。
メモ:テーブル、ビュー、ストアド プロシージャのアクセス権を記述するシステム テーブル内の各行では、Xr$Column 列の値はヌルになります。
Xr$Rights 列には整数値が含まれ、その右端 8 ビットがユーザー アクセス権を定義します。次の表は、PSQL が値を解釈する方法を説明したものです。この表の値は、単一の Xr$Rights 値に結合される場合があります。
 
表 171 Xr$Rights のビット位置(メタデータ バージョン 2 用)
16 進数の値
対応する 10 進数の値
説明
1
1
オブジェクト所有者のアクセス権
0x90
144
テーブルの参照権
0xA0
160
テーブルの変更権
0x40
64
ビュー、テーブル、または列の選択権
0x82
130
ビュー、テーブル、または列の更新権
0x84
132
ビュー、テーブル、または列の挿入権
0x88
136
ビュー、テーブル、または列の削除権
0xC0
192
ストアド プロシージャの実行権および呼び出し権
10 進数の 0 はアクセス権がないことを示します。
特定のユーザーの Xr$Rights 列の値は、そのユーザーに適用されるアクセス権に対応する 16 進数のビット単位の共通部分になります。10 進数の値の合計ではありません。
たとえば、すべてのアクセス権が割り当てられているユーザーの Xr$Rights の値は次のように表されます。
144 | 160 | 64 | 130 | 132 | 136 = 254
ビューに関するすべてのアクセス権が割り当てられているユーザーの Xr$Rights の値は次のように表されます。
64 | 130 | 132 | 136 = 206
ストアド プロシージャに関するすべてのアクセス権が割り当てられているユーザーの Xr$Rights の値は次のように表されます。
192 = 192
X$Rights テーブルでは、次のようにインデックスが 3 つ定義されています。
表 172 X$Rights システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xr$User
Yes
適用外
No
1
0
Xr$User
No
適用外
Yes
1
1
Xr$Object
No
適用外
Yes
1
2
Xr$Type
No
適用外
Yes
1
3
Xr$Column
No
適用外
No
2
0
Xr$Object
Yes
適用外
Yes
2
1
Xr$Type
Yes
適用外
Yes
2
2
Xr$Column
Yes
適用外
No
X$Trigger
X$Trigger システム テーブルは、PVTRIG.DDF ファイルに関連付けられています。X$Trigger には、データベースで定義されているトリガーに関する情報が含まれています。X$Trigger の構造は次のとおりです。
表 173 X$Trigger システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xt$Name
CHAR
128
Yes
トリガー名
Xt$Version
UTINYINT
1
適用外
トリガーのバージョン。Scalable SQL バージョン 4 の場合は 4
Xt$File
UINTEGER
4
適用外
トリガーが定義されているファイル。X$File 内の Xf$Id に対応
Xt$Event
UTINYINT
1
適用外
INSERT は 0、DELETE は 1、UPDATE は 2
Xt$ActionTime
UTINYINT
1
適用外
BEFORE は 0、AFTER は 1
Xt$ForEach
UTINYINT
1
適用外
ROW は 0(デフォルト)、STATEMENT は 1
Xt$Order
USMALLINT
2
適用外
トリガーの実行順序
Xt$Sequence
USMALLINT
2
適用外
シーケンス番号。4,054 バイトを超えるトリガーは、オーバーフローを処理するために PVTRIG.DDF 内に複数のエントリを必要とします。各エントリは Xt$Name フィールドに同一のトリガー名を持ち、シーケンス番号が割り当てられます。複数のエントリは、Xt$Sequence フィールドを使用して正しく並べられます。
シーケンスはゼロから始まります(最初のシーケンス番号は 0 です)。
Xt$Misc
LONGVARCHAR
(LVAR)
4,054
適用外
トリガーの内部表現
X$Trigger テーブルでは、次のようにインデックスが 3 つ定義されています。
表 174 X$Trigger システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xt$Name
No
Yes
Yes
0
1
Xt$Sequence
No
適用外
No
1
0
Xt$Name
No
Yes
Yes
1
1
Xt$File
No
適用外
Yes
1
2
Xt$Sequence
No
適用外
No
2
0
Xt$File
Yes
適用外
Yes
2
1
Xt$Event
Yes
適用外
Yes
2
2
Xt$ActionTime
Yes
適用外
Yes
2
3
Xt$ForEach
Yes
適用外
Yes
2
4
Xt$Order
Yes
適用外
Yes
2
5
Xt$Sequence
Yes
適用外
No
X$User
X$User システム テーブルは、PVUSER.DDF ファイルに関連付けられています。X$User には、各ユーザーの名前とパスワード、および各ユーザー グループの名前が含まれています。PSQL は、セキュリティ オプションが有効になっているときにのみ、このテーブルを使用します。X$User の構造は次のとおりです。
表 175 X$User システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xu$Id
UINTEGER
4
適用外
ユーザーまたはグループに割り当てられている内部 ID
Xu$Name
CHAR
128
Yes
ユーザーまたはグループ名
Xu$Password
CHAR
153
No
ユーザー パスワード(暗号化)
Xu$Flags
UINTEGER
4
適用外
ユーザーまたはグループ フラグ
メモ:グループを記述する X$User システム テーブル内の各行では、Xu$Password の列の値はヌルになります。
Xu$Flags 列には整数値が含まれ、その右端の 8 ビットはユーザーまたはグループ属性を定義します。次の表は、ビットがバイナリ値 1 であるとき、PSQL が各ビット位置を解釈する方法を示したものです。ビット位置 0 が整数の右端のビットになります。
表 176 Xu$Flags のビット位置(メタデータ バージョン 2 用)
ビット位置
対応する 10 進数の値
説明
0
1
予約済み
1
2
予約済み
2
4
予約済み
3
8
予約済み
4
16
予約済み
5
32
予約済み
6
64
名前はグループ名
7
128
ユーザーまたはグループは、辞書内のテーブルを定義する権限を持っています。
8
256
ユーザーまたはグループは、辞書内のビューを定義する権限を持っています。
9
512
ユーザーまたはグループは、辞書内のストアド プロシージャを定義する権限を持っています。
特定のユーザーやグループの Xu$Flags 列の値は、そのユーザーまたはグループに適用される属性に対応する 10 進数の値の合計になります。
X$User テーブルでは、次のようにインデックスが 2 つ定義されています。
表 177 X$User システム テーブルのインデックス定義(メタデータ バージョン 2 用)
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xu$Id
Yes
適用外
No
1
0
Xu$Name
No
Yes
No
X$View
X$View システム テーブルは、PVVIEW.DDF ファイルに関連付けられています。X$View には、結合テーブルの情報やビューを定義する制約条件などのビュー定義が含まれています。X$View テーブルにクエリを実行して、辞書に定義されているビューの名前を取得することができます。
X$View テーブルの先頭列にはビュー名が含まれ、第 2 列と第 3 列には LVAR 列の Xv$Misc で検出される情報の説明が含まれています。X$View の構造は次のとおりです。
表 178 X$View システム テーブルの構造(メタデータ バージョン 2 用)
列名
データ型
サイズ
大小文字無視
説明
Xv$Name
CHAR
128
Yes
ビュー名
Xv$Version
UTINYINT
1
適用外
バージョン IDこれは将来使用するために予約されています。
Xv$Id
UINTEGER
4
適用外
PSQL によって割り当てられた内部 ID
Xv$Trustee
INTEGER
4
適用外
信頼されるビューは 0、信頼されないビューは -1。信頼されるオブジェクトと信頼されないオブジェクトを参照してください。
Xv$Sequence
USMALLINT
2
適用外
シーケンス番号。32,765 バイトを超えるビューは、オーバーフローを処理するために PVVIEW.DDF 内に複数のエントリを必要とします。各エントリは Xv$Name フィールドに同一のビュー名を持ち、シーケンス番号が割り当てられます。複数のエントリは、Xv$Sequence フィールドを使用して正しく並べられます。
シーケンスはゼロから始まります(最初のシーケンス番号は 0 です)。
Xv$Misc
LONGVARCHAR
(LVAR)
32,765
適用外
PSQL 内部定義
X$View テーブルでは、次のようにインデックスが 3 つ定義されています。
表 179 X$View システム テーブルのインデックス定義
インデックス番号
セグメント番号
列名
重複可能
大小文字無視
セグメント
0
0
Xv$Name
Yes
Yes
No
1
0
Xv$Name
No
Yes
Yes
1
1
Xv$Version
No
適用外
Yes
1
2
Xv$Sequence
No
適用外
No
2
0
Xv$Id
Yes
適用外
No
3
0
Xv$Id
No
適用外
Yes
3
1
Xv$Sequence
No
適用外
No