Fix RecordValue dateOnly and timeOnly casting
and Gval nil DateTime value
This commit is contained in:
committed by
Mumbi Francis
parent
0bf54d0ce4
commit
031374e88b
@@ -293,6 +293,11 @@ func composeRecordValuesGValSelector(res *types.Record, k string) (interface{},
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// return nil time.Time for date and time fields
|
||||
if field != nil && (field.IsDateOnly() || field.IsDateTime() || field.IsTimeOnly()) {
|
||||
return expr.NewDateTime(nil)
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
|
||||
case len(vv) == 1 && !multiValueField:
|
||||
|
||||
@@ -79,6 +79,20 @@ func (v RecordValue) Cast(f *ModuleField) (interface{}, error) {
|
||||
}
|
||||
return cast.ToTimeE(v.Value)
|
||||
|
||||
case f.IsDateOnly():
|
||||
if v.Value == "" {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return time.Parse(DateOnlyLayout, v.Value)
|
||||
|
||||
case f.IsTimeOnly():
|
||||
if v.Value == "" {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return time.Parse(TimeOnlyLayout, v.Value)
|
||||
|
||||
case f.IsBoolean():
|
||||
return expr.CastToBoolean(v.Value)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user