anchor.diff:              <<"select rdb$time_zone_id, rdb$time_zone_name from rdb$time_zones">>, C5, Stmt4),
           {ok, C7, Stmt6} = execute(C5, Stmt5),
           {TimeZoneNameById2, TimeZoneIdByName2, C8, Stmt7} = puts_timezone_data(TimeZoneNameById, TimeZoneIdByName, fetchone(C7, Stmt6)),
  -        {ok, _, _} = free_statement(C8, Stmt7, drop),
  +        {ok, _} = free_statement(C8, Stmt7, drop),
           NewConn = C8
       end,
       {ok, NewConn#conn{timezone_name_by_id=TimeZoneNameById2, timezone_id_by_name=TimeZoneIdByName2}}.
  
positive.code:     TimeZoneIdByName = maps:new(),
      case Count of
      0 ->
          {ok, _, _} = free_statement(C5, Stmt4, drop),
          NewConn = C5,
          TimeZoneNameById2 = TimeZoneNameById,
          TimeZoneIdByName2 = TimeZoneIdByName;
  
negative.code:         efirebirdsql_op:op_prepare_statement(TransHandle, StmtHandle, Sql)),
      efirebirdsql_op:get_prepare_statement_response(Conn, S2).
  
  -spec free_statement(conn(), stmt(), atom()) -> {ok, stmt()} | {error, integer(), binary()}.
  free_statement(Conn, Stmt, Type) ->
      efirebirdsql_socket:send(Conn,
          efirebirdsql_op:op_free_statement(Stmt#stmt.stmt_handle, Type)),
      case efirebirdsql_op:get_response(Conn) of
      {op_response, _, _} -> {ok, Stmt#stmt{closed=true}};
      {error, ErrNo, Msg} -> {error, ErrNo, Msg}
      end.
  
  -spec columns(stmt()) -> list().
  