anchor.diff:                      %% names; we need names with types, so:
                       ColumnTypes = get_column_types(ColumnNames, Mod),
                       Rows = riak_pb_ts_codec:encode_rows(ColumnTypes, [Row]),
  -                    {reply, #tsgetresp{columns = make_tscolumndescription_list(ColumnNames, ColumnTypes),
  +                    {reply, #tsgetresp{columns = make_tscolumndescription_list(
  +                                                   ColumnNames, ColumnTypes),
                                          rows = Rows}, State};
                   {error, {bad_key_length, Got, Need}} ->
                       {reply, key_element_count_mismatch(Got, Need), State};
  
positive.code: %% under the License.
  %%
  %% -------------------------------------------------------------------
  %% @doc Callbacks for TS protobuf messages [codes 90..95]
  
  -module(riak_kv_pb_timeseries).
  
  
negative.code: get_column_types(ColumnNames, Mod) ->
      [Mod:get_field_type([ColumnName]) || ColumnName <- ColumnNames].
  
  -spec make_tscolumndescription_list(list(binary()), list(riak_pb_ts_codec:tscolumntype())) ->
                                             list(#tscolumndescription{}).
  make_tscolumndescription_list(ColumnNames, ColumnTypes) ->
    [#tscolumndescription{name = Name, type = riak_pb_ts_codec:encode_field_type(Type)}
      || {Name, Type} <- lists:zip(ColumnNames, ColumnTypes)].
  