docs: void setCurrentObjects(
        SessionUtil.LoginInput loginInput, SessionUtil.LoginOutput loginOutput)
    {
      this.sessionToken = loginOutput.sessionToken; // used to run the commands.
      runInternalCommand(
          "USE ROLE IDENTIFIER(?)", loginInput.getRole());
      runInternalCommand(
          "USE WAREHOUSE IDENTIFIER(?)", loginInput.getWarehouse());
      runInternalCommand(
          "USE DATABASE IDENTIFIER(?)", loginInput.getDatabaseName());
      runInternalCommand(
          "USE SCHEMA IDENTIFIER(?)", loginInput.getSchemaName());
      // This ensures the session returns the current objects and refresh
      // the local cache.
      SFBaseResultSet result = runInternalCommand("SELECT ?", "1");
  
      // refresh the current objects
      loginOutput.setSessionDatabase(this.database);
      loginOutput.setSessionSchema(this.schema);
      loginOutput.setSessionWarehouse(this.warehouse);
      loginOutput.setSessionRole(this.role);
      loginOutput.setIdToken(loginInput.getIdToken());
  
      // no common parameter is updated.
      if (result != null)
      {
        loginOutput.setCommonParams(result.parameters);
      }
    }