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:         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};
          _ ->
  