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);