code: @Override
  	public Scan open() {
  		Schema sch = p.schema();
  		TempTable temp = new TempTable(sch, tx);
  		Scan src = p.open();
  		UpdateScan dest = temp.open();
  		src.beforeFirst();
  		while (src.next()) {
  			dest.insert();
  			for (String fldname : sch.fields())
  				dest.setVal(fldname, src.getVal(fldname));
  		}
  		src.close();
  		dest.beforeFirst();
  		return dest;
  	}
docs: This method loops through the underlying query, copying its output
  records into a temporary table. It then returns a table scan for that
  table.
  
  @see Plan#open()