16.20 - FNC_GetXMLByte - 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

Returns an XML value into a buffer in UTF-8 encoding.

Syntax

void
FNC_GetXMLByte(XML_HANDLE      xmlHandle,
               byte          *xmlBuffer,
               int             xmlBufferSize,
               int           *xmlSize)
XML_HANDLE xmlHandle
A handle to an XML type that is defined to be an input parameter to an external routine.
byte *xmlBuffer
A pointer to the buffer that will hold the XML string.
int xmlBufferSize
The size in bytes of the xmlBuffer passed to FNC_GetXMLByte.
int *xmlSize
The size in bytes of the XML string returned by FNC_GetXMLByte.

Usage Notes

FNC_GetXMLByte is used to get the value of an XML type in UTF-8 binary encoding.

The XML_HANDLE is passed in as input along with a pointer to a buffer (xmlBuffer) and the buffer size (xmlBufferSize). xmlBufferSize must be large enough to hold the XML value.

Note that the XML value can contain XML data that is not well-formed.

FNC_GetXMLByte can only be used for inline XML values, that is XML values less than 64K. You can use FNC_GetXMLInfo to determine the maximum length of the XML value. If FNC_GetXMLByte is used with a LOB-based XML value, you will get an error.