anchor.diff:                           [Col#column{format = pgsql_wire:format(
                                                   Col#column.type)}
                             || Col <- Columns],
  -                     reply(State,
  -                           {ok, State#state.statement#statement{
  -                                              columns = Columns2}});
  +                     State2 = State#state{columns = Columns2},
  +                     reply(State2, {ok, make_statement(State2)});
                    describe_portal ->
                        reply(State, {ok, Columns})
                end,
  -    {noreply, State2};
  +    {noreply, State3};
   
   %% NoData
   on_message({$n, <<>>}, State) ->
       State2 = case command_tag(State) of
                    C when C == parse; C == describe_statement ->
  -                     reply(State,
  -                           {ok, State#state.statement#statement{columns= []}});
  +                     reply(State, {ok, make_statement(State)});
                    describe_portal ->
                        reply(State, {ok, []})
                end,
  
positive.code:     {{From, Ref}, _} = queue:get(Q),
      From ! {Ref, Message},
      State#state{queue = queue:drop(Q),
                  statement = undefined,
                  columns = [],
                  rows = [],
                  results = []}.
  
  add_result(State = #state{results = Results}, Result) ->
      State#state{statement = undefined,
                  columns = [],
                  rows = [],
                  results = [Result | Results]}.
  
negative.code:         {_, {squery, _}} ->
              Columns
      end.
  
  make_statement(State) ->
      #state{queue = Q, types = Types, columns = Columns} = State,
      Name = case queue:get(Q) of
                 {_, {parse, N, _, _}} -> N;
                 {_, {describe_statement, N}} -> N
             end,
      #statement{name = Name, types = Types, columns = Columns}.
  
  sync_required(#state{queue = Q} = State) ->
      case queue:is_empty(Q) of
  