16.20 - tdr.TblRead - 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

Reads an input stream into an R data frame and returns the data frame.

Syntax

tdr.TblRead(  handle,  dataframesize  )
handle
Parameter type: raw vector

The handle of the input stream returned by the tdr.Open function.

dataframesize
Parameter type: integer

The maximum size (in bytes) of the data frame that is generated. This size is limited by the UDFmalloc size of the secure server which is 32MB by default.

If you set this parameter to 0, the available size is divided equally between the input and output streams.

Return Value

A data frame with the maximum number of rows that can fit in allocated memory. The data frame is created by mapping Teradata data types to R data types. See Mapping Between Teradata Data Types and R Types.

An empty data frame is returned if there are no more rows in the stream.

If the function encounters an error, it returns one of the following error codes.

Error Code Error Condition
-2 The table operator aborted.
-3 The input parameter has an invalid type.
-4 The input parameter has an invalid value.
-5 This function was called from the contract function.

Usage Notes

Before you call this function, you must call the tdr.Open function to open the input stream. Then pass the handle returned from tdr.Open as an argument to this function.

Based on the memory resource available, the data frame size returned may be less than the size specified in the call to tdr.TblRead.

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

The following data types are not supported in data frames:
  • DECIMAL8
  • DECIMAL16
  • TIME
  • TIME_WTZ
  • TIMESTAMP
  • TIMESTAMP_WTZ
  • INTERVAL_YTM
  • INTERVALH
  • INTERVALM
  • INTERVALS
  • INTERVAL_HTM
  • INTERVAL_HTS
  • INTERVAL_MTS
  • INTERVAL_SECOND
If you want to use these data types in data frames, you must cast them to a supported type.