0% found this document useful (0 votes)
3K views2 pages

Rollup Abinitio Run Time Behaviour

Rollup reduces groups of records to single aggregate records using transform functions. With the first record of each group, it creates a temporary aggregate record. Then it updates the temporary record with each subsequent record in the group. Once the last record is processed, it writes the temporary record to the output port and proceeds to the next group. Alternatively, it can process all records in memory before writing the temporary records.

Uploaded by

Vivek Kaushik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views2 pages

Rollup Abinitio Run Time Behaviour

Rollup reduces groups of records to single aggregate records using transform functions. With the first record of each group, it creates a temporary aggregate record. Then it updates the temporary record with each subsequent record in the group. Once the last record is processed, it writes the temporary record to the output port and proceeds to the next group. Alternatively, it can process all records in memory before writing the temporary records.

Uploaded by

Vivek Kaushik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

Runtime behavior of Rollup:

Rollup reduces each group of data records to a single aggregate output record,
using a series of transform functions as follows:
With the first data record of each group, Rollup creates a temporary aggregate
record.
With each following data record of the same group, Rollup updates the temporary
aggregate record.

Runtime behavior of Rollup


When you set sorted-input to Input must be sorted or grouped, Rollup writes the
temporary aggregate record to the out port after processing the last data record of
each group, and repeats the preceding process with the next group.
When you set sorted-input to In memory: Input need not be sorted, Rollup processes
all the data records, and then writes all the temporary aggregate records to the
out port.

At runtime, Rollup executes the following steps:


Input selection : optional
Temporary initialization :optional
Rollup
Finalization
Output selection : optional

Runtime : Input selection


If you have defined input_select, it filters the input records.
If the expression evaluates to 0 for a particular record , Rollup does not process
the record (i.e., the record does not appear on any output port).
If the expression produces NULL for a particular record , Rollup:
Writes the record to the reject port
Writes a descriptive error message to the error port

Runtime : Input selection


If you do not connect flows to the reject or error ports, Rollup discards the
information.
If the expression evaluates to anything other than 0 or NULL for a particular
record, Rollup processes the record.
If you have not defined input_select, Rollup processes all records.

Runtime : Temporary initialization


Rollup passes the first record in each group to the initialize transform function.
The initialize transform function creates a temporary record for the group, with
record type temporary_type.

Runtime :Computation
Rollup calls the rollup transform function for each record in a group, using that
record and the temporary record for the group as arguments.
The rollup transform function returns a new temporary record.

Runtime :Finalization
Rollup repeats this procedure with each group.
If you set sorted-input to In memory: Input need not be sorted:
After Rollup processes all the input records, it calls the finalize transform
function with the temporary record for each group and an arbitrary input record
from each group as arguments.
The finalize transform function produces an output record for each group.

Runtime :Output selection


If you have defined the output_select transform function, it filters the output
records.
The output_select transform function takes a single argument - the record produced
by finalization - and returns a value of 0 (false) or non-0 (true).
Rollup ignores records for which output_select returns 0; it writes all others to
the out port.
If you have not defined the output_select transform function, Rollup writes all
records to the out port.

You might also like