16.20 - tdr.LobOpen_CL - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
16.20
Release Date
April 2020
Content Type
Programming Reference
Publication ID
B035-1147-162K
Language
English (United States)

Purpose

Opens a LOB for reading.

Syntax

tdr.LobOpen_CL(locator,  start,  maxlength)
locator
Parameter type: integer

The locator of the LOB stored in the table.

start
Parameter type: numeric

Start reading at this position in the LOB.

maxlength
Parameter type: numeric

The maximum number of bytes to read.

Return Value

A list with two elements: contextID and LOBlen. This list can be used to read the LOB.

Usage Notes

This function is valid only if called from the table operator.

An error is raised if the function is called from the contract function.

Example: Open a LOB for Reading

Consider an input table with 5 attributes: (int, int, int, int, clob). This example shows how to read the last attribute of the current row as follows:
  • Get the LOB locator
  • Open the LOB
  • Read the LOB
  • Close the LOB
# Open the input stream
inHandle <- tdr.Open("R", 0, 0);

# Get the 5th attribute in the current row (LOB locator)
att5 <- tdr.GetAttributeByNdx(inHandle, 4, NULL);

# Open the LOB for reading
inlob <- tdr.LobOpen_CL(att5,0,0);

# Read the LOB, convert it to character, and print it
string <- tdr.LobRead(inlob$contextID, inlob$LOBlen);
print(rawToChar(string$buffer));

# Close the LOB
tdr.LobClose(inlob$contextID);