anchor.diff:  
   process(#tsputreq{table=_Table, columns=_Columns, rows=_Rows}, State) ->
       {reply, #tsputresp{}, State};
  -process(_Ddl = #ddl_v1, State) ->
  +process(_Ddl = #ddl_v1{}, State) ->
       {reply, #tsqueryresp{}, State};
   process({_DecodedQuery}, State) ->
       {reply, #tsqueryresp{}, State}.
  
positive.code:             {ok, DecodedQuery} = decode_query(Q),
              PermAndTarget = decode_query_permissions(DecodedQuery),
              {ok, DecodedQuery, PermAndTarget};
          #tsputreq{table=Table, columns=Columns, rows=Rows} ->
              {ok, Msg, {"riak_kv.ts_put", Table}}
      end.
  
  
negative.code:     {ignore, State}.
  
  decode_query(Query) ->
      case Query of
          #tsinterpolation{base=BaseQuery, interpolations=_Interpolations} ->
              Lexed = riak_ql_lexer:get_tokens(BaseQuery),
              {ok, Parsed} = riak_ql_parser:parse(Lexed),
              Parsed
      end.
  
  decode_query_permissions(#ddl_v1{bucket=NewBucket}) ->
      {"riak_kv.ts_create_table", NewBucket};
  