PrepInfo - Call-Level Interface Version 2

Teradata® Call-Level Interfaceバージョン2リファレンス - ワークステーション接続システム

Product
Call-Level Interface Version 2
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/ttt1608578409164.ditamap
dita:ditavalPath
ja-JP/ttt1608578409164.ditaval
dita:id
B035-2418
Product Category
Teradata Tools and Utilities

目的

Request Processing OptionにPrepare、Response ModeにIndicatorを指定したリクエストがデータベースに送られたときに、リクエストによって指定された返信データの記述を返します。

またこのパーセルは、ステートメントの実行に必要な時間の見積もりも含んでいます。

使用上の注意

PrepInfoパーセルにゼロが入っていれば、その文はECHO文であったことがわかります。 PrepInfoパーセルは、データベースによって生成されます。

パーセル データ

次の情報は、PrepInfoパーセルに適用されます。

フレーバー パーセル ボディ長 パーセル ボディ フィールド
86 12~本体の最大サイズ
  • CostEstimate:
  • SummaryCount:
  • 8バイトの浮動小数
  • 2バイトの符号無し整数
以下は、SELECTされた列ごとに出現します。また、SummaryCountはWITH句の回数になります。
ColumnCount: 2バイトの符号無し整数
列ごとに、次のようになります。
  • DataType:
  • DataLen:
  • ColumnName:
  • ColumnFormat:
  • ColumnTitle:
  • 2バイトの符号無し整数
  • 2バイトの符号無し整数
  • 2バイトの符号無し整数と、その整数で指定したバイト数
  • 2バイトの符号無し整数と、その整数で指定したバイト数
  • 2バイトの符号無し整数と、その整数で指定したバイト数

フィールドについての注意

次の注意は、PrepInfoフィールドに適用されます。
  • CostEstimateは、リクエストを実行するために必要な見積もり時間(ミリ秒)を返す。

    見積もった時間が非常に小さい値であれば、CostEstimateフィールドはゼロに設定されます。

  • SummaryCountフィールドは、リクエスト内のWITH句の個数を指定します。

    サマリー データが返されない場合、すなわちリクエストがSELECT文ではないか、またはWITH句がないSELECT文の場合には、SummaryCountフィールドはゼロに設定されます。

  • ColumnCountは、後続の列記述フィールド群の組数を指定します。

    最初に現われるColumnCountは、その文によって返される列の個数を示します。

    このフィールドの直後には、列記述フィールド群の組が、各列を記述するのに必要なだけ続きます。

    次に、SummaryCountがゼロよりも大きい場合には、フィールド群のグループが各WITH句に1回返されます。

    各グループは、その句で参照される列の個数を示すColumnCountフィールド、およびその句の中の各列を記述するのに必要な組数の列記述フィールド群(下記参照)で構成されます。

    • DataTypeは、列のデータ型のコードを指定します。 可能なデータ型については、データ型を参照してください。
    • DataLenは、バイト数で表わした列の長さを指定します。

      ただし、列のデータ型がDECIMALである場合は、最初のバイトに整数の桁が入り、2バイト目に小数部の桁が入ります。

    • ColumnNameは、列の名前を指定します。名前の長さ(バイト数)の後に現在のセッション文字セットを使用した名前が続きます。 名前の最大長は、現時点ではDBCHQE SQL-limitsクエリーを使用して取得できます。将来は、文字表現の情報を使用できるようにするために、この最大長が拡大される予定です。 絶対的な最大長は65535です。

      列が式の結果であれば、最初の2バイトにゼロの長さが入り、フィールドのテキスト部分は空になります。

    • ColumnFormatは、列の形式を指定します。形式の長さ(バイト数)の後に現在のセッション文字セットを使用した形式が続きます。 指定可能な値は65535のみに限られているため、データベースが最大長を外部に提供することはありません。

      列の形式がNULLであれば、最初の2バイトにゼロの長さが入り、フィールドのテキスト部分は空になります。

    • ColumnTitleは、列のタイトルを指定します。タイトルの長さ(バイト数)の後に現在のセッション文字セットを使用したタイトルが続きます。 指定可能な値は65535のみに限られているため、データベースが最大長を外部に提供することはありません。

      Return-statement-info 'Y'が指定されていない場合、列のタイトルがNULLであれば、最初の2バイトにゼロの長さが入り、フィールドのテキスト部分は空になります。

例えば、次のSELECT文について考えます。

SELECT Name
FROM Employee
WITH COUNT (DeptNo), SUM (Salary) BY Salary
WITH COUNT (DeptNo) BY DeptNo;

この文は、次のバイト シーケンスを含むPrepInfoパーセルを生成します。

Parcel flavor is 86 with length 124
40 4D BE B8 51 EB 85 1E 00 02 00 01 01 C0 00 0C
00 04 D5 81 94 85 00 05 E7 4D F1 F2 5D 00 04 4E
61 6D 65 00 02 01 F1 00 04 00 00 00 06 60 4D F1
F0 5D F9 00 0B E2 E4 D4 4D C4 85 97 A3 D5 96 5D
01 E5 0F 02 00 00 00 0A E9 E9 E9 6B E9 E9 F9 4B
F9 F9 00 0B 53 75 6D 28 53 61 6C 61 72 79 29 00
01 01 F1 00 04 00 00 00 06 E2 E4 D4 4D E2 81 93
81 99 A8 5D 00 0B E2 E4 D4 4D C4 85 97 A3 D5 96
5D

上記のパーセルの各フィールドを解釈すると、次のようになります(それぞれの略語の説明をあとに続けます)。

CE CE CE CE CE CE CE CE SC SC CC CC DT DT DL DL
NL NL CN CN CN CN FL FL CF CF CF CF CF TL TL CT
CT CT CT CC CC DT DT DL DL NL NL FL FL CF CF CF
CF CF CF TL TL CT CT CT CT CT CT CT CT CT CT CT
DT DT DL DL NL NL FL FL CF CF CF CF CF CF CF CF
CF CF TL TL CT CT CT CT CT CT CT CT CT CT CT CC
CC DT DT DL DL NL NL FL FL CF CF CF CF CF CF TL
TL CT CT CT CT CT CT CT CT CT CT CT
CostEstimate = CE、8バイト
SummaryCount = SCxx、xxはWITH句の個数、2バイト
ColumnCount = CCxx、xxは列の個数、2バイト
DataType = DT、2バイト
DataLength = DL、2バイト
ColumnName = NLxxの後ろにCN、xxはフィールドの長さで、CNはテキストを表わす
ColumnFormat = FLxxの後ろにCF、xxはフィールドの長さで、CFはテキストを表わす
ColumnTitle = TLxxの後ろにCT、xxはフィールドの長さで、CTはテキストを表わす