FNC_GetDatasetSchema - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/qwr1571437338192.ditamap
dita:ditavalPath
ja-JP/qwr1571437338192.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

目的

DATASETデータ型インスタンスのスキーマを取得します。

構文規則

void
FNC_GetDatasetSchema ( DATASET_HANDLE              datasetHandle,
                       void*                       schemaBuf,
                       int                         schemaBufLen,
                       int*                        actualSchemaLength,
                       dataset_schema_encoding_t   schemaEncoding)
DATASET_HANDLE datasetHandle
外部ルーチンへの入力パラメータに定義されているDATASETデータ型インスタンスへのハンドル。
void* schemaBuf
スキーマを表わすJSON形式のUNICODE文字を含むパラメータを返します。
int schemaBufLen
スキーマを格納するために使用するバイト単位のバッファの長さ。
int* actualSchemaLength
このDATASETデータ型インスタンスのスキーマの長さをバイト単位で指定するパラメータを返します。
dataset_schema_encoding_t schemaEncoding
ユーザーがスキーマを取得するときに使用するエンコーディング。

使用上の注意

FNC_GetDatasetSchemaは、格納形式やサイズに関係なく、DATASETデータ型のスキーマを取得するために使用できます。スキーマは、schemaEncodingパラメータの値に応じてUTF-8またはUTF-16でエンコードされたUNICODEテキストとして返されます。

スキーマは、特別な書式を使用せず、そのJSONエンコードおよびUNICODE文字で返されることに注意してください。

FNC_GetDatasetInfoを使用して、スキーマを格納できる適切なバッファ サイズを決定します。このルーチンに渡されたバッファがスキーマ全体には小さすぎる場合、エラーが報告されます。

最高のパフォーマンスのため、スキーマがLOBとして保存されない場合のみ、FNC_GetDatasetSchemaを使用します。FNC_GetDatasetInfoがschemaLob = 0を返す場合、FNC_GetDatasetSchemaを使用できます。その他の場合は、代わりにFNC_GetDatasetSchemaLobを使用する必要があります。