anchor.diff:      end,
       ColNames = [(lists:nth(ColId, StmtCols))#stmtCol.alias || ColId <- ColumnIds],
       ?Debug("Getting the stats for the columns ~p and rows ~p columns ~p", [ColumnIds, RowIds, ColNames]),
  -    Rows = tuple_to_list(ets:foldl(fun(Row, SelectRows) ->
  +    {Rows, HashList} = ets:foldl(fun(Row, {SelectRows, SelectHashList}) ->
               RealRow = case Row of
                   {_, Id} -> lists:nth(1, ets:lookup(TableId, Id));
                   Row -> Row
  
positive.code: 
  -spec stats_add_row([{integer(), number(), number(), []}], [binary()]) -> [tuple()].
  stats_add_row([], _) -> [];
  stats_add_row([{Count, Sum, Squares, HashList} = Result | RestResult], [Element | RestRow]) ->
      case bin_to_number(Element) of
          {error, _} -> [Result | stats_add_row(RestResult, RestRow)];
          Number -> [{Count+1, Sum+Number, Squares + Number*Number, [Element | HashList]} | stats_add_row(RestResult, RestRow)]
      end.
  
  -spec format_stat_rows([binary()], [{integer(), number(), number(), []}], pos_integer()) -> list().
  format_stat_rows([], _, _) -> [];
  format_stat_rows([ColName | RestColNames], [{0, _, _, _} | RestResult], Idx) ->
      [[Idx, nop, ColName, 0, 0, 0, 0, 0]] ++ format_stat_rows(RestColNames, RestResult, Idx+1);
  format_stat_rows([ColName | RestColNames], [{1, Sum, _, HashList} | RestResult], Idx) ->
      Average = Sum,
      Hash = erlang:phash2(list_to_binary(lists:reverse(HashList))),
  
negative.code:                 end
              end, [], lists:zip(RowColumns, Avgs))),
          StatsRowsZipped = zip5(ColNames, Counts, Totals, Avgs, StdDevs),
          Hash = erlang:phash2(list_to_binary(HashList)),
          StatsRows = [lists:append(lists:nth(1, [[Idx, nop | tuple_to_list(lists:nth(Idx, StatsRowsZipped))] || Idx <- lists:seq(1, length(Avgs))]), [Hash])],
          ?Debug("Stat Rows ~p", [StatsRows]),
          StatColumns = [<<"column">>, <<"count">>, <<"sum">>, <<"avg">>, <<"std_dev">>,<<"hash">>],
  