This is to support
PHOENIX-3357. Phoenix allows users to define columns in arbitrary order regardless of their column families, for example,
, in which columns from the same family (i.e., col1 and col2 from the default column family) are not necessarily adjacent to each other.
As a result, when we return row type for a PhoenixTable, we re-order the columns in order to fit them into the two-level column structure. This works fine in most cases except when:
1) "upsert into t ..." would require a different row type even after flattening (we do not have flattening so far, still need to implement
2) select * from t would return a different column order.