[
https://issues.apache.org/jira/browse/FLINK-40933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yaoxuan Wu updated FLINK-40933:
-------------------------------
Fix Version/s: 2.4.0
(was: 2.3.0)
> BETWEEN with equal bounds drops trailing spaces of the bound
> ------------------------------------------------------------
>
> Key: FLINK-40933
> URL: https://issues.apache.org/jira/browse/FLINK-40933
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Reporter: Yaoxuan Wu
> Priority: Major
> Fix For: 2.4.0
>
>
> {code:java}
> SELECT s FROM (VALUES ('a'), ('a ')) AS t(s) WHERE s BETWEEN 'a ' AND 'a ';
> -- Flink: 'a' expected: 'a 'SELECT s FROM (VALUES ('a'), ('a ')) AS
> t(s) WHERE s = 'a ';
> -- 'a ' (correct)SELECT s FROM (VALUES (''), (' ')) AS t(s) WHERE s >= ' '
> AND s <= ' ';
> -- Flink: '' expected: ' ' {code}
> When both bounds of a range are the same string ending in spaces, the range
> is simplified to an equality and the trailing spaces are dropped:
> {{=}} and {{IN}} keep the spaces ({{{}s = 'a '{}}} matches only {{{}'a
> '{}}}), so Flink itself compares these strings without padding. Only the
> simplified range trims them, so the query drops the row that matches and
> returns one that does not.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)