17.10 - Example Using FNC_GetPhaseEx - Advanced SQL Engine - Teradata Database

Teradata Vantageā„¢ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1147-171K
Language
English (United States)
By using the FNC_GetPhaseEx options, you can reduce the number of table phase transitions and improve table function performance in the following situations:
  • In a 1:1 (one row in : one row out) processing mode, use the TBL_NEWROW option to get a new row on every TBL_BUILD call.
    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_NEWROW);
  • In a 1:M (one row in : many rows out) processing mode, use the TBL_NEWROWEOF option to get a new row when EOF is signaled.
    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_NEWROWEOF);
  • In a M:1 (many rows in : one row out) processing mode, you can use:
    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_LASTROW | TBL_NEWROW);

    In a combined M:1 and 1:M processing mode, you can use the following that does not pass a new row until EOF:

    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_LASTROW | TBL_NEWROWEOF);