anchor.diff:      {C4, Stmt3};
   ready_fetch_segment(Conn, Stmt) ->
       {Conn, Stmt}.
  +
  +fetchrow(Conn, Stmt) ->
  +    Rows = Stmt#stmt.rows,
  +    case Rows of
  +    [] ->
  +        {nil, Conn, Stmt};
  +    _ ->
  +        [R | Rest] = Rows,
  +        {ConvertedRow, C2} = efirebirdsql_op:convert_row(Conn, Stmt#stmt.xsqlvars, R),
  +        {ConvertedRow, C2, Stmt#stmt{rows=Rest}}
  +    end.
   
   puts_timezone_data(TimeZoneNameById, TimeZoneIdByName, {nil, Conn, Stmt}) ->
       {TimeZoneNameById, TimeZoneIdByName, Conn, Stmt};
  
positive.code:     columns([], Stmt#stmt.xsqlvars).
  
  
  %% Execute & Fetch
  
  execute(Conn, Stmt, Params, isc_info_sql_stmt_exec_procedure) ->
      C2 = efirebirdsql_socket:send(Conn,
  
negative.code: execute(Conn, Stmt) ->
      execute(Conn, Stmt, []).
  
  
  %% Fetch
  
  fetchone(Conn, Stmt) ->
      {C2, S2} = ready_fetch_segment(Conn, Stmt),
      fetchrow(C2, S2).
  
  fetchall(Rows, {nil, Conn, Stmt}) ->
      {ok, lists:reverse(Rows), Conn, Stmt};
  