anchor.diff:  
   sqlb_loop(_, [], _, _, Private) -> Private;
   sqlb_loop(PrintParseTree, [Sql|Rest], N, Limit, Private) ->
  -    case re:run(Sql, "(select\r|SELECT\r)", [global, {capture, [1], list}]) of
  +    case re:run(Sql, "select", [global, {capture, all, list}, caseless]) of
           nomatch ->
               sqlb_loop(PrintParseTree, Rest, N+1, Limit, Private);
           _ ->
  
positive.code:         {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(Ind, _P, T) when is_binary(T); is_atom(T) -> fb(Ind, [], T);
  
  
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};
          _ ->
  