16.20 - フラグ設定の組み合わせ - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

UDTTransformsOffフラグをYに設定してPeriodStructOnフラグをオンにします。

UDTTransformsOffフラグがNに設定され、PeriodStructOnフラグがYに設定されると、Teradata Databaseによりエラーが返されます。

ArrayTransformsOffフラグはUDTTransformsOffフラグとPeriodStructOnフラグから独立して設定できます。

以下のテーブルに、フラグ設定の組み合わせに関する情報を示します。

UDTTransformsOff PeriodStructOn ArrayTransformsOff 説明 適用先
N N N
  • 基本/固有データ型(例、10進数、整数)のバイナリ表現。
  • UDTは変換されます。
  • PERIODデータ型のバイナリ表現。
  • 配列はVARCHARに変換されます。上記の箇条書きにあるワイヤプロトコル表現は、配列構成要素には適用されません。
CLI.

デフォルトのモード。

N N Y
  • 基本/固有データ型(例、10進数、整数)のバイナリ表現。
  • UDTは変換されます。
  • PERIODデータ型のバイナリ表現。
  • 配列はVARCHARに変換されません。上記の箇条書きにあるワイヤプロトコル表現が配列構成要素に適用されます。
.NET、ODBC、およびサード パーティ製または社内のCLIアプリケーション。
N Y NまたはY Teradata Databaseによりエラーが返されます。  
Y N Y
  • 基本/固有データ型(例、10進数、整数)のバイナリ表現。
  • UDTは変換されません。
  • PERIODデータ型のバイナリ表現。
  • 配列はVARCHARに変換されません。上記の箇条書きにあるワイヤプロトコル表現が配列構成要素に適用されます。
.NET Data Providerはこの組み合わせを使用して、UDTのプロバイダー固有のサポートとUDTを.NET-オブジェクトのマッピングに追加します。

アプリケーションはUDTTransformのオンとオフ選択します。

Y N N
  • 基本/固有データ型(例、10進数、整数)のバイナリ表現。
  • UDTは変換されません。
  • PERIODデータ型のバイナリ表現。
  • 配列はVARCHARに変換されます。上記の箇条書きにあるワイヤプロトコル表現は、配列構成要素には適用されません。
サード パーティ製CLIベース アプリケーション。

既存のアプリケーションの中には、パス スルーSQLをサポートしているものがあります。つまり、これらのアプリケーションは特定の物理データベース モデルに制限されません。

Y Y Y
  • 基本/固有データ型(例、10進数、整数)のバイナリ表現。
  • UDTは変換されません。
  • PERIODデータ型は、BEGINとENDの期間(例、日付、時間)のある構造体として転送されます。
  • 配列はVARCHARに変換されません。上記の箇条書きにあるワイヤプロトコル表現が配列構成要素に適用されます。
JDBC。
Y Y N
  • 基本/固有データ型(例、10進数、整数)のバイナリ表現。
  • UDTは変換されません。
  • PERIODデータ型は、BEGINとENDの期間(例、日付、時間)のある構造体として転送されます。
  • 配列はVARCHARに変換されます。上記の箇条書きにあるワイヤプロトコル表現は、配列構成要素には適用されません。
サード パーティ製CLIベース アプリケーション。

既存のアプリケーションの中には、パス スルーSQLをサポートしているものがあります。つまり、これらのアプリケーションは特定の物理データベース モデルに制限されません。

変換オフでのARRAYデータ値の形式

ArrayTransformsOffフラグがYに設定された1次元または多次元のARRAYデータ値は、次に示す各種のデータ パーセルで表現されます。

  • IndicData (パーセル フレーバー番号68)
  • MultipartIndicData (パーセル フレーバー番号142)
  • Record (標識モード) (パーセル フレーバー番号10)
  • MultipartRecord (パーセル フレーバー番号144)

ARRAYデータ型用の1つのNULL標識ビットは、NULL標識ビットの配列内にあります。

以下のテーブルは、配列値のワイヤプロトコル表現についての説明です。

アイテム 説明
2バイト(16ビットSMALLINT)の長さフィールド このフィールド自体の長さを除いた長さ(バイト単位)。
4バイト(32ビットの符号無し整数) 現在のカーディナリティ。返される配列構成要素の総数を示します。
Elements-Null-Indicatorビット 可変長のバイト配列。

長さ = (現在のカーディナリティ * (構成要素ごとのビット数) + 7) / 8

配列構成要素がUDTで、UDTTransformsOffフラグがYに設定される場合、この構成要素のElements-Null-IndicatorビットはUDT用の1つのNULL標識ビットと、それに続くUDTの属性ごとの1つのNULL標識ビットで深さ優先順で左から右に拡張されます。

配列構成要素がPERIODデータ型で、PeriodStructOnフラグがYに設定される場合、この構成要素のElements-Null-IndicatorビットはPERIODデータ型用の1つのNULL標識ビットと、それに続くBEGIN用の1つのNULL標識ビットと、END用のもう1つのNULL標識ビットで拡張されます。

配列構成要素のデータ 各構成要素の実際のデータ値(行優先順)。

配列構成要素がUDTで、UDTTransformsOffフラグがYに設定されている場合、各構成要素の値はUDTの各属性のデータ値で深さ優先順で右から左に拡張されます。

配列構成要素がPERIODデータ型で、PeriodStructOnフラグがYに設定されている場合、各構成要素の値はBEGIN値とそれに続くEND値によって拡張されます。

ArrayTransformsOffフラグがYに設定されているヌル配列の場合、その配列のNULL標識ビットが設定され、2バイトの長さフィールドはゼロに設定されます。それ以外の値は送信されません。