anchor.diff:          {error, Reason} -> {error, Reason};
           _ -> fb(Ind, neItems(Res), select)
       end;
  -foldb(_, _P, {hints,<<>>}) -> empty;
  -foldb(_, _P, {opt,  <<>>}) -> empty;
  -foldb(_, _P, {into,   _ }) -> empty;
  -foldb(_, _P, {where,  {}}) -> empty;
  -foldb(_, _P, {having, {}}) -> empty;
  +foldb(_, _P, {hints,<<>>})               -> empty;
  +foldb(_, _P, {opt,  <<>>})               -> empty;
  +foldb(_, _P, {into,   _ })               -> empty;
  +foldb(_, _P, {where,  {}})               -> empty;
  +foldb(_, _P, {having, {}})               -> empty;
  +foldb(_, _P, {'hierarchical query', {}}) -> empty;
   
   foldb(Ind, _P, T) when is_binary(T); is_atom(T) -> fb(Ind, [], T);
   
  
positive.code:         false ->    [fb_coll(Ind, [], L), fb_coll(Ind, [], Op), fb_coll(Ind, [], R)]
      end;
  
  foldb(_Ind, P, Term) ->
      ?Error("Unrecognized parse tree term ~p in foldb under parent ~p~n", [Term, P]),
      {error, <<"Unrecognized parse tree term in foldb">>}.
  
  
negative.code:             end
      end;
  foldb(Ind, _P, {Sli, List}) when is_list(List) ->       %% Sli from, 'group by', 'order by'
      Res = lists:flatten([foldb(Ind+1, Sli, Li) || Li <- List]),
      case check_error(Res) of
          {error, Reason} -> {error, Reason};
          _ ->
  