anchor.diff:  			"but query has a bucket of ~p~n", [B1, B2]),
       {false, {ddl_mismatch, lists:flatten(Msg)}}.
   
  +are_filters_valid(#ddl_v1{}, []) ->
  +    true;
   are_filters_valid(#ddl_v1{} = DDL, Filters) ->
       Fields = extract_fields(Filters),
       are_selections_valid(DDL, Fields, ?CANBEBLANK).
  
positive.code: 				    selections = S,
  				    filters    = F}) ->
      ValidSelection = are_selections_valid(DDL, S, ?CANTBEBLANK),
      ValidFilters = are_filters_valid(DDL, F),
      case {ValidSelection, ValidFilters} of
  	{true, true} -> true;
  	_            -> {false, [
  				 {are_selections_valid, ValidSelection},
  				 {are_filters_valid, ValidFilters}
  				]}
      end;
  is_query_valid(#ddl_v1{bucket = B1}, #riak_kv_li_index_v1{bucket = B2}) ->
  
negative.code:     PK = #partition_key_v1{ast = [
  				  #param_v1{name = [Name1]},
  				  #hash_fn_v1{mod  = ?MODULE,
  					      fn   = mock_partition_fn,
  					      args = [
  						      #param_v1{name = [Name2]},
  						      15,
  