### Question:
JdbcRecordSet implements RecordSet { @Override public List<Type> getColumnTypes() { return columnTypes; } JdbcRecordSet(JdbcClient jdbcClient, ConnectorSession session, JdbcSplit split, JdbcTableHandle table, List<JdbcColumnHandle> columnHandles); @Override List<Type> getColumnTypes(); @Override RecordCursor cursor();  }### Answer:
@Test public void testGetColumnTypes() { RecordSet recordSet = createRecordSet(ImmutableList.of( new JdbcColumnHandle("text", JDBC_VARCHAR, VARCHAR), new JdbcColumnHandle("text_short", JDBC_VARCHAR, createVarcharType(32)), new JdbcColumnHandle("value", JDBC_BIGINT, BIGINT))); assertEquals(recordSet.getColumnTypes(), ImmutableList.of(VARCHAR, createVarcharType(32), BIGINT)); recordSet = createRecordSet(ImmutableList.of( new JdbcColumnHandle("value", JDBC_BIGINT, BIGINT), new JdbcColumnHandle("text", JDBC_VARCHAR, VARCHAR))); assertEquals(recordSet.getColumnTypes(), ImmutableList.of(BIGINT, VARCHAR)); recordSet = createRecordSet(ImmutableList.of( new JdbcColumnHandle("value", JDBC_BIGINT, BIGINT), new JdbcColumnHandle("value", JDBC_BIGINT, BIGINT), new JdbcColumnHandle("text", JDBC_VARCHAR, VARCHAR))); assertEquals(recordSet.getColumnTypes(), ImmutableList.of(BIGINT, BIGINT, VARCHAR)); recordSet = createRecordSet(ImmutableList.of()); assertEquals(recordSet.getColumnTypes(), ImmutableList.of()); }