anchor.diff:  
   %% AuthenticationCleartextPassword
   auth({?AUTHENTICATION_REQUEST, <<3:?int32>>}, State) ->
  -    send(State, $p, [get(password), 0]),
  +    send(State, ?PASSWORD, [get(password), 0]),
       {noreply, State};
   
   %% AuthenticationMD5Password
   auth({?AUTHENTICATION_REQUEST, <<5:?int32, Salt:4/binary>>}, State) ->
       Digest1 = hex(erlang:md5([get(password), get(username)])),
       Str = ["md5", hex(erlang:md5([Digest1, Salt])), 0],
  -    send(State, $p, Str),
  +    send(State, ?PASSWORD, Str),
       {noreply, State};
   
   auth({?AUTHENTICATION_REQUEST, <<M:?int32, _/binary>>}, State) ->
  
positive.code:     {noreply, State2};
  
  %% NoticeResponse
  on_message({$N, Data}, State) ->
      State2 = notify_async(State, {notice, pgsql_wire:decode_error(Data)}),
      {noreply, State2};
  
  %% ParameterStatus
  on_message({$S, Data}, State) ->
      [Name, Value] = pgsql_wire:decode_strings(Data),
      Parameters2 = lists:keystore(Name, 1, State#state.parameters,
                                   {Name, Value}),
      {noreply, State#state{parameters = Parameters2}};
  
  %% NotificationResponse
  on_message({$A, <<Pid:?int32, Strings/binary>>}, State) ->
      case pgsql_wire:decode_strings(Strings) of
          [Channel, Payload] -> ok;
          [Channel]          -> Payload = <<>>
  
negative.code:     {noreply, State2};
  
  %% EmptyQueryResponse
  on_message({?EMPTY_QUERY, _Bin}, State) ->
      Notice = {complete, empty},
      State2 = case command_tag(State) of
                   execute ->
  