enhance(types):增加区间类型中关于空区间的判断。

This commit is contained in:
徐涛 2023-06-27 17:00:44 +08:00
parent 1db60a0e4f
commit b7eaaffc3a
3 changed files with 14 additions and 0 deletions

View File

@ -134,3 +134,8 @@ func (dr DateRange) SafeLower() Date {
return MinDate()
}
}
func (dr DateRange) IsEmptyOrWild() bool {
return (dr.LowerType == pgtype.Unbounded && dr.UpperType == pgtype.Unbounded) ||
(dr.LowerType == pgtype.Empty && dr.UpperType == pgtype.Empty)
}

View File

@ -112,3 +112,8 @@ func (dr *DateTimeRange) SetUpperUnbounded() {
dr.Range.Upper = MaxDateTime()
dr.Range.UpperType = pgtype.Unbounded
}
func (dr DateTimeRange) IsEmptyOrWild() bool {
return (dr.Range.LowerType == pgtype.Unbounded && dr.Range.UpperType == pgtype.Unbounded) ||
(dr.Range.LowerType == pgtype.Empty || dr.Range.UpperType == pgtype.Empty)
}

View File

@ -15,6 +15,10 @@ type ToString interface {
ToString() string
}
type CheckEmptyOrWild interface {
IsEmptyOrWild() bool
}
// 将一个字符串拆解解析为一个 Postgresql 范围类型的值。
func destructureToRange[T any, PT interface {
Parse