Hi all,

Our team are looking into integration of Flink with Calcite. We found that
when we set the RelRecordType to use the PEEK_FIELDS/PEEK_FIELDS_DEFAULT
name resolution policy. A "select * from Table" will yield a recursively
flatten result. For example,

Table:
  a: Int
  b: Record(f1: Int, f2: Record(f3: String, f4:Int))

"select * from Table" will return tuples of (a, b.f1, b.f2.f3, b.f2.f4)
instead of (a, b) when we use PEEK_FIELDS/PEEK_FIELDS_DEFAULT for the
RelRecordType.

Using FULLY_QUALIFIED will yield the expected result (a, b)

We found that this recursive flattening behavior was controlled by this
*kind* field in RelRecordType, which states in the documentation that it's
used for resolving fields in record types.

I am wondering if this is an expected behavior, or should we fix it? Thanks
a lot.

Shuyi



-- 
"So you have to trust that the dots will somehow connect in your future."

Reply via email to