anchor.diff:  	    Dist = maps:get(distributed, Map),
   	    Shards = maps:get(shards, Map),
   	    SizePL = get_size_param(Parameters, Type, Shards, Dist),
  -	    List = SizePL ++ maps:to_list(Map),
  +	    ColumnsMapper = maps:get(column_mapper, Map),
  +	    ColumnsPL = get_columns_param(Parameters, ColumnsMapper),
  +	    List = SizePL ++ ColumnsPL ++ maps:to_list(Map),
   	    Info = [ proplists:lookup(P, List) || P <- Parameters],
   	    {ok, lists:keysort(1, Info)};
   	[] ->
  
positive.code: 	    Dist = maps:get(distributed, Map),
  	    Shards = maps:get(shards, Map),
  	    SizePL = get_size_param([size], Type, Shards, Dist),
  	    Info = SizePL ++ maps:to_list(Map),
  	    {ok, lists:keysort(1, Info)};
  	[] ->
  	    {error, "no_table"}
  
negative.code: 	    []
      end.
  
  get_columns_param(Parameters, ColumnsMapper) ->
      case lists:member(columns, Parameters) of
  	true ->
  	    case ColumnsMapper:entries() of
  		Map ->
  		    List = maps:to_list(Map),
  		    Fun = fun(E) -> is_list(element(1,E)) end,
  		    Filtered = lists:filter(Fun, List),
  		    Sorted = lists:keysort(2, Filtered),
  		    [{columns, [C || {C, _} <- Sorted]}]
  	    end;
  	false ->
  	    []
      end.
  
  %%--------------------------------------------------------------------
  %% @doc
  