anchor.diff:  
   -include("pgsql.hrl").
   -include("pgsql_binary.hrl").
  +
  +%% Commands defined as per this page:
  +%% http://www.postgresql.org/docs/9.2/static/protocol-message-formats.html
  +
  +%% Commands
  +-define(BIND, $B).
  +-define(CLOSE, $C).
  +-define(DESCRIBE, $D).
  +-define(EXECUTE, $E).
  +-define(FLUSH, $H).
  +-define(PARSE, $P).
  +-define(SIMPLEQUERY, $Q).
  +-define(AUTHENTICATION_REQUEST, $R).
  +-define(SYNC, $S).
  +
  +%% Parameters
  +
  +-define(PREPARED_STATEMENT, $S).
  +-define(PORTAL, $P).
  +
  +%% Responses
  +
  +-define(PARSE_COMPLETE, $1).
  +-define(BIND_COMPLETE, $2).
  +-define(CLOSE_COMPLETE, $3).
  +-define(COMMAND_COMPLETE, $C).
  +-define(DATA_ROW, $D).
  +-define(CANCELLATION_KEY, $K).
  +-define(NO_DATA, $n).
  +-define(PORTAL_SUSPENDED, $s).
  +-define(PARAMETER_DESCRIPTION, $t).
  +-define(ROW_DESCRIPTION, $T).
  +-define(READY_FOR_QUERY, $Z).
   
   -record(state, {mod,
                   sock,
  
positive.code:     {noreply, State2};
  
  %% CloseComplete
  on_message({$3, <<>>}, State) ->
      State2 = case command_tag(State) of
                   equery ->
                       State;
  
negative.code:     on_message(Other, State).
  
  %% ParseComplete
  on_message({?PARSE_COMPLETE, <<>>}, State) ->
      {noreply, State};
  
  %% ParameterDescription
  on_message({?PARAMETER_DESCRIPTION, <<_Count:?int16, Bin/binary>>}, State) ->
      Types = [pgsql_types:oid2type(Oid) || <<Oid:?int32>> <= Bin],
      State2 = notify(State#state{types = Types}, {types, Types}),
      {noreply, State2};
  
  %% RowDescription
  on_message({?ROW_DESCRIPTION, <<Count:?int16, Bin/binary>>}, State) ->
      Columns = pgsql_wire:decode_columns(Count, Bin),
      Columns2 =
          case command_tag(State) of
  