[
https://issues.apache.org/jira/browse/CALCITE-5814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18047833#comment-18047833
]
Zhen Chen commented on CALCITE-5814:
------------------------------------
MAP[1,2] = MAP[2,3] must be FALSE, because each MAP contains only one key-value
pair. But as I mentioned above, MAP(3,4,1,2) = MAP(1,2,3,4) returns FALSE in
DuckDB and ClickHouse. This is exactly why the ordering issue is being
discussed. I have not yet verified Spark's behavior. If you think Spark is a
more valuable reference, I can check it. Currently, the two databases mentioned
above have been verified to compare without sorting. However, Mihai and his
team’s system implementation differs—their semantics compare after sorting. So,
which semantics do you think Calcite should adopt?
> Simplify 'a = MAP[1,2] AND a = MAP[2,3]' to 'FALSE'
> ---------------------------------------------------
>
> Key: CALCITE-5814
> URL: https://issues.apache.org/jira/browse/CALCITE-5814
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.34.0
> Reporter: Runkang He
> Assignee: Runkang He
> Priority: Major
>
> Currently the following expression with const map literal is not simplified
> to FALSE:
> {code:sql}
> a = MAP[1,2] AND a = MAP[2,3]
> {code}
> Since the map type is an extension to the SQL standard, it's not clear
> whether it is comparable or not. If comparable, it would be nice to simplify
> above expression to FALSE.
> Welcome to discuss or provide some information.
> Note that this Jira is inspired from discussion of
> [CALCITE-5733|https://issues.apache.org/jira/browse/CALCITE-5733].
--
This message was sent by Atlassian Jira
(v8.20.10#820010)