第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 つの行が生成されます。