19 拡張性の定数、型およびマッピング
システム定義定数とシステム定義型は、サポートされているすべての言語に包括的に適用されるほか、PL/SQL、C、Javaの各言語に固有のマッピングに適用されます。
19.1 システム定義定数
catodci.sql
スクリプトの一部としてインストールされるODCIConst
パッケージで定義されている定数について説明します。Cルーチン内で使用する等価の定義は、odci.h
にあります。基礎となる値をルーチン内でハードコード化するかわりに、これらの定数を使用する必要があります。データベースまたはパケットの状態が意図せずに破損しないように、これらのメソッドとともに常に次の文を使用して読取りと書込みを制限します。
pragma restrict_references(ODCIConst, WNDS, RNDS, WNPS, RNPS);
システム定義定数は大きく2つのカテゴリに分類されます。
19.1.1 ODCIArgDesc.ArgTypeシステム定義定数
表19-1 ODCIArgDesc.ArgTypeの値
名前 | 説明 |
---|---|
ArgOther |
引数は他の式 |
ArgCol |
引数は列名 |
ArgLit |
引数はリテラル値 |
ArgAttr |
引数はADT |
ArgCursor |
引数は |
ArgNull |
引数は |
19.1.2 ODCIEnv.CallPropertyシステム定義定数
表19-2 ODCIEnv.CallPropertyの値
名前 | 説明 |
---|---|
None |
デフォルト・オプション |
FirstCall |
第1パーティションのコール |
Intermediate Call |
中間パーティションのコール |
FinalCall |
最後のパーティションの後の最終コール |
StatsGlobal |
収集したグローバルの統計の指定に使用 |
StatsGlobalAndPartition |
収集したグローバルおよびパーティション・レベルの統計の指定に使用 |
StatsPartition |
収集したパーティション・レベルの統計の指定に使用 |
19.1.3 ODCIIndexAlterシステム定義定数
表19-3 ODCIIndexAlterのオプション
名前 | 説明 |
---|---|
AlterIndexNone |
デフォルト・オプション |
AlterIndexRename |
パーティション名の変更オプション |
AlterIndexRebuild |
索引の再作成オプション |
AlterIndexUpdBlockRefs |
索引構成表更新ブロック参照 |
AlterIndexMigrate |
ユーザー管理ドメイン索引のシステム管理ドメイン索引への移行 |
AlterIndexRenameCol |
ドメイン索引に基づく列名の変更 |
AlterIndexRenameTab |
ドメイン索引に基づく表名の変更 |
19.1.4 ODCIIndexInfo.Flagsシステム定義定数
表19-4 ODCIIndexInfo.Flagsのビット
名前 | ビット値 | 説明 |
---|---|---|
Local |
|
ローカル・ドメイン索引を示します。 |
Parallel |
|
索引の作成または変更操作に対して並列度が指定されたことを示します。 |
Unusable |
|
索引作成時に |
IndexOnIOT |
|
索引構成表にドメイン索引が定義されることを示します。 |
RangePartn |
|
ローカル・ドメイン索引について、実表がレンジ・パーティション化されることを示します。必ず |
ListPartn |
|
ローカル・ドメイン索引について、実表がリスト・パーティション化されることを示します。必ず |
HashPartn |
|
ローカル・ドメイン索引について、実表がハッシュ・パーティション化されることを示します。必ず |
TransTblspc |
|
トランスポータブル表領域セッションでドメイン索引が作成されることを示します。 |
FunctionIdx |
|
索引がファンクション・ドメイン索引であることを示します。 |
Online |
|
オンライン・ドメイン索引を示します。 |
UpdateGlobalIndexes |
|
索引が更新されたグローバル・ドメイン索引であることを示します |
19.1.5 ODCIIPartInfo.PartOpシステム定義定数
表19-5 ODCIIPartInfo.PartOpシステム定義定数の説明
名前 | 説明 |
---|---|
AddPartition |
追加されるパーティション |
DropPartition |
削除されるパーティション |
19.1.6 ODCIIPredInfo.Flagsシステム定義定数
表19-6 ODCIIPredInfo.Flagsのビット
名前 | 説明 |
---|---|
PredExactMatch |
等価述語。 |
PredPrefixMatch |
|
PredIncludeStart |
索引レンジ・スキャンの開始値を含みます。 |
PredIncludeStop |
索引レンジ・スキャンの終了値を含みます。 |
PredObjectFunc |
述語の左辺はスタンドアロン・ファンクションです。 |
PredObjectPkg |
述語の左辺はパッケージ・ファンクションです。 |
PredObjectType |
述語の左辺は型のメソッドです。 |
PredObjectTable |
述語に複数の表の列が含まれます。 |
19.1.7 ODCIFuncInfo.Flagsシステム定義定数
表19-7 ODCIFuncInfo.Flagsのビット
名前 | 説明 |
---|---|
ObjectFunc |
スタンドアロン・ファンクション |
ObjectPkg |
パッケージ・ファンクション |
ObjectType |
型のメソッド |
19.1.8 ODCIQueryInfo.Flagsシステム定義定数
表19-8 ODCIQueryInfo.Flagsのビット
名前 | 説明 |
---|---|
QueryFirstRows |
オプティマイザ・モードは |
QueryAllRows |
オプティマイザ・モードは |
19.1.9 ODCIStatsOptions.Flagsシステム定義定数
表19-9 ODCIStatsOptions.Flagsのビット
名前 | 説明 |
---|---|
EstimateStats |
統計見積オプション |
ComputeStats |
正確な統計の計算オプション |
Validate |
索引検証オプション |
19.1.10 ODCIStatsOptions.Optionsシステム定義定数
表19-10 ODCIStatsOptions.Optionsのビット
名前 | 説明 |
---|---|
PercentOption |
サンプリングによる統計の計算 |
RowOption |
すべての行に基づく統計の計算 |
19.1.11 ステータス戻り値システム定義定数
表19-11 ステータス戻り値
名前 | 説明 |
---|---|
Success |
操作の成功を示します。 |
Error |
エラーを示します。 |
Warning |
警告を示します。 |
ErrContinue |
索引パーティションにエラーがありますが、次のパーティションで処理を継続することを示します。 |
Fatal |
索引のディクショナリ・エントリがすべてクリーン・アップされ、 |
19.2 システム定義型
複数のシステム定義型がOracleで定義されており、作成するにはcatodci.sql
カタログ・スクリプトを実行する必要があります。これらのオブジェクト型のCマッピングはodci.h
に定義されています。拡張可能索引付けインタフェースおよび拡張可能オプティマイザ・インタフェースで説明するODCIIndex
ルーチンとODCIStats
ルーチンは、これらの型をパラメータとして使用します。
特に明記しないかぎり、型の属性として解析される名前は引用符なしの識別子です。
19.2.1 ODCIArgDesc
オブジェクト型。ファンクションまたは演算子の引数を格納します。
表19-13 ODCIArgDescファンクション/演算子の引数の説明 - 属性
名前 | データ型 | 説明 |
---|---|---|
ArgType |
NUMBER |
引数の型。 |
TableName |
VARCHAR2(30) |
表の名前。 |
TableSchema |
VARCHAR2(30) |
表を含むスキーマ。 |
ColName |
VARCHAR2(4000) |
列の名前。トップレベルの列名("A"など)またはネストされた列"A"."B"になります。列名は引用符付き識別子であることに注意してください。 |
TablePartitionLower |
VARCHAR2(30) |
問合せでアクセスされる最下位の表パーティションの名前を含みます。 |
TablePartitionUpper |
VARCHAR2(30) |
問合せでアクセスされる最上位の表パーティションの名前を含みます。 |
Cardinality |
NUMBER |
|
19.2.3 ODCIRidList
ROWIDのリストを格納します。ROWIDの格納には文字書式が使用されます。
データ型
VARRAY(32767) OF VARCHAR2("M_URID_SZ")
19.2.4 ODCIColInfo
列の関連情報を格納します。
データ型
オブジェクト型。
表19-14 ODCIColInfo列関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
TableSchema |
VARCHAR2(30) |
表を含むスキーマ。 |
TableName |
VARCHAR2(30) |
表の名前。 |
ColName |
VARCHAR2(4000) |
列の名前。トップレベルの列名("A"など)またはネストされた列"A"."B"になります。列名は引用符付き識別子であることに注意してください。 |
ColTypeName |
VARCHAR2(30) |
列のデータ型。 |
ColTypeSchema |
VARCHAR2(30) |
ユーザー定義データ型の場合はデータ型を含むスキーマ。 |
TablePartition |
VARCHAR2(30) |
ローカル・ドメイン索引の場合、特定の実表のパーティション名を含みます。 |
TablePartitionIden |
NUMBER |
実表のパーティションの物理識別子 |
TablePartitionTotal |
NUMBER |
表内のパーティションの総数 |
19.2.6 ODCICost
オブジェクト型。コスト情報を格納します。
表19-15 ODCICostコスト情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
CPUコスト |
|
|
I/Oコスト |
|
|
通信コスト |
|
|
|
19.2.7 ODCIEnv
オブジェクト型。拡張性ルーチンの実行環境に関する一般情報が含まれます。
表19-16 ODCIEnv環境変数ディスクリプタ情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
|
|
|
|
|
|
デバッグ・レベル |
使用方法
CallProperty
の使用対象は、CREATE INDEX
、DROP INDEX
、TRUNCATE TABLE
および一部の拡張可能オプティマイザ関連のコールに限られています。ローカル・ドメイン索引に対するDMLおよび問合せルーチンなど、他のすべての場合は0
に設定されます。
19.2.8 ODCIFuncInfo
オブジェクト型。ファンクション情報を格納します。
表19-17 ODCIFuncInfoファンクション情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
オブジェクト・スキーマ名 |
|
|
ファンクション/パッケージ/型の名前 |
|
|
パッケージ/型のメソッド名 |
|
|
ファンクションのフラグ( |
19.2.9 ODCIIndexInfo
オブジェクト型。ドメイン索引に関連するメタデータ情報を格納します。すべてのODCIIndex
ルーチンにパラメータとして渡されます。
表19-18 ODCIIndexInfo索引関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
IndexSchema |
|
ドメイン索引を含むスキーマ。 |
IndexName |
|
ドメイン索引名。 |
IndexCols |
ODCIColInfoList |
索引付けされた列のリスト。 |
IndexPartition |
VARCHAR2(30) |
ローカル・ドメイン索引の場合、特定の索引パーティションの名前を含みます。 |
IndexInfoFlags |
NUMBER |
設定可能なフラグは次のとおりです。
|
IndexParaDegree |
NUMBER |
並列度(ドメイン索引またはローカル・ドメイン索引パーティションをパラレルに作成または再作成するときに指定されている場合)。 |
IndexPartitionIden |
NUMBER |
ローカル・ドメイン索引の索引パーティションのオブジェクト識別子 |
IndexPartitionTotal |
NUMBER |
索引内のパーティションの総数 |
19.2.10 ODCIIndexCtx
オブジェクト型。ドメイン索引のメタデータとROWIDなど、索引コンテキストを格納します。索引コンテキストを予期する演算子のファンクション実装にパラメータとして渡されます。
表19-19 ODCIIndexCtx索引コンテキスト関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
ドメイン索引のメタデータ情報を格納します。 |
|
|
現在行のROWIDです。 |
19.2.11 ODCIObject
オブジェクト型。スキーマ・オブジェクト情報を格納します。
表19-20 ODCIObject索引コンテキスト関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
オブジェクトが置かれているスキーマの名前 |
|
|
オブジェクトの名前 |
19.2.13 ODCIPartInfo
オブジェクト型。表パーティション名と索引パーティション名の両方が含まれます。
表19-21 ODCIPartInfo索引関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
TablePartition |
|
表パーティション名 |
IndexPartition |
|
索引パーティション名 |
IndexPartitionIden |
NUMBER |
索引パーティションのオブジェクト識別子 |
PartOp |
NUMBER |
実行中のパーティション操作 |
19.2.15 ODCIPredInfo
オブジェクト型。ユーザー定義演算子またはファンクションを含む述語に関連するメタデータ情報を格納します。ODCIIndexStart()問合せルーチンにもパラメータとして渡されます。
表19-22 ODCIPredInfo演算子関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
ObjectSchema |
|
演算子/ファンクションのスキーマ。 |
ObjectName |
|
演算子/ファンクションの名前。 |
MethodName |
|
パッケージのメソッドの型にのみ適用されるメソッド名。 |
Flags |
|
設定可能なフラグは次のとおりです。
|
19.2.16 ODCIQueryInfo
オブジェクト型。問合せのコンテキスト情報を格納します。ODCIIndexStart()ルーチンにパラメータとして渡されます。
表19-23 ODCIQueryInfo索引コンテキスト関連情報 - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
次のフラグを設定できます。
|
|
|
問合せで参照される補助演算子。 |
19.2.18 ODCITabFuncStats
オブジェクト型。テーブル・ファンクションのカーディナリティ情報を格納します。
表19-25 ODCITabFuncStatsのパラメータ
パラメータ | データ型 | 目的 |
---|---|---|
|
|
テーブル・ファンクションからの戻りが予想される行数が含まれます。 |
19.2.19 ODCITabStats
テーブル・ファンクションの表の統計を格納します。
データ型
NUMBER
表19-26 ODCITabStats - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
表の行数 |
19.2.21 ODCITabFuncInfo
オブジェクト型。テーブル・ファンクションで設定する必要があるコレクション内のユーザー定義型の属性に関する情報を格納します。
表19-27 ODCITabFuncInfoのパラメータ
名前 | データ型 | 目的 |
---|---|---|
|
|
設定する必要のある属性を示します。 |
|
|
|
19.2.26 ODCIFuncCallInfo
オブジェクト型。演算子のファンクション実装情報を格納します。
表19-28 ODCIFuncCallInfo - 属性
名前 | データ型 | 目的 |
---|---|---|
|
|
演算子が起動される列の情報 |
使用方法
このパラメータでファンクション実装を定義できるのは、演算子バインディングがWITH COLUMN CONTEXT
で宣言されている場合のみです。これは、ファンクション実装に起動された列に関する情報が必要で、その列にドメイン索引が定義されていない場合に役立ちます。この引数がファンクション起動時に移入されるのは、演算子起動の第1引数が列で、その列にドメイン索引が定義されていない場合のみです。