anchor.diff:      #tsqueryresp{columns = make_tscolumndescription_list(ColumnNames, ColumnTypes),
                    rows = riak_pb_ts_codec:encode_rows(ColumnTypes, DescribeTableRows)}.
   
  --spec get_column_types(list(binary()), module()) ->
  -            [{binary(), riak_pb_ts_codec:tscolumntype()}].
  +-spec get_column_types(list(binary()), module()) -> [riak_pb_ts_codec:tscolumntype()].
   get_column_types(ColumnNames, Mod) ->
  -    [{N, Mod:get_field_type(N)} || N <- ColumnNames].
  +    [Mod:get_field_type(N) || N <- ColumnNames].
   
   -spec make_tscolumndescription_list([binary()], [riak_pb_ts_codec:tscolumntype()]) ->
                                              [#tscolumndescription{}].
  
positive.code: %% ---------------------------------------------------
  % functions supporting SELECT
  
  -spec make_tsqueryresp({[binary()], [simple_field_type()], [any()]}) -> #tsqueryresp{}.
  make_tsqueryresp({ColumnNames, ColumnTypes, JustRows}) ->
      #tsqueryresp{columns = make_tscolumndescription_list(ColumnNames, ColumnTypes),
                   rows = riak_pb_ts_codec:encode_rows(ColumnTypes, JustRows)}.
  
negative.code:             BucketProps = riak_core_bucket:get_bucket(table_to_bucket(Table)),
              {reply, missing_helper_module(Table, BucketProps), State}
      end;
  
  
  process(#tsgetreq{table = Table, key = PbCompoundKey,
                    timeout = Timeout},
  