xuyang created FLINK-34034:
------------------------------
Summary: When kv hint and list hint handle duplicate query hints,
the results are different.
Key: FLINK-34034
URL: https://issues.apache.org/jira/browse/FLINK-34034
Project: Flink
Issue Type: Bug
Reporter: xuyang
When there are duplicate keys in the kv hint, calcite will overwrite the
previous value with the later value.
{code:java}
@TestTemplate
def test(): Unit = {
val sql =
"SELECT /*+ LOOKUP('table'='D', 'retry-predicate'='lookup_miss',
'retry-strategy'='fixed_delay', 'fixed-delay'='10s','max-attempts'='3',
'max-attempts'='4') */ * FROM MyTable AS T JOIN LookupTable " +
"FOR SYSTEM_TIME AS OF T.proctime AS D ON T.a = D.id"
util.verifyExecPlan(sql)
} {code}
{code:java}
Calc(select=[a, b, c, PROCTIME_MATERIALIZE(proctime) AS proctime, rowtime, id,
name, age])
+- LookupJoin(table=[default_catalog.default_database.LookupTable],
joinType=[InnerJoin], lookup=[id=a], select=[a, b, c, proctime, rowtime, id,
name, age], retry=[lookup_miss, FIXED_DELAY, 10000ms, 4])
+- DataStreamScan(table=[[default_catalog, default_database, MyTable]],
fields=[a, b, c, proctime, rowtime])
{code}
But when a list hint is duplicated (such as a join hint), we will choose the
first one as the effective hint.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)