[CP] [vector] fix vector/roaringbitmap column default length
This commit is contained in:
parent
cc6ad00897
commit
e87b329756
@ -3664,6 +3664,13 @@ int ObCreateTableResolver::check_max_row_data_length(const ObTableSchema &table_
|
||||
LOG_USER_ERROR(OB_ERR_TOO_LONG_COLUMN_LENGTH, column->get_column_name(),
|
||||
ObAccuracy::MAX_ACCURACY2[is_oracle_mode][column->get_data_type()].get_length());
|
||||
} else {
|
||||
if (length <= 0) { // Temporary workaround only for array/vector/roaringbitmap types.
|
||||
if (column->is_roaringbitmap()) {
|
||||
length = ObAccuracy::DDL_DEFAULT_ACCURACY[ObRoaringBitmapType].get_length();
|
||||
} else if (column->is_collection()) {
|
||||
length = ObAccuracy::DDL_DEFAULT_ACCURACY[ObCollectionSQLType].get_length();
|
||||
}
|
||||
}
|
||||
length = min(length, max(table_schema.get_lob_inrow_threshold(), OB_MAX_LOB_HANDLE_LENGTH));
|
||||
}
|
||||
}
|
||||
|
@ -6942,6 +6942,7 @@ int ObResolverUtils::resolve_data_type(const ParseNode &type_node,
|
||||
break;
|
||||
case ObCollectionSQLTC: {
|
||||
uint64_t tenant_data_version = 0;
|
||||
length = 0;
|
||||
if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, tenant_data_version))) {
|
||||
LOG_WARN("get tenant data version failed", K(ret));
|
||||
} else if (tenant_data_version < DATA_VERSION_4_3_3_0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user