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

Teradata Vantageā„¢ - SQL External Routine Programming

Advanced SQL Engine
Teradata Database
Release Number
Release Date
July 2021
Content Type
Programming Reference
Publication ID
English (United States)

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.