Newest patch offers a ResultSetMetaData implementation that is more true to the JDBC spec. The ResultSetMetaData interface is limited in that it only exposes type information for column values. I've exposed CassandraResultSetMetaData to remedy this. It can be accessed this way:
ResultSet rs = stmt.executeQuery("select ...");
ResultSetMetaData md = rs.getMetaData();
CassandraResultSetMetaData cmd = md.unwrap(CassandraResultSetMetaData.class);
CassandraResultSetMetaData is a long name to type out. I'm not opposed to renaming it CassandraResultMetaData or something else shorter.
One aspect of CassandraResultSetMetaData that is different than the traditional ResultSetMetaData is that it answers questions about the current row and not the entire query (getColumnCount(), etc.), although type information (class names, etc.) will be constant for every row in a result set.
When the time comes, I think CassandraResultSetMetaData will be the appropriate place to expose decoded and typed row keys.