17.10 - 例: アルゴリズム圧縮されたLOB関連データを圧縮解除する関数の作成 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

次の各例で示す関数は、「例: LOB関連データをアルゴリズム圧縮する関数の作成」の例でアルゴリズム圧縮してあるLOBベースのデータを圧縮解除することを目的としています。

外部関数のC、C++、またはJavaコードを記述する方法については、<Teradata Vantage™ - SQL外部ルーチン プログラミング、B035-1147>を参照してください。これらの関数定義は、LOB関連のデータを圧縮解除するために参照します。

この例では、clob_decompressという名前のUDFを作成します。このUDFは、例: LOB関連データをアルゴリズム圧縮する関数の作成の関数clob_compressを使用してアルゴリズム圧縮したCLOB列を圧縮解除するものです。

     CREATE FUNCTION  clob_decompress (a BLOB AS LOCATOR) 
     RETURNS CLOB AS LOCATOR 
     SPECIFIC clob_decompress 
     LANGUAGE C 
     NO SQL  
     FOR DECOMPRESS 
     PARAMETER STYLE TD_GENERAL 
     RETURNS NULL ON NULL INPUT 
     DETERMINISTIC 
     EXTERNAL NAME 'cs!clobdecompress!clobdecompress.c';

この例では、d_clob_decompressという名前のUDFを作成します。このUDFは、例: LOB関連データをアルゴリズム圧縮する関数の作成の関数d_clob_compressを使用してアルゴリズム圧縮したLOBベースのDISTINCT型UDT列を圧縮解除するものです。

     CREATE FUNCTION d_clob_decompress (a BLOB AS LOCATOR) 
     RETURNS DCLOB
     SPECIFIC d_clob_decompress 
     LANGUAGE C 
     NO SQL  
     FOR DECOMPRESS 
     PARAMETER STYLE TD_GENERAL RETURNS NULL ON NULL INPUT 
     DETERMINISTIC 
     EXTERNAL NAME 'cs!dclobdecompress!dclobdecompress.c';

この例では、s_clob_decompressという名前のUDFを作成します。このUDFは、例: LOB関連データをアルゴリズム圧縮する関数の作成の関数s_clob_compressを使用してアルゴリズム圧縮したLOBベースのDISTINCT型UDT列を圧縮解除するものです。

     CREATE FUNCTION s_clob_decompress (a BLOB AS LOCATOR) 
     RETURNS SCLOB 
     SPECIFIC s_clob_decompress 
     LANGUAGE C 
     NO SQL  
     FOR DECOMPRESS 
     PARAMETER STYLE TD_GENERAL RETURNS NULL ON NULL INPUT 
     DETERMINISTIC 
     EXTERNAL NAME 'cs!sclobdecompress!sclobdecompress.c';