Dawid Wysakowicz created FLINK-37098:
----------------------------------------

             Summary: Can not select time attribute from a view
                 Key: FLINK-37098
                 URL: https://issues.apache.org/jira/browse/FLINK-37098
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Planner
    Affects Versions: 1.20.0
            Reporter: Dawid Wysakowicz
            Assignee: Dawid Wysakowicz
             Fix For: 2.0.0, 1.20.2


Unfortunately the solution in [FLINK-36883] is not fully functional, because of 
a check in {{SqlToRelConverter}}. If the time attribute should be returned from 
a query using such a view it will fail with:

{code}
Conversion to relational algebra failed to preserve datatypes:
validated type:
RecordType(VARCHAR(2147483647) CHARACTER SET "UTF-16LE" NOT NULL order_id, 
INTEGER customer_id, BIGINT product_id, TIMESTAMP_WITH_LOCAL_TIME_ZONE(3) NOT 
NULL $rowtime) NOT NULL
converted type:
RecordType(VARCHAR(2147483647) CHARACTER SET "UTF-16LE" NOT NULL order_id, 
INTEGER customer_id, BIGINT product_id, TIMESTAMP_LTZ(3) *ROWTIME* NOT NULL 
$rowtime) NOT NULL
rel:
LogicalProject(order_id=[$0], customer_id=[$1], product_id=[$2], $rowtime=[$3])
  LogicalProject(order_id=[$0], customer_id=[$1], product_id=[$6], 
$rowtime=[$5])
    LogicalCorrelate(correlation=[$cor0], joinType=[inner], 
requiredColumns=[{2}])
      LogicalWatermarkAssigner(rowtime=[$rowtime], 
watermark=[SOURCE_WATERMARK()])
        LogicalProject(order_id=[$0], customer_id=[$1], product_ids=[$2], 
price=[$3], order_details=[$4], $rowtime=[CAST($5):TIMESTAMP_LTZ(3) *ROWTIME* 
NOT NULL])
          LogicalTableScan(table=[[prod, marketplace, orders, 
metadata=[$rowtime]]])
      LogicalProject(product_id=[$0])
        Uncollect
          LogicalProject(product_ids=[$cor0.product_ids])
            LogicalValues(tuples=[[{ 0 }]])
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to