Decompressing BLOB and CLOB Types - Advanced SQL Engine - Teradata Database

SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
rin1593638965306.ditamap
dita:ditavalPath
rin1593638965306.ditaval
dita:id
B035-1147
lifecycle
previous
Product Category
Teradata Vantageā„¢

For information on UDFs with LOB input and return parameters, see Defining Functions that Use LOB Types.

When writing a scalar UDF that decompresses BLOB or CLOB types, use the following general structure:

  1. Define a buffer size (no larger than 64KB) for reading portions of the source LOB.
  2. Use FNC_LobOpen to open reading of the source LOB.
  3. While more data exists in the LOB:
    1. Use FNC_LobRead to read a portion of the LOB into the allocated buffer.
    2. Perform the decompression on the data in the buffer.
    3. Append the uncompressed contents of the buffer to the output LOB using FNC_LobAppend.
  4. Use FNC_LobClose to close reading of the source LOB.
  5. Handle errors reported by any FNC routines during processing.
  6. Release allocated resources once you have processed the data.

For information about the FNC functions, see LOB Access.

To see sample code for decompressing CLOB data, see C Scalar Function for Decompressing CLOB Data.