Description
This is to support PHOENIX-3357. Phoenix allows users to define columns in arbitrary order regardless of their column families, for example,
CREATE TABLE t
(a_string varchar not null, cf1.a integer, cf1.b varchar, col1 integer, cf2.c varchar, cf2.d integer, col2 integer
CONSTRAINT pk PRIMARY KEY (a_string))
, 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 CALCITE-1425).
2) select * from t would return a different column order.
Attachments
Issue Links
- is depended upon by
-
PHOENIX-3357 Issue with column re-ordering in column family support for Calcite-Phoenix
- Resolved
- relates to
-
CALCITE-1455 Support customized star expansion in ViewTable
- Open