fix bug, dump forzen sstable failed due to unequal value type

This commit is contained in:
AnimationFan 2024-11-20 17:45:06 +00:00 committed by ob-robot
parent 42e535f7f5
commit 188adc9c0d

View File

@ -220,7 +220,13 @@ public:
const common::ObObjMeta &schema_meta = columns.at(i).col_type_;
if (common::ObNullType != value.get_type()
&& common::ObExtendType != value.get_type()
&& schema_meta.get_type() != value.get_type()) {
&& schema_meta.get_type() != value.get_type()
&& !(lib::is_mysql_mode()
&& (common::is_match_alter_integer_column_online_ddl_rules(schema_meta, value.get_meta())
|| common::is_match_alter_integer_column_online_ddl_rules(value.get_meta(), schema_meta))) // small integer -> big integer; mysql mode;
&& !(lib::is_oracle_mode()
&& ((common::ObNumberType == schema_meta.get_type() && common::ObNumberFloatType == value.get_type())
|| (common::ObNumberType == value.get_type() && common::ObNumberFloatType == schema_meta.get_type())))) { // number -> float; oracle mode;
TRANS_LOG(WARN, "data/schema type does not match",
"index", i,
"data_type", value.get_type(),