Example Using FNC_GetPhaseEx - Advanced SQL Engine - Teradata Database

SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
rin1593638965306.ditamap
dita:ditavalPath
rin1593638965306.ditaval
dita:id
B035-1147
lifecycle
previous
Product Category
Teradata Vantageā„¢
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);