Appending Data to a Large Object Result | Teradata Vantage - Appending Data to a Large Object Result - Advanced SQL Engine - Teradata Database

SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
June 2020
Language
English (United States)
Last Update
2021-01-24
dita:mapPath
qwr1571437338192.ditamap
dita:ditavalPath
lze1555437562152.ditaval
dita:id
B035-1147
lifecycle
previous
Product Category
Teradata Vantage™

A UDF that declares the result as a LOB_RESULT_LOCATOR type must use the FNC_LobAppend library function to append a sequence of bytes to the result.

The following code excerpt modifies the preceding code excerpt to show how to append data to a LOB_RESULT_LOCATOR result:

#define BUFFER_SIZE 500
   
void do_something ( LOB_LOCATOR *a,
                    LOB_RESULT_LOCATOR *result,
                    char sqlstate[6] )
{
   BYTE            buffer[BUFFER_SIZE];
   FNC_LobLength_t actlen;
   LOB_CONTEXT_ID  id;
   
   FNC_LobOpen(*a, &id, 0, BUFFER_SIZE);
   FNC_LobRead(id, buffer, BUFFER_SIZE, &actlen);
   FNC_LobAppend(*result, buffer, actlen, &actlen);
   FNC_LobClose(id);
   
    ...
   
}