INTERVAL 分片算法在超出 datetime 限制的单边范围上抛出 IllegalArgumentException

作者: thswlsqls创建于 2026年9月17日更新于 2026年9月17日

□ 错误报告

你用的是哪个版本的ShardingSphere? 大师 @ 101c3d56ccd

你用的是哪个项目? 硬盘-JDBC还是硬盘-Proxy? 两者

预期行为 在“日期-时间-下限”/“日期-时间-更新”路线以外的“时间-时间-更新”栏目上,如等同的封闭范围:空的,或相重叠的分档表。

实际行为 Raw `java.lang.Illegal Argument Exception: 无效范围: [2021-06-01T00:00. 2021-05-01T00:00] 从瓜瓦返回,而同一个封闭范围则返回一个空集和"AUTO INTERVAL"夹子而无需投掷.

理由分析(如果可以) IntervalShardingAlgorithm.has Intersection ()'(地貌/硬化/核心',第160-168行)取代了缺失终点的日期-下'/日期-时间-上'并称为`Range.range (lower,.,上,.)';窗外下'上"和Guava拒绝。 替换还使QQ日期时间更新器"变成了一个空域,默默地跳过上一个槽表.

QQ 复制行为的步骤, 如: SQL 要执行, 硬化规则配置, 当例外发生时等.

  1. 时间-平面=yyy-MM-dd HH:mm:s',日期-平面=2021-06-01:00',日期-平面=2021-07-31 00:00',硬-平面-平面=yyy-MMd',`日期-平面-平面=2'。
  2. SELECT * from t order Where Create time < 2021-05-01:00:00:00';create time * 2021-08-02:00:00'-'`法律辩护例外'。
  3. 由于“日期时间更新”省略(启动时间的默认),“创建 时间>”“启动后”也失败。

· 复制这个问题的示例代码(例如GitHub链接)。 不详

内容来源: apache/shardingsphere