anchor.diff:              DDLMod ->
                   #ddl_v1{table = Table,
                           local_key = #key_v1{ast = Ast}} = DDLMod:get_ddl(),
  +                LKParams = [P || #param_v1{name = [P]} <- Ast],
                   {keys,
  -                 fun(Key) -> recover_ts_key(Key, Table, Ast, Index) end}
  +                 fun(Key) -> recover_ts_key(Key, Table, LKParams, Index) end}
           end,
       FoldFun = fold_fun(FoldFunSelector, BufferMod, Filter, Extras),
       FinishFun = finish_fun(BufferMod, Sender),
  
positive.code:     ?assertEqual(
         [1, 3],
         strip_nonlk_fields(
           [#param_v1{name = [<<"a">>]},
            #param_v1{name = [<<"b">>]}],
           [{<<"a">>, 1}, {<<"x">>, 2}, {<<"b">>, 3}])),
      ?assertEqual(
         [1, 2],
         strip_nonlk_fields(
           [#param_v1{name = [<<"a">>]},
            #param_v1{name = [<<"b">>]}],
           [{<<"a">>, 1}, {<<"b">>, 2}, {<<"x">>, 3}])),
      ?assertEqual(
         [1, 2],
         strip_nonlk_fields(
           [#param_v1{name = [<<"b">>]},
            #param_v1{name = [<<"a">>]}],
           [{<<"a">>, 1}, {<<"b">>, 2}, {<<"x">>, 3}])),
      ok.
  
  
negative.code: 		  {noreply, State}
  	  end.
  
  -spec recover_ts_key(Key::binary(), Table::binary(), LKParams::[binary()], index()) ->
                              [] | tuple().
  %% @private
  %% Get the full TS record, then reconstruct the TS key from it using
  %% provided parts (extracted from DDL to common expression recomputations).
  recover_ts_key(Key, Table, LKParams, Index) ->
      Bucket = {Table, Table},
      {ok, RObj} = local_get(Index, {Bucket, Key}),
      case riak_object:get_value(RObj) of
  