hpcc-systems/HPCC-Platform — pull request #1148 by ghalliday (2011-12-15 12:18:52+00:00)
Title: Initial work on implicit alias creation.

* USE TABLE(dataset) to introduce a dataset alias
* Fix problems with using dataset aliases in various contexts (e.g,
inline aggregates)
* Fix the implicit alias creator to generate much better code.
- the option is currently defaulted off
* IF(cond, ds(x), table(ds)(y)) now optimized to
table(ds)(if(cond, x, y));
(generating same code as if implicit aliases are disabled)

Some related changes

* Clean up the childdataset types
* Improve generation of splitters inside subgraphs

Previously a disk read of a spill file would often be duplicated
inside a subgraph that read it, and sibling subgraphs which read the
same spill files were not combined. This change ensures a splitter
is now generated in those situations.

A splitter is only added if it would be balanced - otherwise the
potential spill in the splitter would outweigh any benefit.

* Splitters of splitter are now combined into a single splitter. (Also
improves existing queries.)

Signed-off-by: Gavin Halliday