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