1. A computer-implemented method comprising: storing a plurality of generators, each generator comprising computer-executable instructions for generating a sub-plan, wherein the sub-plan includes instructions to generate execution plans for one or more columns of reports; receiving, by a report execution engine, a report definition specifying a plurality of columns that include one or more metrics based on user interactions with an online system; identifying a set of generators from the plurality of generators, each of the set of generators configured to generate execution plan of at least one of the plurality of columns specified by the report definition, the set of generators comprising a first generator, and a second generator, wherein the plurality of generators are arranged as a series of generators, the identifying comprising, repeating until all columns of the report definition are assigned to at least a generator: providing a set of columns of the report definition to generators from the series of generators until a particular generator responds with information indicating that the particular generator includes instructions to process at least a subset of columns from the set of columns; assigning the subset of columns to the particular generator; and providing the remaining columns of the set of columns to the remaining generators from the series of generators to assign the remaining columns to the plurality of generators; generating a plurality of sub-plans for processing columns of the report definition, the generating comprising, for each generator assigned to at least a column of the report definition: generating, by the generator, a sub-plan for processing the columns of the report definition assigned to the generator; generating a combined execution plan by combining one or more pairs of sub-plans from the plurality of sub-plans, each pair of sub-plans comprising a first sub-plan and a second sub-plan, wherein the combined execution plan uses an operator to combine resulting data of the first sub-plan and resulting data of the second sub-plan; executing, by the report execution engine, the combined execution plan to generate results based on the received report definition; and sending, by the report execution engine, the generated results for presentation.