newValuesバッファの割り当て - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

newValuesが指すバッファを定義するには、構成要素の基になる型に対応するCデータ型を使用します。変更する構成要素の数に応じたバッファを確実に割り当ててください。例えば、ARRAY型がSQL INTEGERのエレメント タイプで定義されている場合は、次のようにバッファを定義します。

INTEGER value;
value = 2048;

構成要素の基になる型が文字列の場合、その型に定義したサイズよりもnewValues文字列が短いときには、その右側にFNC_SetArrayElementsWithMultiValuesが領域を埋め込みます。

文字データ型はNULL文字の埋め込みに対応しているため、newValuesBufSize引数に入れて渡す値にNULL終了文字の分は含めないでください。

newValuesBufSize引数で渡す値と、Teradata Databaseでのデータ型の長さが確実に一致するように、newValuesバッファのサイズを計算するときには、sqltypes_td.hファイルに定義されているデータ型長のマクロを使用してください。データ型長のマクロについての一覧は、FNC_SetStructuredAttributeを参照してください。

データの処理後には、割り当てたリソースを確実に解放してください。