Fix create index on newly added char returns checksum error

This commit is contained in:
Hongqin-Li
2024-03-15 06:46:15 +00:00
committed by ob-robot
parent 211bad80d3
commit 0a7a605792

View File

@ -4804,7 +4804,6 @@ int ObStaticEngineCG::generate_normal_tsc(ObLogTableScan &op, ObTableScanSpec &s
} }
if (OB_SUCC(ret) && spec.report_col_checksum_) { if (OB_SUCC(ret) && spec.report_col_checksum_) {
const bool is_oracle_mode = lib::is_oracle_mode();
spec.ddl_output_cids_.assign(op.get_ddl_output_column_ids()); spec.ddl_output_cids_.assign(op.get_ddl_output_column_ids());
for (int64_t i = 0; OB_SUCC(ret) && i < spec.ddl_output_cids_.count(); i++) { for (int64_t i = 0; OB_SUCC(ret) && i < spec.ddl_output_cids_.count(); i++) {
const ObColumnSchemaV2 *column_schema = NULL; const ObColumnSchemaV2 *column_schema = NULL;
@ -4815,7 +4814,7 @@ int ObStaticEngineCG::generate_normal_tsc(ObLogTableScan &op, ObTableScanSpec &s
ret = OB_ERR_COLUMN_NOT_FOUND; ret = OB_ERR_COLUMN_NOT_FOUND;
LOG_WARN("fail to get column schema", K(ret)); LOG_WARN("fail to get column schema", K(ret));
} else if (column_schema->get_meta_type().is_fixed_len_char_type() && } else if (column_schema->get_meta_type().is_fixed_len_char_type() &&
(column_schema->is_virtual_generated_column() || is_oracle_mode)) { (column_schema->is_virtual_generated_column() || !column_schema->get_orig_default_value().is_null())) {
// add flag in ddl_output_cids_ in this special scene. // add flag in ddl_output_cids_ in this special scene.
uint64_t VIRTUAL_GEN_FIX_LEN_TAG = 1ULL << 63; uint64_t VIRTUAL_GEN_FIX_LEN_TAG = 1ULL << 63;
spec.ddl_output_cids_.at(i) = spec.ddl_output_cids_.at(i) | VIRTUAL_GEN_FIX_LEN_TAG; spec.ddl_output_cids_.at(i) = spec.ddl_output_cids_.at(i) | VIRTUAL_GEN_FIX_LEN_TAG;