### Question:
ResultSetRelation implements Relation { @Override public RelationalInput open() throws InputOpenException { return open(query); }  @Override Schema getSchema(); @Override long getSize(); @Override RelationalInput open(); @Override void hash(Hasher hasher);  }### Answer:
@Test public void testOpen() throws SQLException, InputCloseException, InputOpenException { try (Statement statement = connection.createStatement()) { String query = "SELECT * FROM Person"; Relation relation = new ResultSetRelation(statement, query); try (RelationalInput input = relation.open()) { Row bob = input.iterator().next(); assertThat(bob.get(NAME)).hasValue("Bob"); } try (RelationalInput input = relation.open()) { Row bob = input.iterator().next(); assertThat(bob.get(NAME)).hasValue("Bob"); } } }