第8章 システムスキーマ
組み込み SYS および SYSADMIN スキーマは、現在の仮想データベースに対してメタデータテーブルと手順を提供します。
デフォルトでは、ODBC メタデータ pg_catalog のシステムスキーマも公開されます。これは一般的な用途として考慮する必要があります。
メタデータの可視性
SYS システムスキーマテーブルと手順は常に表示され、アクセス可能です。
データロール が使用されている場合、ユーザーはアクセス権限を持つテーブル、ビュー、および手順メタデータエントリーのみを表示できます。キーのすべての列は、エントリーを表示できるようにアクセスする必要があります。
すべてのメタデータを認証ユーザーに表示できるようにするには、環境/システムプロパティー org.teiid.metadataRequiresPermission
を false に設定します。
データロールを使用する場合、エントリーの可視性はシステムメタデータのキャッシュの影響を受ける可能性があります。
8.1. SYS スキーマ
公開情報およびアクション用のシステムスキーマ
SYS.Columns
この表は、仮想データベースのすべての要素(列、タグ、属性など)に関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
TableName | string | テーブル名 |
名前 | string | 要素名(修飾ではない) |
Position | integer | グループの位置(1 ベース) |
NameInSource | string | ソースの要素の名前 |
DataType | string | データ仮想化のランタイムデータ型名 |
スケーリング | integer | 10 進数の後の数字の数 |
ElementLength | integer | 要素長(文字列に最も使用される) |
sLengthFixed | boolean | 長さが固定または変数であるかどうか |
SupportsSelect | boolean | 要素は SELECT で使用できます。 |
SupportsUpdates | boolean | 要素に値を挿入または更新できる |
IsCaseSensitive | boolean | 要素では大文字と小文字が区別される |
IsSigned | boolean | 要素は署名済みの数値です |
IsCurrency | boolean | 要素は単調値を表します。 |
IsAutoIncremented | boolean | 要素がソースで自動増分される |
NullType | string | Null 可能性: "Nullable"、"No Nulls"、"Unknown" |
MinRange | string | 最小値 |
MaxRange | string | 最大値 |
DistinctCount | integer | 一意の値数。-1 は不明なことを示します。 |
NullCount | integer | Null 値数。-1 は不明なことを示すことができます。 |
SearchType | string | Searchability: "Searchable"、"All Except Like"、"Like Only"、Unsearchable" |
形式 | string | 文字列値の形式 |
DefaultValue | string | デフォルト値 |
JavaClass | string | 返される Java クラス |
精度 | integer | 数値の数字の数 |
CharOctetLength | integer | 戻り値サイズの測定 |
radix | integer | 数値値の radix |
GroupUpperName | string | 大文字のフルグループ名 |
UpperName | string | 大文字の要素名 |
UID | string | 要素固有の ID |
説明 | string | 説明 |
TableUID | string | 親テーブルの一意の ID |
TypeName | string | タイプ名(ドメイン名である場合があります) |
TypeCode | integer | JDBC SQL タイプのコード |
ColumnSize | string | 数値、精度、文字、長さ、および日付/時刻の場合はリテラル値の文字列長。 |
SYS.DataTypes
この表はデータタイプの情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
名前 | string | データ仮想化のタイプまたはドメイン名 |
IsStandard | boolean | タイプが基本の場合は True |
タイプ | 文字列 | 基本的なユーザー定義、結果セット、ドメインの 1 つ |
TypeName | string | 設計時間型名(名前と同じ) |
JavaClass | string | このタイプの Java クラスが返されました |
スケーリング | integer | このタイプの最大スケール |
TypeLength | integer | このタイプの最大長 |
NullType | string | Null 可能性: "Nullable"、"No Nulls"、"Unknown" |
IsSigned | boolean | 数字が署名されているか? |
IsAutoIncremented | boolean | 自動インクリメント化か? |
IsCaseSensitive | boolean | 大文字と小文字が区別されているか? |
精度 | integer | このタイプの最大精度 |
radix | integer | このタイプの radix |
SearchType | string | Searchability: "Searchable"、"All Except Like"、"Like Only"、"Unsearchable" |
UID | string | データ型固有の ID |
RuntimeType | string | データ仮想化のランタイムデータ型名 |
BaseType | string | ベースタイプ |
説明 | string | タイプの説明 |
TypeCode | integer | JDBC SQL タイプのコード |
Literal_Prefix | string | リテラル接頭辞 |
Literal_Prefix | string | リテラルサフィックス |
SYS.KeyColumns
この表は、キーによって参照される列に関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
TableName | string | テーブル名 |
名前 | string | 要素名 |
KeyName | string | キー名 |
KeyType | string | キータイプ: "Primary"、"Foreign"、"Unique" など |
RefKeyUID | string | 参照されるキー UID |
UID | string | キー UID |
Position | integer | キーの位置 |
TableUID | string | 親テーブルの一意の ID |
SYS.Keys
この表は、プライマリー、外部、および一意キーに関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
テーブル名 | string | テーブル名 |
名前 | string | キー名 |
説明 | string | 説明 |
NameInSource | string | ソースシステムのキーの名前 |
タイプ | string | キーのタイプ: "Primary"、"Foreign"、"Unique" など |
IsIndexed | boolean | キーがインデックス化されている場合は True |
RefKeyUID | string | 参照キー UID(外部キーの場合) |
RefTableUID | string | 参照キーテーブル UID(外部キーの場合) |
RefSchemaUID | string | 参照キーテーブルスキーマ UID(外部キーの場合) |
UID | string | キー一意 ID |
TableUID | string | Key Table unique ID |
SchemaUID | string | Key Table Schema unique ID |
ColPositions | short[] | キーテーブル内の列の位置の配列 |
SYS.ProcedureParams
これにより、手順パラメーターに関する情報が提供されます。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
ProcedureName | string | 手順名 |
名前 | string | パラメーター名 |
DataType | string | データ仮想化のランタイムデータ型名 |
Position | integer | 手順引数の位置 |
タイプ | string | パラメーター方向: "In"、Out、InOut、ResultSet、"ReturnValue" |
オプション | boolean | パラメーターは任意です。 |
精度 | integer | パラメーターの精度 |
TypeLength | integer | パラメーターの値の長さ |
スケーリング | integer | パラメーターのスケール |
radix | integer | パラメーターの radix |
NullType | string | Null 可能性: "Nullable"、"No Nulls"、"Unknown" |
説明 | string | パラメーターの説明 |
TypeName | string | タイプ名(ドメイン名である場合があります) |
TypeCode | integer | JDBC SQL タイプのコード |
ColumnSize | string | 数値、精度、文字、長さ、および日付/時刻の場合はリテラル値の文字列長。 |
DefaultValue | string | デフォルト値 |
SYS.Procedures
この表は、仮想データベースの手順に関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
名前 | string | 手順名 |
NameInSource | string | ソースシステムの手順名 |
ReturnsResults | boolean | 結果セットを返します。 |
UID | string | 手順 UID |
説明 | string | 説明 |
SchemaUID | string | 親スキーマ一意 ID |
SYS.FunctionParams
これにより、関数パラメーターの情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
FunctionName | string | 関数名 |
FunctionUID | string | 関数 UID |
名前 | string | パラメーター名 |
DataType | string | データ仮想化のランタイムデータ型名 |
Position | integer | 手順引数の位置 |
タイプ | string | パラメーター方向: "In"、Out、InOut、ResultSet、"ReturnValue" |
精度 | integer | パラメーターの精度 |
TypeLength | integer | パラメーターの値の長さ |
スケーリング | integer | パラメーターのスケール |
radix | integer | パラメーターの radix |
NullType | string | Null 可能性: "Nullable"、"No Nulls"、"Unknown" |
説明 | string | パラメーターの説明 |
TypeName | string | タイプ名(ドメイン名である場合があります) |
TypeCode | integer | JDBC SQL タイプのコード |
ColumnSize | string | 数値、精度、文字、長さ、および日付/時刻の場合はリテラル値の文字列長。 |
SYS.Functions
この表は、仮想データベースの機能に関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
名前 | string | 関数名 |
NameInSource | string | ソースシステムの関数名 |
UID | string | 関数 UID |
説明 | string | 説明 |
IsVarArgs | boolean | 関数が変数引数を許可すること |
SYS.Properties
この表は、メタモデルエクステンションに基づくすべてのオブジェクトにユーザー定義のプロパティーを提供します。通常、metamodel 拡張機能を使用しない場合は、このテーブルは空になります。
コラム名 | タイプ | 説明 |
---|---|---|
名前 | string | エクステンションプロパティー名 |
値 | string | エクステンションプロパティーの値 |
UID | string | キー一意 ID |
ClobValue | clob | CLOB 値 |
SYS.ReferenceKeyColumns
この表は、列のキー参照に関する形式を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
PKTABLE_CAT | string | VDB 名 |
PKTABLE_SCHEM | string | スキーマ名 |
PKTABLE_NAME | string | テーブル/表示名 |
PKCOLUMN_NAME | string | コラム名 |
FKTABLE_CAT | string | VDB 名 |
FKTABLE_SCHEM | string | スキーマ名 |
FKTABLE_NAME | string | テーブル/表示名 |
FKCOLUMN_NAME | string | コラム名 |
KEY_SEQ | short | キーシーケンス |
UPDATE_RULE | integer | ルールの更新 |
DELETE_RULE | integer | ルールの削除 |
FK_NAME | string | FK 名 |
PK_NAME | string | PK Nmae |
DEFERRABILITY | integer |
SYS.Schemas
この表は、システムスキーマ自体(システム)を含む、仮想データベースのすべてのスキーマに関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
名前 | string | スキーマ名 |
IsPhysical | boolean | これがソースを表す場合は True |
UID | string | 一意の ID |
説明 | string | 説明 |
PrimaryMetamodelURI | string | このスキーマに使用されるモデルを記述するプライマリーメタモデルの URI |
SYS.Tables
この表は、仮想データベースの全グループ(テーブル、ビュー、ドキュメントなど)に関する情報を提供します。
コラム名 | タイプ | 説明 |
---|---|---|
VDBName | string | VDB 名 |
SchemaName | string | スキーマ名 |
名前 | string | 短いグループ名 |
タイプ | string | テーブルタイプ(Table、View、Document、…) |
NameInSource | string | ソースのこのグループの名前 |
IsPhysical | boolean | これがソーステーブルの場合は True |
SupportsUpdates | boolean | グループを更新できる場合は True |
UID | string | グループ固有の ID |
Cardinality | integer | グループの行の概算数 |
説明 | string | 説明 |
IsSystem | boolean | システムテーブルで true の場合は True |
SchemaUID | string | 親スキーマ一意 ID |
SYS.VirtualDatabases
この表は、現在接続されている仮想データベースに関する情報を提供します。それらのデータベースには、常に 1 つ(接続のコンテキスト)があります。
コラム名 | タイプ | 説明 |
---|---|---|
名前 | string | VDB の名前 |
Version | string | VDB のバージョン |
説明 | string | VDB の説明 |
LoadingTimestamp | timestamp | タイムスタンプの読み込みが開始されました。 |
ActiveTimestamp | timestamp | vdb がアクティブになった時点のタイムスタンプ。 |
SYS.spatial_sys_ref
PostGIS ドキュメントも参照してください。
コラム名 | タイプ | 説明 |
---|---|---|
srid | integer | 空間参照識別子 |
auth_name | string | 標準または標準ボディーの名前 |
auth_srid | integer | auth_name 認証局の SRID |
srtext | string | よく知られたテキスト表示 |
proj4text | string | Proj4 ライブラリーでの使用 |
SYS.GEOMETRY_COLUMNS
PostGIS ドキュメントも参照してください。
コラム名 | タイプ | 説明 |
---|---|---|
F_TABLE_CATALOG | string | catalog name |
F_TABLE_SCHEMA | string | スキーマ名 |
F_TABLE_NAME | string | テーブル名 |
F_GEOMETRY_COLUMN | string | 列名 |
COORD_DIMENSION | integer | コーディネートディメンションの数 |
SRID | integer | 空間参照識別子 |
タイプ | string | ジオメトリータイプ名 |
注記: coord_dimension
および srid プロパティー
は、列の {http://www.teiid.org/translator/spatial/2015}coord_dimension
および {http://www.teiid.org/translator/spatial/2015}srid
拡張プロパティーに基づいて決定されます。可能な場合、これらの値は関連するインポーターによって自動的に設定されます。値が設定されていない場合、それらはそれぞれ 2
および 0
として報告されます。クライアントロジックが GeoServer との統合などの実際の値を想定している場合には、これらの値を手動で設定できます。
SYS.ArrayIterate
アレイ内の各値に対して、1 つの列が含まれる結果セットを返します。
SYS.ArrayIterate(IN val object[]) RETURNS TABLE (col object)
SYS.ArrayIterate(IN val object[]) RETURNS TABLE (col object)
例: アレイ
select array_get(cast(x.col as string[]), 2) from (exec arrayiterate((('a', 'b'),('c','d')))) x
select array_get(cast(x.col as string[]), 2) from (exec arrayiterate((('a', 'b'),('c','d')))) x
これにより、'b' と 'd' の 2 つの行が生成されます。