fix datetime type default value scale bug
This commit is contained in:
@ -2681,7 +2681,7 @@ int ObDDLResolver::cast_default_value(ObObj& default_value, const ObTimeZoneInfo
|
||||
if (OB_SUCC(ret)) {
|
||||
default_value.set_number(column_schema.get_data_type(), nmb);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
ret = OB_INVALID_DEFAULT;
|
||||
LOG_USER_ERROR(OB_INVALID_DEFAULT,
|
||||
@ -2690,6 +2690,15 @@ int ObDDLResolver::cast_default_value(ObObj& default_value, const ObTimeZoneInfo
|
||||
}
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
if (default_value.get_type() == column_schema.get_data_type()
|
||||
&& (ObTimeTC == column_schema.get_data_type_class() ||
|
||||
ObDateTimeTC == column_schema.get_data_type_class())) {
|
||||
int64_t value = default_value.get_time();
|
||||
ObTimeConverter::round_datetime(column_schema.get_data_scale(), value);
|
||||
default_value.set_time_value(value);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user